全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:6000
推到 Plurk!
推到 Facebook!

防止用DeDe軟體反編譯delphi程序

 
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-10-09 11:02:57 IP:61.216.xxx.xxx 未訂閱
防止用DeDe軟體反編譯delphi程序 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.
chengcti
一般會員


發表:0
回覆:3
積分:0
註冊:2002-08-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-10-09 15:28:50 IP:211.74.xxx.xxx 未訂閱
引言: 防止用DeDe軟體反編譯delphi程序 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.
方法不是很好 我把 DeDe 改一改一樣可以 decompiler 原因是這段文章只 check DeDe 是不是已經執行. 問題是我有辦法讓軟體找不到 DeDe 的 window handle 所以這個方法辦不到. 繼續想... 看還有啥辦法可以解決 不然 DeDe 可解 delphi & BCB
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-10-09 16:48:49 IP:61.217.xxx.xxx 未訂閱
已經出到DeDe 3.0版,所以還滿傷腦筋的!
SKYSTAR
中階會員


發表:76
回覆:198
積分:64
註冊:2002-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-10-09 22:41:45 IP:211.74.xxx.xxx 未訂閱
請教一下... 我在網路中曾看到有一個軟體,可以用來反組譯Delphi所設計好的程式... 但是不曉得是不是您們所說的DeDe.... 而且如果記得沒有錯的話,我所看到的軟體...也只能反組譯出組合語言... 所以如果有想要破解的人,就算是得到了組合語言而不是Pascal原始碼... 應該也沒軏吧!! 註:組合語言部份是指...單元內的實作部份...全部是組合語言!! Thanks!!
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-10-10 10:35:37 IP:61.225.xxx.xxx 未訂閱
DeDe--->反組譯出組合語言(DeDe3.0可以將輸出完整計畫檔的組合語言) --->組合語言轉譯為Pascal語言 另外轉載:(懲罰惡意破解他人軟體的人) http://delphi.ktop.com.tw/topic.php?TOPIC_ID=21841 發表人 - flyup 於 2002/10/10 11:03:17
SKYSTAR
中階會員


發表:76
回覆:198
積分:64
註冊:2002-06-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-10-10 21:07:20 IP:211.74.xxx.xxx 未訂閱
哦....DeDe有這麼強呀!! 不知道是否有朋友願意將這個東東,分享一份給我.... 我想要試試看...因為可以來試試如何避免被這個東東給破解自己所寫的 軟體!! 註:是用來試驗的...並不是拿來破解別人的軟體!! 請放心!! Thanks!!
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-10-10 23:08:32 IP:61.216.xxx.xxx 未訂閱
目前最流行防破解的方法: 1.授權檔(設定授權檔使用期限方式!) 2.註冊碼 3.線上取得序號 4.電話註冊方式:聯絡設計公司取得安裝序號 5.多層授權方式:安裝一個序號、使用程式一個授權檔。 6.點數設定方式:如網路遊戲。 a.程式更新 b.線上取得點數。 各位客官!若知道更好的防破解方式,希望多多提供!
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-10-11 18:16:15 IP:61.221.xxx.xxx 未訂閱
********************************************************************** 抓出及更換exe或dll裡的resource~ 可看資源匯出rc檔 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19181 ********************************************************************** pexsetup試用版(視窗除錯組譯軟體) http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19619 可看資源與引用dll ********************************************************************** Dependency Walker 2.1一般是看EXE調用哪些DLL http://delphi.ktop.com.tw/topic.php?TOPIC_ID=21613 一般是看EXE調用哪些DLL,這可以使用VC 中的工具Dependency Walker, 它可以列出靜態鏈結的所有DLL。也可以從http://www.DependencyWalker.com 下載該工具。如果EXE中的DLL包括MSVBVM60.DLL,則是使用VB 6.0開發的, 如果包括MSVBVM50.DLL,則是使用VB 5.0開發的。如果調用了MFC42.DLL, 則是使用VC 5.0/6.0開發的。如果EXE中包括 “Portions Copyright (c) 1983,99 Borland”文字, 則是使用Delphi/C Builder編寫的。 ********************************************************************** language2000一般是看EXE調用哪些DLL http://delphi.ktop.com.tw/topic.php?TOPIC_ID=21609 ********************************************************************** 你所要的防dede反編譯delphi程序 的工具 http://toget.pchome.com.tw/intro/utility_file/utility_file_compression/2700.html ASPack 是一個很特殊的壓縮程式,與 WinZip 這一類我們常用的壓縮程式不同的是被它壓縮過後的檔案還是保持原貌,可以繼續正常使用並不會產生異狀,無疑的在對於您的作業系統效能提高上是有相當大的幫助的,不但可以減少空間的使用,更可以縮短程式啟動的時間。 ASPack 主要的設計是來壓縮作業系統中應用程式的相關檔案如 exe、dll、ocx 等等,而且是以 Win32 形式所產生出來的執行檔或者是動態連結檔,所以在這三個範圍以外的檔案是無法被壓縮的,你還是得用 WinZIP 之類的軟體去壓縮這些檔案才行。 當你使用過 ASPack 來壓縮你的應用程式執行檔時,可以很明顯的發現到它的壓縮效果,ASPack 可以為你的檔案壓縮比從 40%~70% 不等,所以當你從新啟動程式的時候您將可以發現到突然間變得更快了,原因就是你的應用程式執行檔變小了。 除了壓縮的功能之外,如果你是程式設計師,不想要讓辛苦開發出來的軟體被其他人所反組譯、破解修改的話,ASPack 也可以發揮出強大的防護功效,只要將你的應用程式執行檔經過 ASPack 壓縮之後,一般的駭客是無法輕易的加以破解的。 另外 ASPack 還有一個貼心的地方就是如果你壓縮過的執行檔若無法執行的話,別擔心 ASPack 會在你應用程式的同一個夾子中產生備份的檔案,這時只要將檔名還原即可,並不需要再重新安裝一次軟體。 ASPack 不僅操作簡易且功能強大,相信你一定可以用它來將你的作業系統大大的減肥一番,這樣子您就在也不會覺得您的 Windows 總是一副癡肥樣,氣喘噓噓的跑不動喔!!! 還滿好用的 哈哈 ********************************************************************** 試看看 是否符合你的需求
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-06-24 19:43:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!