作者:Drate 发表日期:2003年7月23日
防止用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"没有办法了^_^~~~~~~』
分享到:
相关推荐
《深入理解DEDE Delphi反编译软件:揭示Delphi程序的秘密》 在软件开发的世界里,逆向工程是一项至关重要的技术,它可以帮助开发者理解已有的程序代码,从而进行学习、调试或者改进。DEDE Delphi反编译软件,作为一...
"Delphi反编译工具 Dede3.99"就是这样一个工具,专为了解析和提取Delphi编译后的二进制程序中的源代码。 Dede3.99是一款专门针对Delphi编译器的反编译软件,其主要功能是能够将已编译的Delphi可执行文件转换回源...
DeDe,这个名字在DELPHI开发领域中具有重要的地位,它是一款功能强大的反编译工具,专为DELPHI程序员设计,帮助他们探索和理解已编译的DELPHI应用程序的内部结构。DeDe V3.50.02是该系列的一个重要版本,不仅提供了...
本文将聚焦于一款名为“DeDe反编译工具”的软件,这款工具专为反编译Delphi编译生成的Exe文件而设计,旨在帮助开发者了解和学习他人程序的设计思路。 首先,我们来深入探讨一下什么是Delphi。Delphi是一款基于...
Dede_3.10_1527可能是Dede反编译工具的一个特定版本,编号为3.10,版本号1527,这通常表示软件的更新迭代,可能包括性能提升、错误修复和新功能的添加。使用Dede,用户可以打开和分析Delphi编译的exe文件,查看函数...
总的来说,DeDeDark Delphi EXE反编译软件3.50.4是一款强大的工具,它的存在为开发者提供了一条了解和研究Delphi程序的捷径。无论是为了学习编程技巧,还是进行安全审计,只要合理使用,都能从中受益匪浅。同时,...
Delphi反编译工具是一种专门用于解析和理解由...总的来说,Delphi反编译工具是软件开发和逆向工程领域的重要工具,它们提供了一种手段来理解和操作Delphi编译的二进制程序,尽管这种方法可能伴随着法律和道德上的考虑。
这里提到的"不错的delphi反编译软件"可能就是DeDeDark,一款专门用于反编译Delphi程序的工具。 DeDeDark是一款功能强大的Delphi反编译器,它能够解析Delphi编译后的二进制文件,将其还原为源代码形式,从而帮助...
这个压缩包“delphi反编译文件(带可执行程序DEDE)”似乎包含了一个用于反编译Delphi编译的二进制文件的工具——DEDE。 DEDE,全称为Delphi Decompiler Explorer,是一款专门针对Delphi编译的.exe或.dll文件进行反...
总的来说,"dede 3.5 Delphi反编译"涉及的是通过反编译工具理解和分析用Delphi 7.0编译的程序,这需要一定的编程基础和技术知识,同时也需要关注法律和伦理问题。VCL7.dsf文件可能是这一过程中的一个重要组成部分,...
在使用DeDe反编译过程中,可能会遇到的一个问题是如何处理包含汉字的Unicode编码。Delphi支持Unicode,因此在编译后的资源文件(如窗体文件 .dfm)中,汉字通常会以Unicode编码的形式存在。这对于直接阅读和理解文件...
使用DeDe反编译工具时,用户需要具备一定的技术背景,包括对Delphi编程语言的理解,以及对反编译原理和逆向工程的熟悉。反编译过程可能会涉及到动态分析(如调试)和静态分析(如二进制代码的符号化)。该工具可能...
DELPHI程序的反编译,首选是DeDe,它反编译的代码,结构清晰,内部函数都标注出来了。但它的缺点就是不支持高版本的DELPHI。对付高版本的DELPHI,就得用IDR了。IDR反编译的结果和DeDe其实一样,只是对于一些内部的...
将Delphi编译的Exe反汇编成Delphi源程序,效果还不错,dfm可以弄出来,不过 Pas里还是ASM,对于研究破解还是很有用的 What is DeDe? ------------- DeDe is a very fast program that can analize executables compiled ...
【标题】"DeDe反编译工具 DEDE 3.50.4的修改版"是针对Delphi和BCB(Borland C++ Builder)应用程序的反编译工具,主要用于帮助开发者分析和理解Delphi或BCB编译的二进制代码。此版本为3.50.4的改良版,引入了新的...
"DeDe_3.5" 正是一款专门针对Delphi编译的程序进行反编译的工具,它旨在帮助开发者理解已编译的二进制代码,提升代码的可读性。 反编译是逆向工程的一部分,它涉及到将机器码或字节码转换回高级语言源代码的过程。...
总的来说,DeDe3.50.02是一款强大的Delphi DLL反编译工具,它为开发者提供了一种查看和理解二进制DLL内部机制的途径,从而在软件调试、逆向工程、代码维护等方面发挥着关键作用。然而,使用此类工具时也需注意版权...
"Delphi反编译工具"提到的是专门针对Delphi和C++ Builder程序设计的反编译软件。这类工具的目标是尝试还原出原始的源代码,尽管由于编译过程中的优化,反编译结果可能与原始代码有较大差异,且难以阅读。反编译的...
DeDe is a very fast program that can analyze executables compiled with Delphi 2,3,4,5 and Builder and give you the following: - All dfm files of the target. You will be able to open and edit them ...