请问如何对付反编译 ? |
答題得分者是:sos_admin
|
todayZhang
一般會員 發表:9 回覆:14 積分:4 註冊:2003-05-19 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
[转贴]
作者:张国鹏
防止用DeDe软件反编译delphi程序 OK 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中消失.
//防止反编译开始
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
Begin
APPLICATION.MESSAGEBOX('想反编译我?没那么容易!',
'哈哈......你这家伙!', mb_ok);
//closewindow(hCurrentWindow);//使该程序窗口最小化
enablewindow(hCurrentWindow, false);
//使该程序的窗口不能被激活 如果能获取该程序的线程ID号,则可以使该程序又不能使用,又不能关闭,酷吧?
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. 参见:
http://202.109.195.141/minkerui/doc/doc6.htm
http://www.csdn.net/develop/article/19/19868.shtm
|
todayZhang
一般會員 發表:9 回覆:14 積分:4 註冊:2003-05-19 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
採用ASProtect或者AsPack加殼並不可靠,因為現在有很多專門針對它們
的脫殼軟體,搜索一下就可以找出一大堆。其實dede也沒什麼,它破解的
不過是dfm文件, 還有一些彙編代碼,則是經過Delphi編譯器優化過的,
pas檔裏邊的東西它是沒辦法弄出來的。至於什麼防盜版,防破解註冊碼,
很難,大概只是時間上的問題了。如果要對自己的軟體進行一些實質性的保護,
可自己寫個加殼程式,那本《Delphi下深入Windows核心編程》中專門有一節
講如何給程式加殼的,並且帶有示例程式,可找來看看
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |