吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 4948|回复: 86

[原创逆向图文] 实战解析:Crakeme01

  [复制链接]
1122cf 发表于 2020-9-21 18:20 | 显示全部楼层 |阅读模式

先运行软件,观察程序特点,步骤与第八节实战相似,都是运用IDA静态调试与动态调试相结合获取密码,从而进入功能页面,具体操作流程如下。

1.1  jdax-gui中分析java代码

在xml文件里,找到程序入口点,如下图所示。

图片5.png

直接查看click,如下图所示。

图片6.png

此处if的判断与之前分析的AliCreackme不同。先判断它是否为空,如果为空,先弹出对应字符;如果不为空,直接把字符给被Native修饰的方法调用,也就是说,输入字符的对错结果和返回的字符串都在so层处理。

1.2  IDA中静态分析

1.找到JNI_OnLoad,进入后,如下图所示。

图片7.png

2.按F5查看伪代码,修改参数类型和名称,如下图所示。

图片8.png

3.调用一个AD函数,然后是一个if-else判断,如下图所示。

图片9.png

4.进入AD函数,查看字眼是检测进程,如下图所示。

图片10.png

5.查看静态注册,搜索后发现没有静态注册的函数,那逻辑的执行部分肯定是在动态注册里,但是动态注册的伪代码里面只识别到两个函数,AD和GetEnv,如下图所示。

图片11.png

6.查看汇编窗口,除了if里面的两个BL跳转函数之外,下面的else里面还有一个BL跳转函数,而且很明显是4个参数,RegisterNative恰好就是4个参数,如下图所示。

图片12.png

静态分析就到这里,接下来开始IDA动态调试,验证我们的推论。

1.3  IDA动态调试

直接修改名字和端口就可以直接过掉,记录动态分析的过程,进来后,检测函数nop掉,如下图所示。

图片13.png

F8一路往下,来到这个可能是RegisterNative函数的位置,如下图所示。

图片14.png

观察第三个参数,发现是一个地址,可以跳过去,如下图所示。

图片15.png

点击过去,然后按d键,识别成dword类型的地址,看到存放的内容是一个 java层被native修饰的方法名,如下图所示。

图片16.png

同样识别第二个和第三个参数,第二个参数是方法签名,如下图所示。

图片17.png

第三个参数是C代码中的底层函数实现的函数名,bc过来后,看到这里的标志位T是1,说明是thumb指令,如下图所示。

图片18.png

按c键,将此处代码识别成thumb指令,如下图所示。

图片19.png

这个bc函数就是我们要分析的关键逻辑所在,直接在导出函数里面搜索,过来后F5识别伪代码,分析这里的逻辑,这是一个字符转换,如下图所示。

图片20.png

进dc里面看看,发现有一个 dh,继续跟进去,如下图所示。

图片21.png

有kill和getpid,与进程检测有关,如下图所示。

图片22.png

继续跟进,如下图所示。

图片23.png

有getpid,也与进程检测有关,如下图所示。

图片24.png

它执行的条件是上面的dc返回为真,如下图所示。

图片25.png

dc的返回值取决于此处,想给上一层返回一个真,那必须是if里面的执行,首先dh要返回一个真,如下图所示。

图片26.png

进去dh,它想给上层返回一个真,必须是memcmp这个执行成立,否则就执行下面的else,如下图所示。

图片27.png

回到dc,查看这个函数的返回结果,如下图所示。

图片28.png

返回结果又由dh决定,在dh里面返回上一层是0或者是1,取决于这三个点,如下图所示。

图片29.png

回到bc,查看这个函数,如下图所示。

图片30.png

发现了解密函数,由上层可以知道,他的返回值是一个int,如下图所示。

图片31.png

该函数的返回值由这两处决定,v4是v7给的,由上面可知,v7是一个组数,v7最终会给v4,如下图所示。

图片32.png

v4作为返回值传递给上一层,然后作为参数传递给这个函数,将最终结果作为bc的返回值,如下图所示。

图片33.png

点进去观察这个函数,会发现是调用toast函数,它与弹窗有关,如下图所示。

图片34.png

接下来在bc进行动态分析,如下图所示。


图片35.png

跳至R0指向的地址,这个就是刚才手动输入的密码,如下图所示。

图片36.png

下面一个BLX跳转后面紧跟着一个CBZ,就是静态分析里面的dc函数,由dc的返回值决定if的执行,如下图所示。

图片37.png

直接步过这个函数,发现返回值为零,如下图所示。

图片38.png

直接执行else,如下图所示。

图片39.png

这个函数是解密函数,里面有RC4算法,如下图所示。

图片40.png

来到解密函数处,下断点,如下图所示。

图片41.png

一路F8走到这里,如下图所示。

图片42.png

继续分析,如下图所示。


图片43.png

观察F7寄存器的值,跳过来就得到正确的密钥,如下图所示。

图片44.png

继续单步往下,查看R7的值,如下图所示。

图片45.png

过来R7,提示密码错误,如下图所示。

图片46.png

这就是结合静态分析和动态调试得到的结果,静态分析能够更方便的阅读逻辑,得到一些关键点,动态调试的目的是查看具体数据。

小结:
在本次的分享当中,我们先从java层简单分析到so层,然后静态分析了so里面的动态注册方法,随后又进行了动态调试so,过掉反调试,并且找到bc函数,静态分析bc函数,最后在bc函数处找解密函数下断点,然后找到密钥。


评分

参与人数 24威望 +1 HB +122 THX +11 收起 理由
lies + 1
花盗睡鼠 + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
longge188 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
创客者V2.0 + 1
459121520 + 1
消逝的过去 + 2
冷亦飞 + 1
l278785481 + 1
4957465 + 1 + 1
摆烂上岸 + 1 + 1
逆君 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
zwj00544 + 1 + 1
内存注入 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
ldljlzw + 1
我是好人 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
吾爱虚拟 + 1 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
a7781940 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
skzbz + 1
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
XiaoWeiSec + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
拿着雪糕 + 1 + 1
king51999 + 1
Shark恒 + 1 + 100 + 1 [快捷评语]--你将受到所有人的崇拜!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
192939 发表于 2020-10-7 20:48 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 1122cf 发表于 2020-10-9 09:14 | 显示全部楼层

192939 发表于 2020-10-7 20:48
感谢分享实在难懂

是哪里难懂呢?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
brswbx201610 发表于 2022-1-7 13:48 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
拿着雪糕 发表于 2022-1-30 12:15 | 显示全部楼层

学习大佬操作
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
cmxub 发表于 2022-2-24 07:11 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
vpgPGJRwInb 发表于 2022-2-24 08:23 | 显示全部楼层

大佬无敌
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
JaKFGXc1 发表于 2022-2-24 14:36 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
aVksWF94 发表于 2022-2-26 18:53 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
oYmfLF8 发表于 2022-2-26 19:15 | 显示全部楼层

大佬牛批!顶!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表