cari
RumahJavajavaTutorialLangkah-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

Langkah-langkah untuk membalikkan WhatsApp menggunakan gabungan kaedah dinamik dan statik dalam Java

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.

Langkah-langkah untuk membalikkan WhatsApp menggunakan gabungan kaedah dinamik dan statik dalam Java

Contohnya, kalau kita nak tengok kandungan pakej com.whatsapp.app.protocol dalam gambar di atas, kita boleh setkan trace("com.whatsapp.app.protocol").

Langkah-langkah untuk membalikkan WhatsApp menggunakan gabungan kaedah dinamik dan statik dalam Java

Langkah-langkah untuk membalikkan WhatsApp menggunakan gabungan kaedah dinamik dan statik dalam Java

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.

Langkah-langkah untuk membalikkan WhatsApp menggunakan gabungan kaedah dinamik dan statik dalam Java

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!

Kenyataan
Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

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

Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

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

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

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

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

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]

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

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

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual