Frida Tutorial
Mafunzo ya Frida
Mshauri wa tuzo za mdudu: Jisajili kwa Intigriti, jukwaa la tuzo za mdudu la malipo la juu lililoanzishwa na wadukuzi, kwa wadukuzi! Jiunge nasi kwenye https://go.intigriti.com/hacktricks leo, na anza kupata tuzo hadi $100,000!
Usanidi
Sanidi zana za frida:
Pakua na usakinishe kwenye kifaa cha android seva ya frida (Pakua toleo jipya). Mstari mmoja wa kuwasha upya adb kwa mode ya root, kuunganisha kwenye kifaa, kupakia frida-server, kutoa ruhusa za utekelezaji na kuendesha kwa nyuma:
Angalia kama inavyofanya kazi:
Mafunzo
Kutoka: https://medium.com/infosec-adventures/introduction-to-frida-5a3f51595ca1 APK: https://github.com/t0thkr1s/frida-demo/releases Msimbo wa Chanzo: https://github.com/t0thkr1s/frida-demo
Fuata kiungo hiki kusoma.
Kutoka: https://11x256.github.io/Frida-hooking-android-part-2/ (Sehemu 2, 3 & 4) APKs na Msimbo wa Chanzo: https://github.com/11x256/frida-android-examples
Fuata kiungo hiki kusoma.
Kutoka: https://joshspicer.com/android-frida-1 APK: https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_01/UnCrackable-Level1.apk
Fuata kiungo hiki kusoma.
Unaweza kupata skripti zaidi za Frida hapa: https://codeshare.frida.re/
Mifano ya Haraka
Kuita Frida kutoka kwenye mstari wa amri
Skripti ya Msingi ya Python
Skripti Rahisi ya Python
Kufunga kazi bila vigezo
Funga kazi a()
ya darasa sg.vantagepoint.a.c
Kufunga java exit()
exit()
Katika programu za Android, exit()
ni njia ya kumaliza programu. Kwa kufunga njia hii, tunaweza kuzuia programu isifunge kwa njia ya kawaida.
Frida inaruhusu kufunga njia hii kwa kuingilia kati kwenye kificho cha Java na kubadilisha matokeo ya wito wa exit()
.
Hatua za kufunga exit()
exit()
Anza kwa kuanzisha mazingira ya Frida kwenye kifaa chako cha Android.
Tumia kifaa chako cha Android kuanzisha mawasiliano na programu unayotaka kufunga
exit()
.Tumia Frida kuchunguza kificho cha Java kinachohusiana na
exit()
.Tumia Frida kubadilisha matokeo ya wito wa
exit()
ili kuzuia programu isifunge.
Mifano ya Kubadilisha exit()
exit()
Kubadilisha Matokeo ya exit()
kuwa 0
exit()
kuwa 0Kubadilisha Matokeo ya exit()
kuwa 1
exit()
kuwa 1Kwa kufuata hatua hizi, unaweza kufunga exit()
kwenye programu yako ya Android na kubadilisha matokeo ya wito wa exit()
kulingana na mahitaji yako.
Frida Tutorial: Kufunga .onStart()
& .onCreate()
ya MainActivity
.onStart()
& .onCreate()
ya MainActivityKatika mafunzo haya, tutajifunza jinsi ya kufunga .onStart()
na .onCreate()
ya MainActivity katika programu ya Android kwa kutumia Frida.
Hatua ya 1: Kuandaa Mazingira
Kabla ya kuanza, hakikisha kuwa umeweka mazingira yako ya maendeleo ya Android na Frida. Unaweza kufuata hatua zilizoelezwa katika mafunzo haya ili kuweka mazingira yako.
Hatua ya 2: Kuandika Script ya Frida
Tutahitaji kuandika script ya Frida ili kufunga .onStart()
na .onCreate()
ya MainActivity. Hapa kuna script ya mfano:
Hatua ya 3: Kutekeleza Script ya Frida
Sasa tunahitaji kutekeleza script ya Frida kwenye programu ya Android. Hapa kuna hatua za kufuata:
Anza programu yako ya Android kwenye kifaa chako cha majaribio.
Fungua terminal na nenda kwenye saraka ambapo script ya Frida imehifadhiwa.
Chapa amri ifuatayo kutekeleza script ya Frida:
Kumbuka kubadilisha com.example.app
na jina la pakiti la programu yako ya Android.
Hatua ya 4: Kupima Matokeo
Baada ya kutekeleza script ya Frida, unapaswa kuona ujumbe "onStart() imefungwa!" na "onCreate() imefungwa!" kwenye terminal. Hii inathibitisha kuwa .onStart()
na .onCreate()
ya MainActivity zimefungwa.
Hitimisho
Kwa kufuata hatua hizi, unaweza kufunga .onStart()
na .onCreate()
ya MainActivity katika programu yako ya Android kwa kutumia Frida. Hii inaweza kuwa na manufaa katika uchunguzi wa usalama na upimaji wa programu.
Kufunga .onCreate()
ya Android
.onCreate()
ya AndroidKatika maendeleo ya programu za Android, .onCreate()
ni njia muhimu sana ambayo huitwa wakati shughuli (activity) ya Android inaundwa. Kwa kufunga .onCreate()
, tunaweza kuingilia kati mchakato wa kuanzisha shughuli na kufanya mabadiliko fulani.
Frida ni kifaa cha kuvamia ambacho kinaweza kutumika kufunga .onCreate()
ya Android. Hapa kuna hatua za kufuata:
Tumia Frida kuanzisha mchakato wa programu ya Android unayotaka kufunga
.onCreate()
yake.Tumia Frida kusoma na kuchambua kificho cha programu ili kupata jina la darasa na jina la njia ya
.onCreate()
.Tumia Frida kuunda skripti ya JavaScript ambayo itaingilia kati
.onCreate()
na kufanya mabadiliko unayotaka.Tumia Frida kutekeleza skripti ya JavaScript kwenye mchakato wa programu ya Android.
Hapa kuna mfano wa skripti ya JavaScript ambayo inafunga .onCreate()
ya shughuli ya Android:
Kwa kutekeleza skripti hii ya JavaScript na Frida, utaweza kufunga .onCreate()
ya shughuli ya Android na kufanya mabadiliko unayotaka.
Kufunga kazi na vigezo na kupata thamani
Kufunga kazi ya kufichua. Chapisha kuingia, ita kazi halisi ya kufichua kuingia na hatimaye, chapisha data wazi:
Kufunga kazi na kuzipiga kwa kutumia kuingiza kwetu
Funga kazi ambayo inapokea herufi na ipige kazi hiyo kwa kutumia herufi nyingine (kutoka hapa)
Kupata kitu kilichoundwa tayari cha darasa
Ikiwa unataka kuchukua sifa fulani ya kitu kilichoundwa, unaweza kutumia hii.
Katika mfano huu utaona jinsi ya kupata kitu cha darasa my_activity na jinsi ya kuita kazi .secret() ambayo itachapisha sifa ya faragha ya kitu:
Mafunzo mengine ya Frida
Mshauri wa tuzo ya mdudu: Jisajili kwa Intigriti, jukwaa la tuzo za mdudu la malipo lililoanzishwa na wadukuzi, kwa wadukuzi! Jiunge nasi kwenye https://go.intigriti.com/hacktricks leo, na anza kupata tuzo hadi $100,000!
Last updated