-
-
[原创]+[讨论]Delphi程序Anti-XXX的一个小技巧
-
发表于:
2008-7-18 21:47
9377
-
[原创]+[讨论]Delphi程序Anti-XXX的一个小技巧
【文章标题】: Delphi程序Anti-XXX的一个小技巧
【文章作者】: stalker
【作者邮箱】: zhangke_1989@hotmail.com
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
注意:标题是乱取的,因为我不知道取什么好
对于Delphi程序,通常我们可以通过DeDe来查找关键点。即使使用了Anti-DeDe技术(例如使用黑夜彩虹的Anti_DeDe v0.1,
见http://www.unpack.cn/viewthread.php?tid=14650&highlight=%2B%BA%DA%D2%B9%B2%CA%BA%E7 处理过程序),还是可以
通过资源编辑工具+16进制编辑工具来查找关键点(详见《加密与解密》Ⅱ第7章)
那么假若我们不在Delphi生成的事件过程中写代码,而是自己处理消息呢?
我做了一个实验,在Delphi中新建一个工程
代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
private
{ Private declarations }
procedure OwnProcess(var Msg:TMessage);Message WM_COMMAND;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.OwnProcess(var Msg:TMessage);
begin
if (Msg.LParam=Button1.Handle)
then
MessageBox(Form1.Handle,'O,ye!','Test',MB_OK);
end;
end.
我在窗体上放了两个Button,但是只响应一个Button被点击
编译出程序之后,用资源编辑工具查看,没有OnClick事件了(这个当然拉!)
再用DeDe反编译查看,同样找不到任何关键信息,如下图
当然,要找到这个程序的关键点很容易,因为有字符参考和对话框,若没有这些呢?
希望大家能想出Anti这一小技巧的技巧(^_^)
这个程序见这里
Project1.rar
--------------------------------------------------------------------------------
【经验总结】
本人菜鸟一个,如果有什么说得不对的地方,还请各位大哥轻点拍
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2008年07月18日 21:44:20
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)