关于if else 防破解这样行不行?
if 注册码=机器码 then
reg=true
改成reg= (注册码=机器码)
这样行不行?探讨一下
[解决办法]
常规代码编译后避免不了比对、判断
各种加壳SDK的方法是在源码中插入一些字节,在编译后进行修改,造成混淆和异常跳转,给破解者增加困难
强一点的思路是核心代码加密,
或者用另一线程修改内存,
还有就是注册判断过程在多个地方多个文件(dll等)多次实现
delphi的程序结构被研究的几乎透彻了,用Delphi写的程序防破解能力较弱,用强壳加密是必须的
[解决办法]
一个意思,汇编指令不会变太多的
例如:
cmp eax, ebx //比较 注册码,机器码
je reged //相等则跳转到已注册
....
如果改成 jne 就被破解了,简单点的破解都是这么干的。
一般的破解步骤是
你的程序 - 加壳 - 脱壳 - 修复 - 破解
| |
裸奔 -----------------
所有没有不能被破解的程序,只能增加破解的难度
现在的加壳工具足够复杂了 花指令、内建虚拟机、双进程等等 足够难道大部分新手
给你点提示
不要在注册检查中直接比较,不要有明确的字符串告知用户已经注册了,或者MessageBox等
想简单点就加个壳吧,有些壳有内置的注册机制
[解决办法]
reg := 注册码=机器码
[解决办法]
多重加密
[解决办法]
你会死得很惨
[解决办法]
没有绝对的加密的
[解决办法]
用Delphi写的程序防破解能力较弱????
谁说的呀,我写的一个软件(delphi)
,放到网上好几年了,也没见破解过
[解决办法]
其实是一回事
[解决办法]
[解决办法]
没用的...
[解决办法]
汇编对比: