实战分析自毁程序Crackme IDA动态调试
# 一、目标Crackme:(https://github.com/404nofoundx/Cloud/blob/main/AliCrackme.zip)
![在这里插入图片描述](https://img-blog.csdnimg.cn/281b565a8876495aae6af2111b699851.png)
# 二、查看java代码
二话不说上jadx,通过AndroidManifest.xml文件确定入口。
![在这里插入图片描述](https://img-blog.csdnimg.cn/5babfdf659674c7b8cc2fdcadb1b9c4c.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/1fc04bf746f743e7ad2e924db1edf01e.png)
# 三、IDA静态分析
![在这里插入图片描述](https://img-blog.csdnimg.cn/3922b893a84e414c8cc54a1938c186b3.png)
# 四、IDA动态分析
打上断点
![在这里插入图片描述](https://img-blog.csdnimg.cn/c43c24281a6a407fbda03c20f30c9ab3.png)还没等到断点的时候,程序就崩溃了,猜测有反调试。
![在这里插入图片描述](https://img-blog.csdnimg.cn/da26da7a5a3d486e905e986e1311d835.png)这次在JNI_OnLoad下断点,看看是哪里崩溃的,多次尝试发现在此处崩溃,用00000000修改此处命令。
![在这里插入图片描述](https://img-blog.csdnimg.cn/26f59ed64fd4406e96751608eebad73b.png)修改前
![在这里插入图片描述](https://img-blog.csdnimg.cn/09742c6820ed42e8b8c7b198819da74f.png)
修改后
![在这里插入图片描述](https://img-blog.csdnimg.cn/895f8b96dc004aa9a3614edf0e21ef0d.png)反调试安全跳过,重新在Java_com_yaotong_crackme_MainActivity_securityCheck 设置断点。
![在这里插入图片描述](https://img-blog.csdnimg.cn/390c57313d874ecca29d114f55cf329e.png)查看R2寄存器
![在这里插入图片描述](https://img-blog.csdnimg.cn/1161ecd86088442e83a21fb1d71f51a8.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/86b1b71e27434a1f8527bc16be4dfa79.png)Flag = aiyou,bucuoo
![在这里插入图片描述](https://img-blog.csdnimg.cn/576dc40ded524f96ba85d978594271c1.png)
AliCrackme主要考验了过反调试和动态调试,还挺简单.jpg 侃遍天下无二人 发表于 2021-9-17 12:44
那边程序崩溃的原因是什么,它如何判定是不是在调试状态的
我是用调试模式挂起的apk
adb shell am start -D -ncom.yaotong.crackme/.MainActivity 修改了hexview之后是需要重打包软件吗,我保存change的时候我看他目录好像是我的电脑目录,重新挂载之后的APP里面的so好像还是没变 对于小白来说挺难的 那边程序崩溃的原因是什么,它如何判定是不是在调试状态的 非常好的教程,谢谢分享 很厉害的,学习了。。{:1_921:} 很厉害的,学习了。。 感谢分享。 学习了,精彩的分析。crackme有大佬帮转个云盘或蓝凑云么? 学习了,万分感谢