破解能破到什么程度?(0分)

  • 主题发起人 主题发起人 delhpi
  • 开始时间 开始时间
D

delhpi

Unregistered / Unconfirmed
GUEST, unregistred user!
比如 原来我的代码中,某个button的click
下,
//showmessage('ddsf');
这句话是注释的,破解者能否则改成 不注释。

或者
某个button的click
原来是
exit;
showmessage('sdf');

就是不执行exit后的代码,直接退出。
破解者能否去掉exit,让后面的代码执行?
 
第一个不可能——因为编译之后的可执行码中不会有被注释的任何信息。
第二个是可能的,破解者可以修改exit对应的汇编码,跳过或者变成nop,从而执行后面
的指令。
 
注释代码不会编译进去;
exit;
showmessage('sdf');
是可以越过exit;
 
看来以后 做试用版时,用{}注释掉原来的功能代码,需要时,还可以再重新启用代码。
 
是的,不过试用版都应该给全功能使用吧。
 
>>做试用版时,用{}注释掉原来的功能代码
我现在采用条件编译来做非完整版。方法为,在菜单中:
Project -> Options -> Directories/Conditionals -> Conditionals
填入编译指示符(例如: FULL_BUILD )。
然后,在代码中用如下的条件编译:
{$IFDEF FULL_BUILD}
ShowMessage('完整版');
//Do something
{$ELSE}
ShowMessage('试用版无此功能!');
{$ENDIF}
来达到打开/关闭代码功能块的效果。
 
学习。。。
 
1,2应该都可以,只要知道注释内容,在程序中增加一段程序应该是可以的,去掉一段程序也应当可以。但是如果注释没有编译到程序中,别人是看不到注释的,所以一楼的说不能做到。
 
delphi 在编译时 是自动忽略注释内容的吗?也就是说 EXE中是没有注释部分的语句的,对吗?
 
实践是检验真理的唯一标准——你自己编译一个exe,备份到一个地方,然后加一段注
释,再编译一次,用UltraEdit等十六进制编辑器比较一下两个文件有什么不同。

注释会被忽略,是绝对合乎逻辑的——假如被注释的部分不符合Delphi的语法规则(如:
//若a>3,则...),难道编译器还要将这个“若a>3,则...”也编译成可执行代码么??
 
1。可以重新写上 某个button的click事件。破解者不能改你原来的注释的内容,但是完全可以新增自已的事件内容。
2。完全可以破解!
 
我反编译!怎么样?想想,不过也不行.
 
如果你的exe里面没有的逻辑,破解者是不太好加进去的(貌似不可能,不过不知道是不是也有牛人能做到)。所以,注释的代码不会被编译。

第二个问题,Exit是可以被跳过的,不仅如此,if也能翻转,呵呵,你为一能做的就是对响应部位的代码做校验,增加破解难度,但最终这个校验代码也是会被去掉的(当然,这需要时间)。

楼主完全可以使用creation-zy提到的编译指令,用一套代码管理多个不同的版本,而且这也是常用的方法之一。
 
学习、、、、
 
后退
顶部