一个小程序,Delphi 7编译的
启动时提示需要加密狗,点确定程序退出。
使用DeDe进行反编译,在启动阶段有如下代码,这是判断加密狗的主要程序段:
{
007740C8 55 push ebp
007740C9 8BEC mov ebp, esp
007740CB 83C4F0 add esp, -$10
007740CE 53 push ebx
007740CF B8F8367700 mov eax, $007736F8
* Reference to: SysInit.@InitExe(Pointer);
|
007740D4 E80B2FC9FF call 00406FE4
007740D9 8B1DC4C17700 mov ebx, [$0077C1C4]
007740DF 33C0 xor eax, eax
007740E1 A3C4187800 mov dword ptr [$007818C4], eax
* Possible String Reference to: '84E93BDD'
|
007740E6 B844427700 mov eax, $00774244
007740EB 68C4187800 push $007818C4
007740F0 50 push eax
* Reference to : TfrmTransData._PROC_007414BC()
|
007740F1 E8C6D3FCFF call 007414BC
007740F6 85C0 test eax, eax
007740F8 7418 jz 00774112
007740FA 6A40 push $40
* Possible String Reference to: '提示'
|
007740FC B950427700 mov ecx, $00774250
* Possible String Reference to: '软件没有找到加密锁!'
|
00774101 BA58427700 mov edx, $00774258
00774106 8B03 mov eax, [ebx]
* Reference to: Forms.TApplication.MessageBox(TApplication;PChar;PChar;Longint):Integer;
|
00774108 E88FB6D1FF call 0048F79C
0077410D E92B010000 jmp 0077423D
00774112 8B03 mov eax, [ebx]
我觉得0077410D E92B010000 jmp 0077423D是关键一跳,跳到的地址是 Halt代码,程序终止
我试了想改jmp为nop之类的,修改E9为90,但程序启动出错。
恳请有Delphi破解经验的给个提示,如何改才能取消注册窗口? 感谢
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)