IDA apk静态调试(非虫笔记)
###看非虫大神的android软件安全与逆向分析进行学习,并且记录。###路过可以免费评分一下呀。
###一起学习哦。
#IDA Pro Android 静态分析
##工具使用:
1.吾爱破解安卓工具箱->IDA64位
2.FlexHEX
3.DexFixer
4.signed
##正式开始:
###1.解压crackme0502.apk,并且打开IDE
apk下载:https://pan.baidu.com/s/1bpnTSNt 密码:q9gi
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/YJ44T%60MUC3T05%7BMCAFN9$31.png)
###2.把.dex文件拖进IDE,然后在弹出的窗口点击ok。
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/288UF_%29%60@IUW%29X%258BS4~4C2.png)
###3.安装apk进行实用。
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/%5B1%29ON~ANP%60SIHO6N$%255G%7DR7.png)
####分析:有两个按钮监听的事件,所以从onclick为出发点。
###4.使用快捷键alt+t打开窗口输入onclick,进行搜索。
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/UDL7%25QJL4ROH$%25%7DPE1~~CJ5.png)
####找到了几个onclick方法。
###5.点击索引,就可以去当前页面,我们可以看到一个if语句还有一段乱码。
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/R~QHHV$1R%5B7KE_J1I$%29%60TB7.png)
###6.这里我们涉及到一个问题,就是解决乱码的问题,看了众多资料,终于解决,解决方法如下。
####(1)alt +a 进入设置界面,重点在方框内容。
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/AGYA%5B8VMJ@07%5D%7D51NIS2KLX.png)
####(2)点击这个
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/%6066%28G%60A%7B3VPDH$%5B~%7D~KQ7HG.png)
#### (3)点击这个
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/GKE__%5B66U2J2QD%25$KC@R_QF.png)
####(4)然后选择utf-8
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/YKV%5BC4%7D78H1LIU%6057%60G1GJK.png)
#### (5)确定,再确定,中文就出现了
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/B%7B3SGD%7BSAZ6T5A%600Z%5DZV%25OA.png)
###(6)咳咳,我们来继续静态调试。这里的if-eqz是重点
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/9MZUA9%7BLA6S%7DT5O8~T8$ZHG.png)
### (7)查看hex 16进制编码
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/~%5DETCUIAN4V%5B%5D%25O26836SI2.png)
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/CZGASY%5DNX%29M%60%5D%7D%6035ZCBKGD.png)
### (8)使用二进制软件打开进行更改,这里涉及到一个知识点。
if-eqz是 期存器==0,编码38
if-nez是 寄存器!=0,编码39
所以我们需要把38改为39,也就是吧eqz改为nez
####突然意识到还要写FlexHEX的使用方式,鼠标还在卡顿,好吧,写完再整。
#### 把.dex文件拖进FlexHEX软件。
### (9)ctrl+f搜索关键字【38 02 0F 00】也就是if-eqz的编码
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/7@G4PP%607IQ%5DJ@EQWOWIN%28$8.png)
### (10)找到之后进行更改然后保存。
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/2WI~CSN6KU6G90_@N@Q%7DPFN.png)
#### 注意一定要比对前后的16进制的编码,不然可能会改错位置。
###(11)安装进行测试。
####发现安装失败
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/U3HYP%5BMMASCO_Y5WA_TCO4C.png)
#### 寻找答案,原来是因为dex被篡改过的dex文件在验证时计算checksum会失败,导致程序安装失败,我们需要重新计算并写回checksum值。
### (12)使用DexFixer软件进行修复
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/KE_2AMBB8IT0730%25@XMU7KA.png)
### (13)删除META-INF文件
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/%29%299VFNVZWB~M2MX3YR%29U@~K.png)
###(14)然后进行签名,安装进行测试(签名的教程就不发了,有需要再写吧,有点累)
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/$7D~%25CKRCVSC9Q83KA_%6047V.png) kikyoulin 发表于 2017-12-8 10:12
谢谢分享,以前都用傻瓜软件一键重新打包修改好的apk包,完全不知道修改好的需要修复什么校验值,现在学到 ...
我也是做的时候才知道要修改~我用ps录了水印,到时候用笔刷一刷就有了,但是还是感觉好慢,先截屏然后ctrl v ,然后打开,笔刷刷一下,然后上传图床,然后复制外链,然后粘贴。= =感觉好慢,效率不高 谢谢分享,以前都用傻瓜软件一键重新打包修改好的apk包,完全不知道修改好的需要修复什么校验值,现在学到了一些具体的步骤。
加水印可以试试PS录制一段动作,载入图片播放下动作就好了。哈哈应该有加水印的小工具能更快,坐等大佬回答 真的,觉得用ps加水印,再放在图床,然后再使用外链,这个步骤好累,可能需要研究一下怎样直接加水印,大家有没有好的软件呀,推荐一下,提高速度。 不知道管不管。试一下吧 谢谢分享 2017.11.11 发表于 2017-12-7 21:53
不知道管不管。试一下吧
不知道管什么 楼主牛.学习了..... 谢谢分享 很厉害的样子,虽然没看懂:lol 下来看一看 看看一下