字典II 算法分析 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【meiwen.anslib.com - 电脑资料】

    实际上它也不用pj在作者网上已经有密码了,

字典II 算法分析

。写此文,只是看看它的注册方式而已。

    字典II是一个共享软件,如果您需要使用它的全部功能,测需要进行注册。这种注册是免费的。您只要发一封标题为“注册”的电子邮件到作者信箱中即可收到以同样方式发回的注册码。为了给作者少添点麻烦,还是自己解决吧。

    作用:生成字典档文件。

    1、输入用户名和注册码后,启动TRW2000,设中断BPX HMEMCPY 再回到程序中,按确定,拦截成功。

    2、按F10直到第二次回到程序中是慢走。看到如下程序。

    0167:00401BC6 CALL 00420016

    0167:00401BCB MOV EAX[EBP+78]

    0167:00401BCE LEA ESI[EBP+5C]

    0167:00401BD1 PUSH EBX

    0167:00401BD2 PUSH BYTE -01

    0167:00401BD4 PUSH DWORD B1

    0167:00401BD9 PUSH EAX

    0167:00401BDA CALL EDI

    0167:00401BDC MOV ECX[ESI+1C]

    0167:00401BDF PUSH EBX

    0167:00401BE0 PUSH EBX

    0167:00401BE1 PUSH DWORD B7

    0167:00401BE6 PUSH ECX

    0167:00401BE7 CALL EDI

    0167:00401BE9 LEA EDX[ESP+84]

    0167:00401BF0 PUSH BYTE +64

    0167:00401BF2 PUSH EDX

    0167:00401BF3 MOV ECXESI

    0167:00401BF5 CALL 00420016

    0167:00401BFA LEA EDI[ESP+20]

    0167:00401BFE OR ECXBYTE -01

    0167:00401C01 XOR EAXEAX

    0167:00401C03 REPNE SCASB

    0167:00401C05 NOT ECX

    0167:00401C07 DEC ECX

    0167:00401C08 JZ NEAR 00401E24

    0167:00401C0E LEA EDI[ESP+84]

    0167:00401C15 OR ECXBYTE -01

    0167:00401C18 REPNE SCASB

    0167:00401C1A NOT ECX

    0167:00401C1C DEC ECX

    0167:00401C1D JZ NEAR 00401E24

    0167:00401C23 LEA EDI[ESP+20]

    0167:00401C27 OR ECXBYTE -01

    0167:00401C2A XOR ESIESI

    0167:00401C2C REPNE SCASB

    0167:00401C2E NOT ECX

    0167:00401C30 DEC ECX

    0167:00401C31 JZ 00401CAC

    上面的代码是什么意思,你自己看吧。重点是下文。

    0167:00401C33 MOVSX EDIBYTE [ESP+ESI+20]取用户名中的一个字节,

    0167:00401C38 MOV EAXEDI做为被除数

    0167:00401C3A MOV ECX0A除数

    0167:00401C3F CDQ

    0167:00401C40 IDIV ECX

    0167:00401C42 MOV ECXEDX余数传给ECX。

    0167:00401C44 AND EDX80000001进行与运算,

    0167:00401C4A JNS 00401C51不为负就跳。

    0167:00401C4C DEC EDX

    0167:00401C4D OR EDXBYTE -02

    0167:00401C50 INC EDX

    0167:00401C51 JNZ 00401C69不为零就跳

    0167:00401C53 MOV EAXEDI否则重新赋值再次进行计算。

    0167:00401C55 MOV ECX1A此次除数被换成1A,

电脑资料

字典II 算法分析》(http://meiwen.anslib.com)。

    0167:00401C5A CDQ

    0167:00401C5B IDIV ECX

    0167:00401C5D ADD DL41余数与DL相加得出注册码

    0167:00401C60 MOV [ESP+ESI+0148]DL把注册码存入[ESP+ESI+0148]中。

    0167:00401C67 JMP SHORT 00401C97

    0167:00401C69 MOV EAXECX把余数传给EAX

    0167:00401C6B MOV EBX03

    0167:00401C70 CDQ

    0167:00401C71 IDIV EBX

    0167:00401C73 TEST EDXEDX

    0167:00401C75 JNZ 00401C8D不为零就跳,用上面的结果ECX+31得出注册码。

    0167:00401C77 MOV EAXEDI如果为零重新赋值计算。

    0167:00401C79 MOV ECX1A除数

    0167:00401C7E CDQ

    0167:00401C7F IDIV ECX

    0167:00401C81 ADD DL61 余数DL与61相加得出注册码

    0167:00401C84 MOV [ESP+ESI+0148]DL

    0167:00401C8B JMP SHORT 00401C97

    0167:00401C8D ADD CL31得出注册码

    0167:00401C90 MOV [ESP+ESI+0148]CL

    0167:00401C97 LEA EDI[ESP+20]你所输入的用户名串地址。

    0167:00401C9B OR ECXBYTE -01

    0167:00401C9E XOR EAXEAX

    0167:00401CA0 INC ESI

    0167:00401CA1 REPNE SCASB

    0167:00401CA3 NOT ECX

    0167:00401CA5 DEC ECX

    0167:00401CA6 CMP ESIECX ESI是循环的次数。 ECX是用户名的总的位数,

    0167:00401CA8 JC 00401C33有进位(也就是没有循环完毕)就跳进行下一轮计算。

    0167:00401CAA XOR EBXEBX

    0167:00401CAC PUSH EBP

    0167:00401CAD LEA ECX[ESP+EC]

    0167:00401CB4 MOV [ESP+ESI+014C]BL

    0167:00401CBB CALL 00401EB0

    0167:00401CC0 MOV [ESP+01B4]EBX

    0167:00401CC7 LEA ESI[ESP+84]假码。

    0167:00401CCE LEA EAX[ESP+0148]真码

    至此就可以结束了,下文是进行比较。

    0167:00401CD5 MOV DL[EAX]

    0167:00401CD7 MOV CLDL

    0167:00401CD9 CMP DL[ESI]

    0167:00401CDB JNZ 00401CF9

    0167:00401CDD CMP CLBL

    0167:00401CDF JZ 00401CF5

    0167:00401CE1 MOV DL[EAX+01]

    0167:00401CE4 MOV CLDL

    0167:00401CE6 CMP DL[ESI+01]

    0167:00401CE9 JNZ 00401CF9

    0167:00401CEB ADD EAXBYTE +02

    0167:00401CEE ADD ESIBYTE +02

    0167:00401CF1 CMP CLBL

    0167:00401CF3 JNZ 00401CD5

    0167:00401CF5 XOR EAXEAX

    0167:00401CF7 JMP SHORT 00401CFE

    0167:00401CF9 SBB EAXEAX

    0167:00401CFB SBB EAXBYTE -01

    总结:用户名有几位,注册码就有几位。举例。

    用户名:abcde

    密码:8UvW2

    (编辑:天命孤独)

最新文章