永发信息网

用delphi编写的软件,怎样防止被修改

答案:4  悬赏:0  手机版
解决时间 2021-05-18 11:36
  • 提问者网友:几叶到寒
  • 2021-05-17 20:31
我今天发现网上有一款软件是修改我的软件的,除了软件的版权信息被修改,其它都一样,请问该怎么防止软件被修改
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-05-17 21:38

还是 加个壳比较好 防止使用工具来调试 商业软件可以用THEMIDA 加壳 一般很难被破解

全部回答
  • 1楼网友:十年萤火照君眠
  • 2021-05-18 00:39

没有绝对安全的办法,只能是魔高一尺、道高一丈;建议你研究一下逆向工程之类的,推荐网址 http://www.pediy.com 看学学院

  • 2楼网友:詩光轨車
  • 2021-05-18 00:01

加壳!

插花指令,

程序越简单越不容易破解

你程序调用的方法最好自己编写,用别人的代码可能被破解

  • 3楼网友:山河有幸埋战骨
  • 2021-05-17 23:09
这个问题很简单: 每个程序都有自己的大小,(因为程序也是文件) 那么 你的程序在最终编译后~ 程序的大小是一个定值~ 你只需用测定出你的程序的长度值(建议使用TMemoryStream 测定其中有一个Size属性,可以测得程序的精确大小值)。 然后在工程文件中指定~ 当你的程序的大小等于你测定出来的数值的时候~ 就启动程序。而不等于的时候,显然是有人修改了这个程序。 你只需要在主窗体还没有启动的时候就 使用Exit 语句。程序自然就无法启动了例如: program Project1; uses   Forms, Windows,   Classes,   SysUtils,   Unit1 in 'Unit1.pas' {Form1}; {$R *.res} var   ExeStream: TMemoryStream; const   ExeSize = 10000; //你事先测定的程序的长度 begin   Application.Initialize;   ExeStream := TMemoryStream.Create;   ExeStream.LoadFromFile(Application.ExeName);   if ExeStream.Size <> ExeSize then begin      Application.MessageBox('本程序被修改了!无法使用了!','程序被修改',MB_ICONERROR);      Exit;   end;   Application.CreateForm(TForm1, Form1);   Application.Run; end. 但是,请注意。当你修改了代码。或者重新编译后。程序的大小可能会发生改变。这时就要重新测定程序的长度了,不然就会报错的。另外切记:此代码只适合于在不加壳的程序中使用。而且一定要确保此代码是在最后一次编译的时候使用。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯