


Langkah-langkah untuk membalikkan WhatsApp menggunakan gabungan kaedah dinamik dan statik dalam Java
Gabungan dinamik dan statik WhatsApp terbalik
Semua beban berlebihan kaedah 0x01.hook
Dalam artikel yang membawa anda memahami intipati Frida, kami telah mempelajari cara melebihkan Ke proses, mari kita semak kod dahulu:
my_class.fun.overload("int" , "int").implementation = function(x,y){ my_class.fun.overload("java.lang.String").implementation = function(x){
Maksudnya, kita perlu membina tatasusunan terlampau beban dan mencetak setiap lebihan beban. Mari pergi terus ke kod:
//目标类 var hook = Java.use(targetClass); //重载次数 var overloadCount = hook[targetMethod].overloads.length; //打印日志:追踪的方法有多少个重载 console.log("Tracing " + targetClassMethod + " [" + overloadCount + " overload(s)]"); //每个重载都进入一次 for (var i = 0; i <p> Dengan cara ini, kami telah memproses semua lebihan kaedah, dan kemudian menghitung semua kaedah. </p><h4 id="Semua-kaedah-kelas-x-hook">Semua kaedah kelas 0x02.hook</h4><p> masih dimuat naik terus ke kod: </p><pre class="brush:php;toolbar:false">function traceClass(targetClass) { //Java.use是新建一个对象哈,大家还记得么? var hook = Java.use(targetClass); //利用反射的方式,拿到当前类的所有方法 var methods = hook.class.getDeclaredMethods(); //建完对象之后记得将对象释放掉哈 hook.$dispose; //将方法名保存到数组中 var parsedMethods = []; methods.forEach(function(method) { parsedMethods.push(method.toString().replace(targetClass + ".", "TOKEN").match(/\sTOKEN(.*)\(/)[1]); }); //去掉一些重复的值 var targets = uniqBy(parsedMethods, JSON.stringify); //对数组中所有的方法进行hook,traceMethod也就是第一小节的内容 targets.forEach(function(targetMethod) { traceMethod(targetClass + "." + targetMethod); }); }
Semua subkelas kelas 0x03.hook
ialah masih dimuat naik ke bahagian teras kod:
//枚举所有已经加载的类 Java.enumerateLoadedClasses({ onMatch: function(aClass) { //迭代和判断 if (aClass.match(pattern)) { //做一些更多的判断,适配更多的pattern var className = aClass.match(/[L]?(.*);?/)[1].replace(/\//g, "."); //进入到traceClass里去 traceClass(className); } }, onComplete: function() {} });
0x04.cangkuk fungsi eksport pustaka tempatan
// 追踪本地库函数 function traceModule(impl, name) { console.log("Tracing " + name); //frida的Interceptor Interceptor.attach(impl, { onEnter: function(args) { console.warn("\n*** entered " + name); //打印调用栈 console.log("\nBacktrace:\n" + Thread.backtrace(this.context, Backtracer.ACCURATE) .map(DebugSymbol.fromAddress).join("\n")); }, onLeave: function(retval) { //打印返回值 console.log("\nretval: " + retval); console.warn("\n*** exiting " + name); } }); }
0x05 gabungan dinamik dan statik WhatsApp terbalik
Akhirnya tiba masanya untuk pertempuran sebenar Kod di atas disambungkan bersama untuk membentuk skrip Malah, skrip ini juga diperkenalkan dalam awesome-frida, tetapi ia mempunyai pepijat kecil diubah suai oleh Calabash, ia akhirnya boleh digunakan.
Mari cuba beberapa fungsi utamanya yang pertama ialah fungsi eksport perpustakaan tempatan.
setTimeout(function() { Java.perform(function() { trace("exports:*!open*"); //trace("exports:*!write*"); //trace("exports:*!malloc*"); //trace("exports:*!free*"); }); }, 0);
hook
kami ialah fungsi open()
Jalankan dan lihat kesannya:
$ frida -U -f com.whatsapp -l raptor_frida_android_trace_fixed.js --no-pause
Seperti yang ditunjukkan dalam gambar. *!open*
Fungsi yang dieksport seperti openlog
dan open64
dipadankan mengikut peraturan biasa, dan semua fungsi ini disambungkan dan parameter serta nilai pulangannya dicetak.
Bahagian mana yang anda mahu lihat seterusnya, cuma masukkan ke dalam jadx
, "analisis" secara statik, semak imbasnya sendiri atau cari berdasarkan rentetan.
Contohnya, kalau kita nak tengok kandungan pakej com.whatsapp.app.protocol
dalam gambar di atas, kita boleh setkan trace("com.whatsapp.app.protocol")
.
Anda boleh melihat bahawa semua fungsi dan kaedah dalam pakej, termasuk lebihan, parameter dan nilai pulangan dicetak. Inilah daya tarikan frida
skrip.
Sudah tentu, skrip hanyalah alat lagipun Pemahaman anda tentang Java
, Apl Android dan kreativiti anda adalah penting.
Seterusnya, anda boleh menggunakan modul Xposed untuk melihat modul yang dibuat oleh orang lain untuk whatsapp
, fungsi hook
yang manakah, fungsi yang dilaksanakan dan belajar menulisnya sendiri.
Sudah tentu, saya ingin menegaskan sekali lagi bahawa membuat penipuan adalah menyalahi undang-undang Jangan membuat dan mengedarkan sebarang penipuan untuk Apl, jika tidak, anda hanya akan dihukum oleh undang-undang .
Atas ialah kandungan terperinci Langkah-langkah untuk membalikkan WhatsApp menggunakan gabungan kaedah dinamik dan statik dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver Mac版
Alat pembangunan web visual