bigbirdl 发表于 2020-4-18 19:45

判断程序调用了native层函数的一点思路

今天又一次温习了鸭子大神的《教我兄弟学Android逆向08 IDA爆破签名验证》,地址:
https://www.52pojie.cn/thread-732955-1-1.html
看到有网友询问如何判断知道程序调用了native层函数check?大神的解释很简单:通过分析java层知道。但是没有说
分析哪里的java源程序。可能很多新人朋友就找不到。我今天在用AS调试时,发现一种方法。分享出来。个人观点,
大神多指点哈,谢谢哈。
安装例子中提供的黑宝宝。

打开AS。进入调试模式。方法以前写的帖子里有,这里不多说,注意端口别设置错了,注意adb shell命令的参数别错
了即可。

以前说过,onclick是点击事件,所以找到后,在开头处下个断点。

点击我们的小虫子开始调试。

程序自动运行。

随便输入,点击登录,可以看到程序已经被断下来了。

设置好要监控的数据,我直接就从0到9都监控了。
一次次按下F8,慢慢走。可以看到我们输入的数据都显示出来了。继续走。

看到显示“登录失败”字样了。v1返回值直接显示失败。

那就看看哪里调用了check。在这里是demo2/jni/com/myapplication/myJNI。
我们在ak中打开。



查看源码。很明显了。可以判定调用了jnitest。



然后根据鸭子大神的教学用IDA修改so即可。

牛逼的小虫 发表于 2020-4-18 20:14

大佬牛逼

芽衣 发表于 2020-4-18 21:21

现在只有极少数so改跳转能过验证的,真的很少……

asd5478 发表于 2020-4-18 22:13

那么问题来了check你从哪看到的:lol

bigbirdl 发表于 2020-4-18 22:28

asd5478 发表于 2020-4-18 22:13
那么问题来了check你从哪看到的

看图吧。。。

bigbirdl 发表于 2020-4-18 22:29

417788939 发表于 2020-4-18 21:21
现在只有极少数so改跳转能过验证的,真的很少……

确实是.日常中非常少,今天这个是我看鸭子帖子时瞎摆弄出来的。
页: [1]
查看完整版本: 判断程序调用了native层函数的一点思路