关于if else 防破译这样行不行

关于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

call @LStrCmp
jnz +$02
mov bl,$01

引用
reg= (注册码=机器码)

call @LStrCmp
setz bl