首页
社区
课程
招聘
[求助]搞不定这个注册机
发表于: 2008-8-14 23:13 5631

[求助]搞不定这个注册机

2008-8-14 23:13
5631
昨天看到一个crackme,可以跟出来他的算法.不过他是把一个串进行计算后和真串进行比较,
这个计算过程我是实在想不出来怎么逆向回去从而得到真码,请各位帮忙看一下
0040121D  |.  33DB          XOR EBX,EBX
0040121F  |.  33D2          XOR EDX,EDX
00401221  |>  8A18          /MOV BL,BYTE PTR DS:[EAX] //EAX里面是我输入的名字
00401223  |.  C1C3 08       |ROL EBX,8
00401226  |.  03D3          |ADD EDX,EBX
00401228  |.  40            |INC EAX
00401229  |.  8038 00       |CMP BYTE PTR DS:[EAX],0
0040122C  |.^ 75 F3         \JNZ SHORT love.00401221
0040122E  |.  52            PUSH EDX                                 ; /<%lX>
0040122F  |.  68 54204000   PUSH love.00402054                       ; |%lx
00401234  |.  68 BF204000   PUSH love.004020BF                       ; |s = love.004020BF
00401239  |.  E8 8F000000   CALL <JMP.&USER32.wsprintfA>             ; \wsprintfA
0040123E  |.  BB BF204000   MOV EBX,love.004020BF
00401243  |.  803B 38       CMP BYTE PTR DS:[EBX],38
00401246  |.  75 35         JNZ SHORT love.0040127D
00401248  |.  807B 01 44    CMP BYTE PTR DS:[EBX+1],44
0040124C  |.  75 2F         JNZ SHORT love.0040127D
0040124E  |.  807B 02 43    CMP BYTE PTR DS:[EBX+2],43
00401252  |.  75 29         JNZ SHORT love.0040127D
00401254  |.  807B 03 41    CMP BYTE PTR DS:[EBX+3],41
00401258  |.  75 23         JNZ SHORT love.0040127D
0040125A  |.  807B 04 46    CMP BYTE PTR DS:[EBX+4],46
0040125E  |.  75 1D         JNZ SHORT love.0040127D
00401260  |.  807B 05 33    CMP BYTE PTR DS:[EBX+5],33
00401264  |.  75 17         JNZ SHORT love.0040127D
00401266  |.  807B 06 36    CMP BYTE PTR DS:[EBX+6],36
0040126A  |.  75 11         JNZ SHORT love.0040127D
0040126C  |.  807B 07 38    CMP BYTE PTR DS:[EBX+7],38
00401270  |.  75 0B         JNZ SHORT love.0040127D
00401272  |.  B8 01000000   MOV EAX,1

谢谢各位

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 773
活跃值: (315)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
2
暴力破解,猜猜猜
2008-8-14 23:42
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
3
汗。。。刚开始我看错了,抱歉
5楼的答案正确

逆向算法的时候不妨先用高级语言将验证算法先写出来,然后再去思考怎么反过来写
2008-8-14 23:59
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
4
暴力改跳转对提高分析能力几乎没有帮助,这两个字。。。或许是最不应该养成的习惯
2008-8-15 00:11
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
5

序号长度 设为 SNLen

  (SNLen-2)!   (SNLen-1)!   (SNLen)!   (SNLen-3)! 
     8D            CA          F3          68


h%=)
44%=)
"##%=)
2008-8-15 01:27
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
还不是太明白。这个思路是怎么得出来的。可以详细说下吗,谢谢
2008-8-15 09:04
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
7
倒推出来
密钥的最低一个字节是0x68,循环右移后就是最高一个字节为0x68,因此第一个字母是0x68 'h'
密钥的最高一个字节是0x8D,是由第一个字节+第二个字节相加组成的,因此第二个字母是0x25 '%'
密钥的第二个字节是0xCA,是由第一,二和三个字节相加组成的,因此第三个字母是0x3D '='
密钥的第三个字节是0xF3,是由输入字符的前四个字节相加后得到的,因此第四个字母是0x29 ')'
这里回避了进位问题,如果考虑有进位字符串还可以是其他的值
2008-8-15 09:46
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢几位,晚上回家再看一下,再次谢谢
2008-8-15 13:40
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看明白了,再次谢谢几个兄弟,回避进位是个不错的思路..我一开始考虑的太复杂了
2008-8-15 23:04
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
哎  算法看不懂!
只知道程序是什么走向!
2008-8-30 21:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
随便搞一个就这么难,看来还要多多学习了。
2008-8-30 21:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
谁帮我搞定这个,破解万分感谢.
对高手来说.这个肯定是十分简单的.
http://www.netcoole.com/download/delphi2cs.zip
2008-8-31 01:00
0
雪    币: 97697
活跃值: (200839)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
13
请参看论坛版规,你违规.

http://bbs.pediy.com/showthread.php?t=769

9. 不得发请求破解、请求脱壳、有偿交易帖
论坛对此类帖处理最严格!有偿破解帖,出现一次直接封ID!请求破解帖视情况,可能会给一次机会。
2008-8-31 13:52
0
游客
登录 | 注册 方可回帖
返回
//