以文本方式查看主題 - 曙海教育集團(tuán)論壇 (http://www.rfoamep.cn/bbs/index.asp) -- Delphi程序設(shè)計(jì) (http://www.rfoamep.cn/bbs/list.asp?boardid=76) ---- Delphi程序Anti-XXX的一個(gè)小技巧 (http://www.rfoamep.cn/bbs/dispbbs.asp?boardid=76&id=2575) |
-- 作者:wangxinxin -- 發(fā)布時(shí)間:2010-12-14 11:29:49 -- Delphi程序Anti-XXX的一個(gè)小技巧 對(duì)于Delphi程序,通常我們可以通過(guò)DeDe來(lái)查找關(guān)鍵點(diǎn)。即使使用了Anti-DeDe技術(shù)(例如使用黑夜彩虹的Anti_DeDe v0.1, 見(jiàn)http://www.unpack.cn/viewthread.php?tid=14650&highlight=%2B%BA%DA%D2%B9%B2%CA%BA%E7 處理過(guò)程序),還是可以 通過(guò)資源編輯工具+16進(jìn)制編輯工具來(lái)查找關(guān)鍵點(diǎn)(詳見(jiàn)《加密與解密》Ⅱ第7章) 那么假若我們不在Delphi生成的事件過(guò)程中寫(xiě)代碼,而是自己處理消息呢? 我做了一個(gè)實(shí)驗(yàn),在Delphi中新建一個(gè)工程 代碼如下: 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. 我在窗體上放了兩個(gè)Button,但是只響應(yīng)一個(gè)Button被點(diǎn)擊 編譯出程序之后,用資源編輯工具查看,沒(méi)有OnClick事件了(這個(gè)當(dāng)然拉。 再用DeDe反編譯查看,同樣找不到任何關(guān)鍵信息,如下圖 shot.JPG下載此附件需要消耗2Kx,下載中會(huì)自動(dòng)扣除。 當(dāng)然,要找到這個(gè)程序的關(guān)鍵點(diǎn)很容易,因?yàn)橛凶址麉⒖己蛯?duì)話框,若沒(méi)有這些呢? 希望大家能想出Anti這一小技巧的技巧(^_^) 這個(gè)程序見(jiàn)這里 Project1.rar下載此附件需要消耗2Kx,下載中會(huì)自動(dòng)扣除。 |