读书人

关于if else 防破解这样行不行?该如何

发布时间: 2012-03-31 13:13:26 作者: rapoo

关于if else 防破解这样行不行?

if 注册码=机器码 then
reg=true


改成reg= (注册码=机器码)
这样行不行?探讨一下



[解决办法]
常规代码编译后避免不了比对、判断
各种加壳SDK的方法是在源码中插入一些字节,在编译后进行修改,造成混淆和异常跳转,给破解者增加困难


强一点的思路是核心代码加密,
或者用另一线程修改内存,
还有就是注册判断过程在多个地方多个文件(dll等)多次实现

delphi的程序结构被研究的几乎透彻了,用Delphi写的程序防破解能力较弱,用强壳加密是必须的
[解决办法]
一个意思,汇编指令不会变太多的
例如:
cmp eax, ebx //比较 注册码,机器码
je reged //相等则跳转到已注册
....

如果改成 jne 就被破解了,简单点的破解都是这么干的。

一般的破解步骤是

你的程序 - 加壳 - 脱壳 - 修复 - 破解
| |
裸奔 -----------------

所有没有不能被破解的程序,只能增加破解的难度
现在的加壳工具足够复杂了 花指令、内建虚拟机、双进程等等 足够难道大部分新手

给你点提示
不要在注册检查中直接比较,不要有明确的字符串告知用户已经注册了,或者MessageBox等
想简单点就加个壳吧,有些壳有内置的注册机制

[解决办法]
reg := 注册码=机器码

[解决办法]
多重加密
[解决办法]
你会死得很惨
[解决办法]
没有绝对的加密的

[解决办法]
用Delphi写的程序防破解能力较弱????
谁说的呀,我写的一个软件(delphi)
,放到网上好几年了,也没见破解过
[解决办法]
其实是一回事
[解决办法]

探讨
用Delphi写的程序防破解能力较弱????
谁说的呀,我写的一个软件(delphi)
,放到网上好几年了,也没见破解过

[解决办法]
没用的...
[解决办法]
汇编对比:
引用if 注册码=机器码 then
reg=true

读书人网 >.NET

热点推荐