结合AI对WhatsApp的分析 (一)

一、目标

1:main

好希望未来的世界是这样的:

javascript 复制代码
小X同学,请帮我写一个ws的H算法,并且详细解释入参和结果。

可惜现实是这样的

1:ws1

也好,起码飞哥还不至于失业,李老板还得老老实实给我发工资。然后含泪退掉了他偷偷买的4090,原计划他准备搭个DeepSeek来优化我的。

二、步骤

遇事不决先问AI

工具是死的,人是活到。个人认为目前的AI,抹平了初级程序员和中级的程序员之间的技术差距。但是抹平不了李老板和入门级的程序员之间的技术差距。

作为一个有证的程序员,应该这样问AI才靠谱

1:ws2

这里面的关键信息就是 AES SHA256 和 libwhatsapp.so 了,

找朋友 libwhatsapp.so

我们遇到的第一个困难就是, 最新版的apk里面只有libsuperpack.solibunwindstack.so, 并没有我们期待的 libwhatsapp.so

不过这也难不倒我们,继续问AI呗。这次 AI给出了几个方案,它怀疑 WhatsApp 可能已经将多个 .so 库合并进一个单独的 libsuperpack.so 文件,减少 APK 体积并提高加载效率。

所以我们先安装Apk,然后用上最原始的查找大法

javascript 复制代码
find / -name 'libwhatsapp.so' -type f

  


# 结果出来了

/data/user/0/com.whatsapp/files/decompressed/libs.spo/libwhatsapp.so

IDA

这个 H 一看就是个Base64, 所以第一反应就是 hook java的 base64函数,但是没有结果,那就说明大概率是在 so里面做的base64。

这时候就请IDA上场了。

我感觉下一个版本的ida可能就会增加AI窗口了, 咱们直接输入一个:

javascript 复制代码
请帮我标出这个so中做Base64操作的函数,并且生成frida Hook的代码

好吧,在ida没有更新之前,只能飞哥上场了。

挂上心爱的 FindCrypt插件

1:ida1

啥也不说了,先Hook它

javascript 复制代码
let libWhatsAppAddress = Module.findBaseAddress('libwhatsapp.so');

console.log(" ==> libwhatsapp : " + libWhatsAppAddress)

  


let offset = 0x89F7C8;

let funcAddr = libWhatsAppAddress.add(offset);

Interceptor.attach(funcAddr, {

onEnter: function(args) {

},

onLeave: function(retval) {

  


console.log('--> retval: ' + retval);

try {

let strIn = Memory.readUtf8String(retval);

console.log(strIn);

} catch (e) {

Log( "#### Base64 A Rc Error");

}

  


console.log(`/* TID ${gettid()} */ ======= Base64 A retval ====`);

}

});

跑一下 ,熟悉的味道

1:rc1

三、总结

再强调一遍,以后的程序员只会有一种,利用辅助AI工具的程序员。不会使用AI的程序员一定是要被淘汰的。

早用早享受,不用担心AI会替代你,AI的出现只会让你的工作更加高效。以此为理由找李老板提加工资。

1:ffshow

这台机器不会取代我们任何一个人

Tip:

: 本文的目的只有一个就是学习更多的逆向技巧和思路,如果有人利用本文技术去进行非法商业获取利益带来的法律责任都是操作者自己承担,和本文以及作者没关系,本文涉及到的代码项目可以去 奋飞的朋友们 知识星球自取,欢迎加入知识星球一起学习探讨技术。有问题可以加我wx: fenfei331 讨论下。

相关推荐
xiangpanf8 小时前
Laravel 10.x重磅升级:五大核心特性解析
android
robotx11 小时前
安卓线程相关
android
消失的旧时光-194312 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
dalancon12 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon13 小时前
VSYNC 信号完整流程2
android
dalancon13 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户693717500138414 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android14 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才15 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶15 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle