曙海教育集团论坛开发语言培训专区Delphi程序设计 → 回复帖子

  回复帖子
用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
高级设置: 签名: 回帖通知:
 

主题新回顾(发布时间:2010-12-14 11:29:49)
--  作者:wangxinxin
--  Delphi程序Anti-XXX的一个小技巧
对于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反编译查看,同样找不到任何关键信息,如下图
shot.JPG下载此附件需要消耗2Kx,下载中会自动扣除。
当然,要找到这个程序的关键点很容易,因为有字符参考和对话框,若没有这些呢?
希望大家能想出Anti这一小技巧的技巧(^_^)

这个程序见这里
Project1.rar下载此附件需要消耗2Kx,下载中会自动扣除。