吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6066|回复: 4
收起左侧

[原创] 记校园大赛的一道Crack me解析

[复制链接]
ja3klyTim9k 发表于 2014-9-17 00:52
本帖最后由 ja3klyTim9k 于 2014-9-17 00:58 编辑


       打开后随意输入字符,点加密后看了半天没看出和那种加密算法相似,看来非得好好逆一下了…
这是脱壳后的情况:

图片1.png

PEid分析下加密算法如下:

图片2.png


主要是BASE64算法和MD5算法,加密的地方挺多,看来要做好打持久战的心理准备了

载入ODF9运行,在“加密”按钮事件上下WM_LBUTONUP断点:

图片3.png


点加密断下后,下内存访问断点,F9到下面(此断点不熟悉的请自己补充OD基础知识)

图片4.png


F7跟进后如下:

图片5.png

图片6.png


具体替换运算过程写在图片上了,请自行对照察看…

图片7.png


替换完成后的字符串设为S4,进入下一轮运算,如下:

图片8.png


图片9.png


图片10.png



下面是第一轮RC4初始化的运算情况:

图片11.png


第二轮RC4初始化并加密S4字符串:

图片12.png

图片13.png

图片14.png


RC4算法完了,别急!后面还有
下面是对上面S4经过RC4加密后的字符串进行BASE64处理(因为经过RC4异或加密后的S4字符不具有可视性,很多是十六进制形式).

图片15.png


具体的base64算法,不多说:

图片16.png


此轮加密完后,加密过程快进入尾声了,下面是尽行MD5加密的过程,之后再连接字符串,变换等等:
图片17.png


好了,大概过程就到这儿了,至于逆向的思路,我觉得知道加密过程后应该不难了吧,个人总结的逆向步骤如下 :

步骤一:
这是题目给出的要解密字符:

S7
eQ&ylzL7SDrMyTLiXeJK6lk2sbepvlJT0kYZt207rRppvL4HrtVwJ6bd96XeY8AdAZ98ZWbea88d5cb8VY8Z7  
根据之前的分析,此字符串的最后32位 :   6bd96XeY8AdAZ98ZWbea88d5cb8VY8Z7  
实际上是S5的最后3位字符的MD5加密后经替换而来 . 替换的规则如下:

AfBgChDiEjFkGlHm
InJoKpLqMrNsOtPu
QvRwSxTyUzV0W1X2
Y3Z4a5b6c7d8e9+&
/@=#

则反替换后的字符为:
b68eb293df8f4ed41695dd8a76d03d4c

MD5解密后为: A==

S7所有的字符(出去最后32)反替换加上这三个后变为:

S5 9v+TGUqcxiMrTyqD29opbGFXN69KQGoyVF34OXVcMwKKQqZmMO0RoA==




步骤二:
个人感觉是最麻烦的一步,这一步需要将S5字符串用BASE64解密,但因为解密后的字符大多为十六进制,具有不可视性,而你用工具解密后其编码已经被改变,因此有点坑!本人在做这道题时花了接近一个小时自己动手将其用BASE64编码方法解密了(当然完全可以自己写base64解密程序)
BASE64解密过程倒不复杂,但难在运算量特别大,涉及到二进制输入输出极容易打错,S5解密后的字符串如下 :
f6 ff 93 19 4a 9c c6 23 2b 4f 2a 83 db da 29 6c 61 57
37 af 4a 40 6a 32 54 5d f8 39 75 5C 33 2 8A 42 A6 66


步骤三:
好了,最难得步骤做完了,后面的就挺简单了, S4变为S5是先经过RC4加密后再BASE64变换,现在我们已经解密BASE64这一步了,还需要RC4解密,到这一步大家有两种选择:1 .很傻很傻的去手工解密(虽然可行,而且base64加解密的密钥都一样且每一个子密钥都是固定不变的)BASE64解密秘钥如下:

8f a7 d5 4b 7d f1 8d 66 5c 1a 1e da a2 a3 11 15 58 12
0f de 39 19 1d 67 64 31 b3 68 06 1a 0b 4e bc 1a cd 13

好吧,我承认,我就是这样很傻很傻很二很二的去自己解密的,,当时估计脑子抽风了。。。


2. 将需要解密的字符串复制到程序某处空白数据区,大家一定还记得之前加密过程时RC4加密后又有一个地方是对其解密的,当时还没发现有啥用 ,现在可以对其解密的内存地址进行修改,指到我们添加的需解密的数据区,然后运行,ok,手一抖,解密结果出来了

79 58 46 52 37 6D 4B 45 77 55 34 59 79 79 38 79 39 45
38 71 73 59 77 55 30 6C 4B 51 73 46 38 4C 36 58 6B 75
转换成字符串为S4 : yXFR7mKEwU4Yyy8y9E8qsYwU0lKQsF8L6Xku

步骤四:
S3S4的过程就是进行了一个替换,按照之前的替换规则,得到S3
S3 T2kwcHpjRzZ3TTdTejdLN3RzVGpvNkdqb2FP

再往后就没啥难度了,直接拖到在线BASE64解密工具中,两次BASE64解密,得到结果:


S1 :  :-)土豪我喜欢你!!


题目下载:http://pan.baidu.com/s/1eQmtBMi

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
夏雨微凉 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lidacui215 + 1 土豪我喜欢你!!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

吾爱、硬币 发表于 2014-9-17 01:32
对于这么详细的分析,只能膜拜!
南在南方 发表于 2014-9-17 06:25
Antares 发表于 2017-7-10 13:13
夏雨微凉 发表于 2017-7-12 10:51
技术贴没人回复?   
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 06:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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