vb OD修改Enable值

来源:互联网 发布:linux 日志等级 编辑:程序博客网 时间:2024/05/23 13:56
断点在EnableWindow
77D1BE71 > 8BFF mov edi, edi
77D1BE73 55 push ebp
77D1BE74 8BEC mov ebp, esp
77D1BE76 6A 60 push 60
77D1BE78 FF75 0C push dword ptr [ebp+C]
77D1BE7B FF75 08 push dword ptr [ebp+8]
77D1BE7E E8 DAFFFFFF call 77D1BE5D

alt f9 返回到这里
00401A19 . 8BF0 mov esi, eax
00401A1B 57 push edi
00401A1C 56 push esi
00401A1D . 8B0E mov ecx, dword ptr [esi]
00401A1F . FF91 8C000000 call dword ptr [ecx+8C]
你可以看到edi =0 在这里就是false了
所以把它寄存器改为1在调试执行你就可以看到command可以用了
这个在调试的时候可以用了 ,但是你修改的话如果用push 1的话那么由于原来是push edi那么指令会增加的,所以还会出错,那么要怎么改那,我们察看当前的其他的寄存器的值
EAX 00000000
ECX 00E01104
EDX 00DF282C
EBX 00000001
ESP 0012FAE0
EBP 0012FB14
ESI 00E01104
EDI 00000000
EIP 00401A25 123.00401A25
C 0 ES 0023 32位 0(FFFFFFFF)
P 1 CS 001B 32位 0(FFFFFFFF)
A 0 SS 0023 32位 0(FFFFFFFF)
Z 1 DS 0023 32位 0(FFFFFFFF)
S 0 FS 003B 32位 7FFDF000(FFF)
T 0 GS 0000 NULL
D 0
O 0 LastErr ERROR_SUCCESS (00000000)
EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty -UNORM BBB0 01050104 00000000
ST1 empty 0.0
ST2 empty 0.0
ST3 empty 0.0
ST4 empty 0.0
ST5 empty 0.0
ST6 empty 0.0
ST7 empty 0.0
3 2 1 0 E S P U O Z D I
FST 0020 Cond 0 0 0 0 Err 0 0 1 0 0 0 0 0 (GT)
FCW 137F Prec NEAR,64 掩码 1 1 1 1 1 1
你可以看到EBX 00000001 他是1 哦那就把它压堆栈好了这样不改变长度的
修改00401A1B 57 push edi
为push ebx
然后复制到所有修改到文件在保存你就可以用了
至于写keygen的话 ,你用工具修改会自动出来的
如果自己写的话就是把那个地址的东西00401A1B 57
57 是机器吗修改为53 为push ebx
就好了
我不会上传文件
还有我看了你的那个里面没有msgbox把 可以用od 来察看字符串的
原创粉丝点击