公司有一个比较急的需求,要逆向某个apk,关键的就是这个软件里边有一部分数据加解密的过程,想把这段代码搞出来。
某宝上找了个商家,帮忙把其中的so文件反编译成了C代码,发现他的这个解码函数又做了一层加密。就是把这一段代码通过某种规则打乱,在调用这个函数之前再按规则还原回去,之后再调用,类似加密壳技术。
所以静态分析这一段代码的话可能就行不通了,哪怕动态调试,给我一堆汇编代码也行啊。
上网查了一些资料,发现可以用IDA Pro来调试,但是貌似Demo版和破解版都不支持这个功能,因为我下载的版本里边就没有"android_server",这是第一
第二,利用gdb调试apk,gdb和gdbserver也已经编译好了,但是在执行:
./adb shell /data/local/tmp/gdbserver :12345 /data/local/tmp/debug
之后返回
Process /data/local/tmp/debug created; pid = 5717
Cannot exec /data/local/tmp/debug.apk: Exec format error.
这个错误
因为在书上看到的应用程序是不带扩展名的,我又把apk的扩展名直接去掉了,发现还是同样的错误。
请各位大大给一个思路,小弟不胜感激
[注意]看雪招聘,专注安全领域的专业人才平台!