請問EXE檔內資料編碼的問題大家是如何處理的? |
尚未結案
|
paul
初階會員 發表:8 回覆:82 積分:28 註冊:2002-04-14 發送簡訊給我 |
這幾天很意外的發現一個程式漏洞的問題,請教大家是如何處理此問題的. 一般我們都會在程式的程式碼或屬性欄位直接寫入連線字串或密碼字串,如
idFTP1.host:='abc.com'; idFTP1.username:='abcd'; idFTP1.password='abcd'; idFTP1.connect;然後Compiler,執行,可用,就交付程式了,以為程式到此為止,工作結束. 但不知大家有否發現一個大問題,亦即用 ultraEdit 等程式去觀看該執行檔時,可看到您所設的密碼或關鍵資料在程式內,且是一清二楚的擺在裡面,這樣有心人士不是就知道您的自認為的機密資料了嗎? 這個問題,不只Delphi有,在其他的程式語言應也是存在的. 一般程式設計的書上都沒談到此問題,想請教大家對此問題的看法和作法. |
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
引言: 這幾天很意外的發現一個程式漏洞的問題,請教大家是如何處理此問題的. 一般我們都會在程式的程式碼或屬性欄位直接寫入連線字串或密碼字串,如方法一: 在要輸入密碼的部份, 彈出對話盒來問 USER, 這樣是最保險的做法. 方法二: 若操作的使用者不知密碼的狀況下要寫到程式內, 會先經過簡單的加密, 等到要密碼的部份在動態的解密回來. (最簡單的方法就是將密碼每個BYTE XOR 255 後再轉成 16 進位寫在程式中). 這樣就很被找出來了, 當然你要用 DES 之類的方法當然更保險了. 方法三: 類似方法二, 但是將密碼存放在外部設定檔中, 當然也是要經過編碼. 這樣的好處是更改密碼時只要更新設定檔即可, 不需重編程式. ...AquariusidFTP1.host:='abc.com'; idFTP1.username:='abcd'; idFTP1.password='abcd'; idFTP1.connect;然後Compiler,執行,可用,就交付程式了,以為程式到此為止,工作結束. 但不知大家有否發現一個大問題,亦即用 ultraEdit 等程式去觀看該執行檔時,可看到您所設的密碼或關鍵資料在程式內,且是一清二楚的擺在裡面,這樣有心人士不是就知道您的自認為的機密資料了嗎? 這個問題,不只Delphi有,在其他的程式語言應也是存在的. 一般程式設計的書上都沒談到此問題,想請教大家對此問題的看法和作法.
------
水瓶男的blog: http://791909.blogspot.com |
qoo1234
版主 發表:256 回覆:1167 積分:659 註冊:2003-02-24 發送簡訊給我 |
引言: 這幾天很意外的發現一個程式漏洞的問題,請教大家是如何處理此問題的. 一般我們都會在程式的程式碼或屬性欄位直接寫入連線字串或密碼字串,如Delphi EXE檔減肥程式 http://upx.sourceforge.net/ 用法: upx Compress C:\Project1.exe 存成BAT檔: < src="http://delphi.ktop.com.tw/download/upload\33223_qoo.gif">網海無涯,學無止境!idFTP1.host:='abc.com'; idFTP1.username:='abcd'; idFTP1.password='abcd'; idFTP1.connect;然後Compiler,執行,可用,就交付程式了,以為程式到此為止,工作結束. 但不知大家有否發現一個大問題,亦即用 ultraEdit 等程式去觀看該執行檔時,可看到您所設的密碼或關鍵資料在程式內,且是一清二楚的擺在裡面,這樣有心人士不是就知道您的自認為的機密資料了嗎? 這個問題,不只Delphi有,在其他的程式語言應也是存在的. 一般程式設計的書上都沒談到此問題,想請教大家對此問題的看法和作法. |
paul
初階會員 發表:8 回覆:82 積分:28 註冊:2002-04-14 發送簡訊給我 |
本問題我以以下的方式處理 設一壓密函數 encrypt(s:string)和一解密函數 decrypt(s:string) aa:='abc1234'; //先以壓密函數得出壓密後字串值為 'abc1234'
在輸入傳入字串的地方再以
ab:=decrypt(aa); //代入資料時再解密出來使用
本來重點是在壓密解密的部份,這 aquarius 兄有提到,但因 qoo1234 兄提到的方法確實也是一種解法,實作後確實看不到文字字串的部份且檔案縮小對我分發傳輸也有幫助,所以我得分給了 qoo1234,本問題就此先結案!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |