<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  Delphi程序設計  (http://www.hufushizhe.com/bbs/list.asp?boardid=76)
    ----  Delphi程序Anti-XXX的一個小技巧  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=76&id=2575)

    --  作者:wangxinxin
    --  發(fā)布時間:2010-12-14 11:29:49
    --  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,下載中會自動扣除。