5.1 KiB
Kugeuza Maktaba za Asili
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako inatangazwa katika HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa HackTricks na HackTricks Cloud repos za github.
Kwa habari zaidi angalia: https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html
Programu za Android zinaweza kutumia maktaba za asili, kawaida zimeandikwa kwa C au C++, kwa kazi zenye utendaji mkubwa. Waundaji wa programu hasidi pia hutumia maktaba hizi, kwani ni ngumu kuzirekebisha kuliko kanuni ya DEX. Sehemu hii inasisitiza ujuzi wa kurekebisha nyuma uliozingatia Android, badala ya kufundisha lugha za mkutano. Toleo la ARM na x86 la maktaba linapatikana kwa utangamano.
Mambo Muhimu:
-
Maktaba za Asili katika Programu za Android:
-
Hutumiwa kwa kazi zenye utendaji mkubwa.
-
Zimeandikwa kwa C au C++, hivyo kurekebisha nyuma kunakuwa changamoto.
-
Zinapatikana katika muundo wa
.so
(kitu kinachoshirikiwa), kama vile programu za Linux. -
Waundaji wa programu hasidi wanapendelea kanuni ya asili ili kufanya uchambuzi kuwa mgumu zaidi.
-
Java Native Interface (JNI) & Android NDK:
-
JNI inaruhusu njia za Java zitekelezwe kwa kutumia kanuni ya asili.
-
NDK ni seti maalum ya zana za Android za kuandika kanuni ya asili.
-
JNI na NDK hufanya mawasiliano kati ya kanuni ya Java (au Kotlin) na maktaba za asili.
-
Kupakia na Kutekeleza Maktaba:
-
Maktaba hupakiwa kwenye kumbukumbu kwa kutumia
System.loadLibrary
auSystem.load
. -
JNI_OnLoad inatekelezwa wakati wa kupakia maktaba.
-
Njia za asili zilizotangazwa katika Java zinaunganishwa na kazi za asili, kuruhusu utekelezaji.
-
Kuunganisha Njia za Java na Kazi za Asili:
-
Unganishaji wa Kudumu: Majina ya kazi katika maktaba za asili yanalingana na muundo maalum, kuruhusu kuunganisha moja kwa moja.
-
Unganishaji wa Stesheni: Hutumia
RegisterNatives
kwa unganishaji, hutoa uwezo wa kubadilisha majina na muundo wa kazi. -
Zana na Mbinu za Kurekebisha Nyuma:
-
Zana kama Ghidra na IDA Pro husaidia kuchambua maktaba za asili.
-
JNIEnv
ni muhimu kwa kuelewa kazi na mwingiliano wa JNI. -
Zoezi zinapatikana ili kujifunza kupakia maktaba, kuunganisha njia, na kutambua kazi za asili.
Vyanzo:
-
Kujifunza Mkutano wa ARM:
-
Inapendekezwa kwa uelewa wa kina wa muundo wa msingi.
-
Misingi ya Mkutano wa ARM kutoka Azeria Labs inapendekezwa.
-
Hati za JNI & NDK:
-
Kurekebisha Nyuma Maktaba za Asili:
-
Kurekebisha Nyuma Maktaba za Asili za Android Kwa Kutumia JEB Decompiler
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako inatangazwa katika HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa HackTricks na HackTricks Cloud repos za github.