防止用DeDe软件反编译delphi程序
2008-04-09 04:27:01来源:互联网 阅读 ()
防止用DeDe软件反编译delphi程序
这里有一篇防止用DeDe软件反编译delphi程序~
用『』里的是我的注释,其余的是原创作~
Program Project1;
Uses
Forms,
windows,
sysutils,
Unit1 In ''''Unit1.pas'''' {Form1},
Unit2 In ''''Unit2.pas'''' {Form2};
Function RegisterServiceProcess(dwProcessId, dwType: dword): Integer; Stdcall;
External ''''kernel32.dll''''
{$R *.RES}
Var
HMUTEX: HWND;
RET: INTEGER;
hCurrentWindow: HWnd; //反编译要的
szText: Array[0..254] Of char; //反编译要的
Begin
Application.Initialize;
APPLICATION.TITLE := ''''delphi葵花宝典 设计:张国鹏'''';
RegisterServiceProcess(GetCurrentProcessID, 1); //让程序在Ctl Alt Del中消失.
『我们可以看到作者用RegisterServiceProcess把程序注册成了WINDOWS服务程序~』
『但大家都知道这个函数包含在kernel32里,而且只在98/ME中管用~』
『所以并不要把这项作为反编译的关键,可以说可有可无~』
//防止反编译开始
hCurrentWindow := GetWindow(APPLICATION.Handle, GW_HWNDFIRST);
『由上面知道作者想知道自己的程序窗口是不是最顶级的窗口』
While hCurrentWindow <> 0 Do
Begin
If GetWindowText(hCurrentWindow, @szText, 255) > 0 Then
If pos(''''DeDe'''', StrPas(@szText)) <> 0 Then
『如果不是,则获取现在顶机窗体的标题,在做判断是不是"DeDe"』
Begin
APPLICATION.MESSAGEBOX(''''想反编译我?没那么容易!'''',
''''哈哈......你这家伙!'''', mb_ok);
//closewindow(hCurrentWindow);//使该程序窗口最小化
enablewindow(hCurrentWindow, false);
//使该程序的窗口不能被激活 如果能获取该程序的线程ID号,则可以使该程序又不能使用,又不能关闭,酷吧?
『以上这两句是对DEDE的处理~』
『closewindow:为把制定的窗口最小化,但窗口不会从内存中清除~』
『enablewindow:指定的窗口里允许/禁止所鼠标和键盘的输入,false肯定是不能了~』
halt;
End;
hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT);
End;
//防止反编译结束
//防止程序的二次运行
HMUTEX := CREATEMUTEX(Nil, FALSE, ''''delphi葵花宝典 设计:张国鹏'''');
RET := GETLASTERROR;
If RET <> ERROR_ALREADY_EXISTS Then
Begin
Application.CreateForm(TForm1, Form1);
// Application.CreateForm(TForm2, Form2);
Application.Run;
End
Else
APPLICATION.MESSAGEBOX(''''程序已经运行!'''', ''''提示'''', mb_ok);
releasemutex(hmutex);
End.
『谈谈我的看法,这种方法也许是一种简单的防止反编译的做法,但由于过于简单了,』
『到现在就不是很有用了,也许可以对付一些初学的朋友,我们可以看到查找窗口的名』
『字为"DEDE"也就是说它只是一个字符串,在程序中没有很重要的地位,也就是不耽误』
『程序的运行,我们可以借助一些软件把程序中所有的"DEDE"改为别的字符,呵呵,这』
『程序可是没有逻辑思维的,改后可就对"DEDE"没有办法了^_^~~~~~~』
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:三层结构的设计模式
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash