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

请问如何对付反编译 ?

答題得分者是:sos_admin
todayZhang
一般會員


發表:9
回覆:14
積分:4
註冊:2003-05-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-31 16:53:42 IP:218.13.xxx.xxx 未訂閱
使用delphi开发的一个系统,准备推出,但现在的反编译工具很多,如 dede 因为这个系统的开发花费了很大的精力及代价! 所以不想被盗版,至少要能够保护源程序。 请问如何防止程序被反编译哪? 發表人 - todayzhang 於 2003/07/31 17:00:27 發表人 - todayzhang 於 2003/07/31 17:08:16
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-31 17:14:11 IP:61.155.xxx.xxx 未訂閱
[转贴] 作者:张国鹏 防止用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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-31 18:16:07 IP:218.13.xxx.xxx 未訂閱
谢谢SOS-ADMIN: 这种方法只能对付"dede",而且很容易失效。有没有强大一些的方法或工具?
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-31 18:36:14 IP:61.155.xxx.xxx 未訂閱
可以到 http://www.aspack.com/downloads.html ASProtect Free Trial 工具来压缩您的执行档。    这样就不能反编译了... ...
Rain
資深會員


發表:31
回覆:236
積分:268
註冊:2003-02-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-31 20:59:43 IP:218.85.xxx.xxx 未訂閱
採用ASProtect或者AsPack加殼並不可靠,因為現在有很多專門針對它們 的脫殼軟體,搜索一下就可以找出一大堆。其實dede也沒什麼,它破解的 不過是dfm文件, 還有一些彙編代碼,則是經過Delphi編譯器優化過的, pas檔裏邊的東西它是沒辦法弄出來的。至於什麼防盜版,防破解註冊碼, 很難,大概只是時間上的問題了。如果要對自己的軟體進行一些實質性的保護, 可自己寫個加殼程式,那本《Delphi下深入Windows核心編程》中專門有一節 講如何給程式加殼的,並且帶有示例程式,可找來看看
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-01 11:39:53 IP:61.155.xxx.xxx 未訂閱
参见: Windows 外壳扩展编程实例 http://www.delphiok.com/article/0017.htm
系統時間:2024-05-20 12:07:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!