能力值:
( LV4,RANK:50 )
2 楼
找到SetTimerProc就好了
00453998 nop两个字节
能力值:
( LV2,RANK:10 )
3 楼
很好很好!这都被你发现~
能力值:
( LV2,RANK:10 )
4 楼
请上传爆破程序上来!
能力值:
( LV9,RANK:180 )
5 楼
123456
能力值:
( LV2,RANK:10 )
在线值:
6 楼
能力值:
( LV2,RANK:10 )
在线值:
7 楼
用DeDeDark察看一下按钮事件的代码和对话框初始化的代码,会得到显示文字的变量地址和timer函数的地址,然后跳到timer函数地址会发现对显示文字地址赋值注册成功的代码,nop掉跳转判断直接赋值,连调试都省了。
能力值:
( LV3,RANK:30 )
在线值:
8 楼
2楼的兄弟已经说出了一种方法,我在发就没意思了,那么我在发一种方法!
----------------------------------------------------------
/*453854*/ mov eax, dword ptr [ebp-0x4] //将用户输入的注册码放入EAX寄存器
/*453857*/ mov edx, dword ptr [0x454DC0] //将正确注册码放入EDX寄存器
改为:
/*453854*/ mov eax, dword ptr [ebp-0x4] //将用户输入的注册码放入EAX寄存器
/*453857*/ mov edx, dword ptr [ebp-0x4 ] //取正确注册码放入EDX寄存器
----------------------------------------------------------------------
/*45398A*/ mov eax, dword ptr [ebp-0x8] //将用户输入的注册码放入EAX寄存器
/*45398D*/ mov edx, dword ptr [0x454DC0] //将正确注册码放入EDX寄存器
改为:
/*45398A*/ mov eax, dword ptr [ebp-0x8] //将用户输入的注册码放入EAX寄存器
/*45398D*/ mov edx, dword ptr [ebp-0x8 ] //将正确注册码放入EDX寄存器 思路是很简单的, 让CM将用户输入的注册码认作正确注册码,然后在和用户输入的注册码比较!
上传的附件:
9 楼
疯了,你代码是什么弄的,前面怎么显示 /*45398D*/ ?
能力值:
( LV4,RANK:50 )
10 楼
* Possible StringData Ref from Code Obj ->"12345"
|
:0045398D 8B15C04D4500 mov edx, dword ptr [00454DC0]
:00453993 E8C008FBFF call 00404258
:00453998 7512 jne 004539AC
:0045399A B8046C4500 mov eax, 00456C04
* Possible StringData Ref from Code Obj ->"注册成功!"
|
:0045399F 8B15C44D4500 mov edx, dword ptr [00454DC4]
:004539A5 E8F604FBFF call 00403EA0
:004539AA EB10 jmp 004539BC
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00453975(C), :00453998(C)
|
:004539AC B8046C4500 mov eax, 00456C04
* Possible StringData Ref from Code Obj ->"注册失败!"
|
:004539B1 8B15C84D4500 mov edx, dword ptr [00454DC8]
:004539B7 E8E404FBFF call 00403EA0 直接给红色的那行改了不就ok了...
能力值:
( LV3,RANK:30 )
在线值:
11 楼
我发布过两个汉化的插件帖子地址如下
http://bbs.pediy.com/showthread.php?t=101111
里面的 Asm2Clipboard.dll //汇编代码复制插件
复制代码出来的效果就是这样!
12 楼
谢谢,很就没用这些东西,都忘了.
能力值:
( LV2,RANK:10 )
13 楼
逃不过大家的法眼!!小弟惭愧...........
能力值:
( LV2,RANK:10 )
14 楼
多谢指教!................
能力值:
( LV2,RANK:10 )
在线值:
15 楼
路过,顺便下下来研究研究
能力值:
( LV2,RANK:10 )
在线值:
16 楼
10楼天真,肯定没有尝试!
能力值:
( LV2,RANK:10 )
在线值:
17 楼
10L是对的,直接NOP掉可以的
能力值:
( LV2,RANK:10 )
在线值:
18 楼
简单。
能力值:
( LV2,RANK:10 )
在线值:
19 楼
可以什么啊,你也没试过吧
能力值:
( LV2,RANK:10 )
在线值:
20 楼
把00453862 /75 0C jnz short 00453870 改成00453862 /74 0C je short 00453870
把00453975 /75 35 jnz short 004539AC 改成00453975 /74 35 je short 004539AC
把00453998 /75 12 jnz short 004539AC 改成00453998 /74 12 je short 004539AC
上传的附件:
能力值:
( LV2,RANK:10 )
21 楼
想问下大家怎么跳到453**了,我od载入后f8,在可疑的call后按f7,怎么也跳不到
能力值:
( LV3,RANK:20 )
在线值:
22 楼
00453846 8D55FC lea edx, [ebp-$04]
00453849 8B83FC020000 mov eax, [ebx+$02FC]
* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
0045384F E808F2FDFF call 00432A5C
00453854 8B45FC mov eax, [ebp-$04]
00453857 8B15C04D4500 mov edx, [$00454DC0]
* Reference to: System.@LStrCmp;
|
0045385D E8F609FBFF call 00404258
00453862 750C jnz 00453870
00453864 A1046C4500 mov eax, dword ptr [$00456C04]
* Reference to: Dialogs.ShowMessage(AnsiString);
|
00453869 E80E3BFDFF call 0042737C
0045386E EB0A jmp 0045387A
00453870 A1046C4500 mov eax, dword ptr [$00456C04]
* Reference to: Dialogs.ShowMessage(AnsiString);
|
00453875 E8023BFDFF call 0042737C
0045387A 33C0 xor eax, eax
0045387C 5A pop edx
0045387D 59 pop ecx
0045387E 59 pop ecx
0045387F 648910 mov fs:[eax], edx
能力值:
( LV3,RANK:20 )
在线值:
23 楼
12345
能力值:
( LV2,RANK:10 )
24 楼
学习中 。