昨天看到一个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期)