在写程序注册或者登陆的时候,怎么样才能更好地保护程序不被反调试,比如你写再多的md5(password),但你总要写一句
if Log=ture then
   frmlogin.show
end if
但是log=ture这句会被反汇编利用,直接跳过进入frmlogin.show,那我们的登陆注册加密代码写得再好也没有用了。
望高手提供经验!

解决方案 »

  1.   

    目前还没有可以将VB反编绎的软件~~如果你真的担心有这样的情况的话可以这样做:
    if Log=ture then
       frmlogin.show
       frmlogin.text1.text=1
    end if
    在frmlogin上添加一个text控件或者其它,用全局变量也行,text控件中默认为空或0,程序里每运行一个功能之前首先判断frmlogin.text1.text的值是否等于1,如果不等于1就不运行~~
    这只是一般的做法~~当然你有其它办法也可以试一下~~.
      

  2.   

    我建议你的程序在资源或者什么地方内嵌一个dll
    运行时释放出来
    用那个dll里的函数判断注册码是否正确
    dll最好先加壳
    然后exe再加壳
    两个用两种不同的工具加
      

  3.   

    同意bejon的看法。世界上没有解不开的锁。你防得再好也总有方法能破得了你。从你这方面来讲,要防止被人反汇编就必须比企图反汇编者想得更远,或者采取硬件配合;从信息安全文化的角度来讲,要防止这种现象发生就必须在全社会营造良好的信息道德氛围。