4.4 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 ikionekana kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata bidhaa rasmi za 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 PRs kwa HackTricks na HackTricks Cloud repos za github.
WhiteIntel
WhiteIntel ni injini ya utaftaji inayotumia dark-web ambayo inatoa huduma za bure kuchunguza ikiwa kampuni au wateja wake wameathiriwa na malware za wizi.
Lengo kuu la WhiteIntel ni kupambana na utekaji wa akaunti na mashambulio ya ransomware yanayotokana na malware za wizi wa habari.
Unaweza kutembelea tovuti yao na kujaribu injini yao bure kwa:
{% embed url="https://whiteintel.io" %}
Kwa habari zaidi angalia: https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html
Programu za Android zinaweza kutumia maktaba za asili, kwa kawaida zilizoandikwa kwa C au C++, kwa kazi za msingi za utendaji. Wabunifu wa programu hasidi pia hutumia maktaba hizi, kwani ni ngumu kuzigeuza kuliko bytecode ya DEX. Sehemu hii inasisitiza ujuzi wa kugeuza maktaba za asili zilizobinafsishwa kwa Android, badala ya kufundisha lugha za mkutano. Toleo la ARM na x86 la maktaba hutolewa kwa utangamano.
Mambo Muhimu:
-
Maktaba za Asili katika Programu za Android:
-
Hutumiwa kwa kazi zenye mahitaji makubwa ya utendaji.
-
Zimeandikwa kwa C au C++, hivyo kugeuza ni changamoto.
-
Zinapatikana katika muundo wa
.so
(faili za kushirikishwa), sawa na programu za Linux. -
Wabunifu wa malware wanapendelea nambari za asili ili kufanya uchambuzi kuwa mgumu.
-
Kiolesura cha Java Native (JNI) & NDK ya Android:
-
JNI inaruhusu njia za Java kutekelezwa kwa nambari za asili.
-
NDK ni seti ya zana maalum ya Android kutunga nambari za asili.
-
JNI na NDK hupitisha nambari za 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 kwa Java zinahusishwa 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 uunganishaji wa moja kwa moja.
-
Unganishaji wa Stesheni: Hutumia
RegisterNatives
kwa uunganishaji, kutoa mabadiliko katika majina ya kazi na muundo. -
Zana na Mbinu za Kugeuza:
-
Zana kama Ghidra na IDA Pro husaidia kuchambua maktaba za asili.
-
JNIEnv
ni muhimu kwa kuelewa njia za JNI na mwingiliano. -
Mazoezi yanatolewa kufanya mazoezi ya 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:
-
Kupeleleza Maktaba za Asili:
-
Kupeleleza Maktaba za Asili za Android Kwa Kutumia JEB Decompiler