防止用DeDe軟體反編譯delphi程式 (轉)
防止用DeDe反編譯
這裡有一篇防止用DeDe軟體反編譯delphi程式~
用『』裡的是我的註釋,其餘的是原創作~
Program Project1;
Uses
Forms,
,
sysutils,
Unit1 In 'Unit1.pas' {Form1},
Unit2 In 'Unit2.pas' {Form2};
Function RegisterServiceProcess(dwProcessId, dwType: d): 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中消失.
『我們可以看到作者用RegisterServiceProcess把程式註冊成了WINDOWS服務程式~』
『但大家都知道這個包含在kernel32裡,而且只在98/ME中管用~』
『所以並不要把這項作為反編譯的關鍵,可以說可有可無~』
//防止反編譯開始
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
『如果不是,則獲取現在頂機窗體的標題,在做判斷是不是"DeDe"』
Begin
APPLICATION.MESSAGEBOX('想反編譯我?沒那麼容易!',
'哈哈......你這傢伙!', mb_ok);
//closewindow(hCurrentWindow);//使該程式視窗最小化
enablewindow(hCurrentWindow, false);
//使該程式的視窗不能被啟用 如果能獲取該程式的執行緒ID號,則可以使該程式又不能使用,又不能關閉,酷吧?
『以上這兩句是對DEDE的處理~』
『closewindow:為把制定的視窗最小化,但視窗不會從中清除~』
『enablewindow:指定的視窗裡允許/禁止所滑鼠和鍵盤的輸入,false肯定是不能了~』
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.
『談談我的看法,這種方法也許是一種簡單的防止反編譯的做法,但由於過於簡單了,』
『到現在就不是很有用了,也許可以對付一些初學的朋友,我們可以看到查詢視窗的名』
『字為"DEDE"也就是說它只是一個字串,在程式中沒有很重要的地位,也就是不耽誤』
『程式的執行,我們可以藉助一些軟體把程式中所有的"DEDE"改為別的字元,呵呵,這』
『程式可是沒有邏輯思維的,改後可就對"DEDE"沒有辦法了^_^~~~~~~』
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-960492/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- c#寫的軟體如何防止被反編譯C#編譯
- .NET應用如何防止被反編譯編譯
- 程式碼混淆防止APP被反編譯指南APP編譯
- 如何保護Java程式 防止Java反編譯Java編譯
- Cython加密python程式碼防止反編譯加密Python編譯
- 用Delphi編寫DelTree程式 (轉)
- android 防止反編譯的若干方法Android編譯
- 一些防止java程式碼被反編譯的方法Java編譯
- 用Delphi編寫安裝程式(1) (轉)
- IDA Pro for Mac 靜態反編譯軟體Mac編譯
- IDA Pro for Mac(靜態反編譯軟體)Mac編譯
- 用 Delphi 編寫 VxD 裝置驅動程式(轉) (轉)
- 小程式反編譯教程編譯
- c#程式反編譯C#編譯
- 用Delphi編寫塗鴉桌面的小程式 (轉)
- 軟體推薦-Java反編譯軟體-jd-gui(附下載地址)Java編譯GUI
- 如何反編譯微信小程式?編譯微信小程式
- java加密保護jar包及class檔案,防止反編譯Java加密JAR編譯
- Java編譯與反編譯Java編譯
- Android反編譯:反編譯工具和方法Android編譯
- 用Delphi編寫點對點傳檔案程式(1) (轉)
- 用Delphi編寫點對點傳檔案程式(2) (轉)
- Delphi(BCB)中編譯器版本宏定義 (轉)編譯
- Java程式碼的編譯與反編譯那些事兒Java編譯
- ILSpy反編譯C#web程式編譯C#Web
- 利用classfinal-maven-plugin對jar進行加密,防止反編譯MavenPluginJAR加密編譯
- 開源編譯工具和編譯軟體編譯
- 用Dede再次大戰一個工資管理軟體
- 反編譯apk編譯APK
- .NET反編譯神器ILSpy怎麼用?編譯
- [轉]andriod的apk檔案相關的編譯反編譯工具APK編譯
- Android反編譯和程式碼混淆Android編譯
- APK反編譯後程式碼分析(一)APK編譯
- 反編譯某軟體直接進入微信二維碼掃描介面編譯
- Androidapk如何加固防止被破解(防止逆向編譯)AndroidAPK編譯
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- 使用Delphi,SDK編寫Windows簡單程式 (轉)Windows
- java反編譯工具Java編譯