程序我已经调试过了,也知道注册码发在了esi中,看了若干遍keymak的说明,还是不明白怎么做出注册机。下面我把相应代码贴出来:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10004DB2(C)
|
:10004E11 8D542434 lea edx, dword ptr [esp+34]
:10004E15 52 push edx
:10004E16 6870ED0110 push 1001ED70
:10004E1B E8B01B0000 call 100069D0
:10004E20 8D84247C010000 lea eax, dword ptr [esp+0000017C]
:10004E27 8D4C243C lea ecx, dword ptr [esp+3C]
:10004E2B 50 push eax
:10004E2C 51 push ecx
:10004E2D E83E220000 call 10007070
:10004E32 8BBC2488020000 mov edi, dword ptr [esp+00000288]
* Reference To: USER32.GetDlgItem, Ord:0102h
|
:10004E39 8B2D5C820110 mov ebp, dword ptr [1001825C]
:10004E3F 83C410 add esp, 00000010
* Possible Reference to Dialog: DialogID_0067, CONTROL_ID:03FB, "Y>:"
|
:10004E42 68FB030000 push 000003FB
:10004E47 57 push edi
:10004E48 FFD5 call ebp
:10004E4A 8D542434 lea edx, dword ptr [esp+34]
:10004E4E 68FE000000 push 000000FE
:10004E53 52 push edx
:10004E54 50 push eax
* Reference To: USER32.GetWindowTextA, Ord:015Eh
|
:10004E55 FF1554820110 Call dword ptr [10018254]
:10004E5B 8DB42474010000 lea esi, dword ptr [esp+00000174] //esi中就保存着注册码,注册码是明码,共七位十进制数。
:10004E62 8D442434 lea eax, dword ptr [esp+34]//eax中是随便输入的注册码,下面开始作比较。正确的注册码是通过10004e55处的call算出来的。
以上是我反汇编得到的代码。该程序是个ime程序。(输入法程序,相当于dll)
,请各位帮忙了。谢谢
附件:lyjm.rar
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课