1 开模拟器

2 adb连接并启动idaserver 并转发端口 23946


3 开ida

4 检查AndroidManifest.xml 是否开启debug属性

5 在IDA菜单中选择 【Debugger】-> 【Debugger Options…】-> 【set specific options】添加以下选项:

其中选择apk时不能使用中文路径 所以推荐还是放盘符下
6 【Debugger】-> 【Process Options…】的配置

7 smliai to java 导出一个主活动java文件给ida 同时扔进盘符下和dex所在目录

8 ida上启动调试

这样就开始了 可以再反汇编出来的smali上下断 也可以在source java文件上下断

看一下主活动构造函数 和 按钮之后的方法 读取了版本号 版本名 然后判断输入的值和处理之后的版本号是否一致 随便下下断

不从 .java文件 而直接找的话 shift+F12 找函数名 大概是 mainactivity_onclick(记得在开启调试前)

随便输入点东西 点击按钮断下来后 F8单步跟踪 可以跟踪.java 也可以跟踪smali(推荐)
如图找到了一个判断 判断 v5 (输入长度) 和 v6 (版本号长度) 是否相等 相等跳到函数loc_107CDC
否欧泽输出 再接再厉加油

慢慢分析吧~肚子饿了 恰饭先