本帖最后由 惊蛰 于 2020-2-9 00:02 编辑
新手题:送分题完成啦来试试新手题吧,点击下方“立即申请”任务,即可获得本题Windows CrackMe题目下载地址,通过分析CrackMe获得本题正确口令的解题方法。
过了12点编辑的。。应该没违规{:1_909:}
楼主也是破解小白,如果错误,请指出,不胜感激
脱 壳
查 壳
脱壳第一步先查壳,发现是UPX壳,尝试用ESP定律脱掉
02
拖入OD
继续分析,点击【否】
01
进入OD
03
看到pushad,F8步过
04
在寄存器中找到ESP,右键点击ESP后面的地址,点击在数据窗口中跟随
05
左下角HEX数据中随意选取一段,右键→断点→硬件访问→Byte
06
F9,程序断在了这里
07
调试→硬件断点
07-1
删除→确定
07-2
F8单步,发现这是一个累加循环,左键点击jnz下一行按F4
08
继续F8,到push停
09
右键用OllyDump脱壳调试进程
10
重建输入表
记下修正为的地址,取消重建输入表的勾,点击脱壳保存
11
运行未经任何处理的原版CrackMe程序,打开ImportREC
1、选择进程;2、填写刚刚记下的地址;3、自动搜索;4、获取导入表;5、修正转储;6、找到刚才od脱壳保存的文件
12
脱壳部分完成
继续分析
找编辑框内容修改触发事件的地址
程序是用Delphi写的
13
拖到Idr中
14
依次点开Forms、Form、TFORM1、Form1、edPwd,双击OnChange
15
继续OD部分
记住右边第一条的地址,将脱壳后的CrackMe程序拖到OD中,Ctrl+G转到这个地址中,F2下断
16
17
F9让程序跑起来,输入框输入随意字符,程序断在了刚才下断的地方
18
15位字符串
F8单步分析,发现这里是判断字符串是否等于15位,由此推断真码有15位
19
重新载入程序,复制一个15位字符串【1234567890abcde】重新输入,继续调试
这里程序取出了字符串的前7位
20
这里取出了8到11位
21
这里取出了12到15位
22
32位字符串
这里调用了call生成了一串32位字符串【FCEA920F7412B5DA7BE0CF42B8C93759】
并在下一行与【E7EE5F4653E31955CACC7CD68E2A7839】进行了比较
23
并且在附近还可以找到另外的两串32位字符串
【ea6b2efbdd4255a9f1b3bbc6399b58f4】
26
【c8d46d341bea4fd5bff866a65ff8aea9】
27
MD5加密
32位字母数字字符串,首先考虑MD5,前面将 15位字符串拆分成了3部分,分别是【1234567】【890a】【bcde】
将这三部分分别计算md5,看是否有所发现
计算后的MD5分别为
原文 |
MD5 |
1234567 |
fcea920f7412b5da7be0cf42b8c93759 |
890a |
97c80792e4cfe73df1a714d1ebf908de |
bcde |
e02cfbe5502b64aa5ae9f2d0d69eaa8d |
经过对比,确认是MD5,百度MD5解密,将被比较值【E7EE5F4653E31955CACC7CD68E2A7839】填入,解出原文为【52pojie】
24
MD5 |
原文 |
E7EE5F4653E31955CACC7CD68E2A7839 |
52pojie |
ea6b2efbdd4255a9f1b3bbc6399b58f4 |
2019 |
c8d46d341bea4fd5bff866a65ff8aea9 |
game |
7+4+4正好15位字符串,将解密出来的原文组合【52pojie2019game】填入
25
至此,追码完成。
附
CrackMe程序
使用工具
最后
第三题我也不会,等教程ing
|