好友
阅读权限20
听众
最后登录1970-1-1
|
本帖最后由 ximo 于 2014-10-28 10:42 编辑
1.载入map文件....map文件在附件中
2.载入od,有启动事件和按钮事件
注册试下,老提示错误
3.从启动事件入手
1 00401087 机器码算法下去
2 0040113C 设置向量异常链表.在每个回调函数中下断
00403C28 |. 68 C7584000 push CrackMe.004058C7
00403C2D |. 68 01000000 push 0x1
00403C32 |. B8 0A000000 mov eax,0xA
00403C37 >|. E8 8C990000 call CrackMe.0040D5C8 ; 调用API [备注: 不是命令]
00403C3C |. 3965 FC cmp [local.1],esp
00403C3F |. 74 0D je short CrackMe.00403C4E
00403C41 |. 68 06000000 push 0x6
00403C46 >|. E8 77990000 call CrackMe.0040D5C2 ; 数组下标错误 [备注: 不是命令]
00403C4B |. 83C4 04 add esp,0x4
00403C4E |> 8965 FC mov [local.1],esp
00403C51 |. 68 CB614000 push CrackMe.004061CB
00403C56 |. 68 01000000 push 0x1
00403C5B |. B8 0A000000 mov eax,0xA
00403C60 >|. E8 63990000 call CrackMe.0040D5C8 ; 调用API [备注: 不是命令]
00403C65 |. 3965 FC cmp [local.1],esp
00403C68 |. 74 0D je short CrackMe.00403C77
00403C6A |. 68 06000000 push 0x6
00403C6F >|. E8 4E990000 call CrackMe.0040D5C2 ; 数组下标错误 [备注: 不是命令]
00403C74 |. 83C4 04 add esp,0x4
4. 一直不清楚怎么产生异常的...
不知道这一行这个是不是判断单步中断
00409565 |. 813B 04000080 cmp dword ptr ds:[ebx],0x80000004;
试着在按钮事件设置cc和mov [0],0
5. 算法:
代码很长,但仔细跟的话,很简单
004095FE 一进来就对注册码进行rc4解密..
0040975D 以"+"为标志,分割解密后的文本
0040981D 判断"数组[末尾]"与"狄邦爱小周周"是否相等
004098AC 这个一个子程序,用数组[0]进行算法.跟进去
0040C98F 第一处循环,把字符串转成字节
0040CAB2 第二处循环,生成0-0x100的字节. 固定1
0040CB2C 第三处循环,循环"wyl"100次. 固定2
0040CC4D 第四处循环,计算固定1与固定2.....
0040CE60 第五处循环,只要注意这个循环就行了
a. 以第一处循环结果长度做为循环次数
b. 每次从第四处循环取出偶数位. 如第四处循环[i*2]
c. b+e. // e初始为0
d. 取第四处循环.并且与b互换值
e. c+1
f. 取第四处循环[b+d]
g. f xor 第一处循环
第五组.rar
(377.3 KB, 下载次数: 68)
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|