灰儿 发表于 2020-1-17 11:38:20

破解了一个用delphi写的软件,想不到就这么简单。

破解了一个用delphi写的软件,想不到就这么简单。
正在用delphi写一个mis,在网上下载了一个参考软件,我猜想他是用delphi写的,于是就用dede看看。真受打击,dede居然将他所有的窗口都反编译出来了,可以看到,他的报表是用reportbuilder控件,用了XPmenu控件……

最受人打击的是,我找到了注册窗口,在注册按钮的一系列汇编代码中,我将一条jz指令改成jnz。于是,尽管我没有输入任何的注册码,但是却显示了注册成功。退出,发现真的破解了。

* Reference to: System.@LStrCopy;

|

006A0C88   E8AB44D6FF             call    00405138

006A0C8D   8B55DC               mov   edx,

006A0C90   58                     pop   eax

* Reference to: System.@LStrCmp;

|

006A0C91   E88E43D6FF             call    00405024

006A0C96   741F                   jz      006A0CB7

~~用ultraedit将74改成75~~这个就变成jnz

006A0C98   6A00                   push    $00

* Possible String Reference to: '实验室助理'

|

006A0C9A   68C80D6A00             push    $006A0DC8

* Possible String Reference to: '错误的注册码,不能完成注册!'

|

006A0C9F   BAD40D6A00             mov   edx, $006A0DD4

* Reference to TTHDM instance

|

006A0CA4   A138166B00             mov   eax, dword ptr [$006B1638]

006A0CA9   8B00                   mov   eax,

006A0CAB   B102                   mov   cl, $02

* Reference to : TTHDM.Proc_00676FBC()

|

006A0CAD   E80A63FDFF             call    00676FBC

006A0CB2   E9CC000000             jmp   006A0D83

006A0CB7   B201                   mov   dl, $01

这个软件也够简单的,我第一次试破解,就成了。总的来说改变了一个字节。

灰儿 发表于 2020-1-17 11:39:51

jnz的机器码为75,只需将其改为jz的机器码74。
页: [1]
查看完整版本: 破解了一个用delphi写的软件,想不到就这么简单。