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

請問EXE檔內資料編碼的問題大家是如何處理的?

尚未結案
paul
初階會員


發表:8
回覆:82
積分:28
註冊:2002-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-31 16:36:25 IP:202.39.xxx.xxx 未訂閱
這幾天很意外的發現一個程式漏洞的問題,請教大家是如何處理此問題的.    一般我們都會在程式的程式碼或屬性欄位直接寫入連線字串或密碼字串,如 
idFTP1.host:='abc.com';
idFTP1.username:='abcd';
idFTP1.password='abcd';
idFTP1.connect;
然後Compiler,執行,可用,就交付程式了,以為程式到此為止,工作結束. 但不知大家有否發現一個大問題,亦即用 ultraEdit 等程式去觀看該執行檔時,可看到您所設的密碼或關鍵資料在程式內,且是一清二楚的擺在裡面,這樣有心人士不是就知道您的自認為的機密資料了嗎? 這個問題,不只Delphi有,在其他的程式語言應也是存在的. 一般程式設計的書上都沒談到此問題,想請教大家對此問題的看法和作法.
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-31 18:03:01 IP:61.221.xxx.xxx 未訂閱
paul 你好: 所以一般來說程式設計師會用外部取得資訊的方式來處理 如 A.LoadFile('c:\123.txt'); idFTP1.host:=a.string[0]; idFTP1.username:=a.string[1]; idFTP1.password=a.string[2];
------
======================
昏睡~
不昏睡~
不由昏睡~
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-31 18:33:15 IP:211.23.xxx.xxx 未訂閱
引言: 這幾天很意外的發現一個程式漏洞的問題,請教大家是如何處理此問題的. 一般我們都會在程式的程式碼或屬性欄位直接寫入連線字串或密碼字串,如
idFTP1.host:='abc.com';
idFTP1.username:='abcd';
idFTP1.password='abcd';
idFTP1.connect;
然後Compiler,執行,可用,就交付程式了,以為程式到此為止,工作結束. 但不知大家有否發現一個大問題,亦即用 ultraEdit 等程式去觀看該執行檔時,可看到您所設的密碼或關鍵資料在程式內,且是一清二楚的擺在裡面,這樣有心人士不是就知道您的自認為的機密資料了嗎? 這個問題,不只Delphi有,在其他的程式語言應也是存在的. 一般程式設計的書上都沒談到此問題,想請教大家對此問題的看法和作法.
方法一: 在要輸入密碼的部份, 彈出對話盒來問 USER, 這樣是最保險的做法. 方法二: 若操作的使用者不知密碼的狀況下要寫到程式內, 會先經過簡單的加密, 等到要密碼的部份在動態的解密回來. (最簡單的方法就是將密碼每個BYTE XOR 255 後再轉成 16 進位寫在程式中). 這樣就很被找出來了, 當然你要用 DES 之類的方法當然更保險了. 方法三: 類似方法二, 但是將密碼存放在外部設定檔中, 當然也是要經過編碼. 這樣的好處是更改密碼時只要更新設定檔即可, 不需重編程式. ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-31 18:41:51 IP:218.163.xxx.xxx 未訂閱
引言: 這幾天很意外的發現一個程式漏洞的問題,請教大家是如何處理此問題的. 一般我們都會在程式的程式碼或屬性欄位直接寫入連線字串或密碼字串,如
idFTP1.host:='abc.com';
idFTP1.username:='abcd';
idFTP1.password='abcd';
idFTP1.connect;
然後Compiler,執行,可用,就交付程式了,以為程式到此為止,工作結束. 但不知大家有否發現一個大問題,亦即用 ultraEdit 等程式去觀看該執行檔時,可看到您所設的密碼或關鍵資料在程式內,且是一清二楚的擺在裡面,這樣有心人士不是就知道您的自認為的機密資料了嗎? 這個問題,不只Delphi有,在其他的程式語言應也是存在的. 一般程式設計的書上都沒談到此問題,想請教大家對此問題的看法和作法.
Delphi EXE檔減肥程式 http://upx.sourceforge.net/ 用法: upx Compress C:\Project1.exe 存成BAT檔: < src="http://delphi.ktop.com.tw/download/upload\33223_qoo.gif">網海無涯,學無止境!
paul
初階會員


發表:8
回覆:82
積分:28
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-08 01:53:16 IP:61.71.xxx.xxx 未訂閱
本問題我以以下的方式處理 設一壓密函數 encrypt(s:string)和一解密函數 decrypt(s:string) aa:='abc1234'; //先以壓密函數得出壓密後字串值為 'abc1234' 在輸入傳入字串的地方再以 ab:=decrypt(aa); //代入資料時再解密出來使用 本來重點是在壓密解密的部份,這 aquarius 兄有提到,但因 qoo1234 兄提到的方法確實也是一種解法,實作後確實看不到文字字串的部份且檔案縮小對我分發傳輸也有幫助,所以我得分給了 qoo1234,本問題就此先結案!
系統時間:2024-06-29 9:40:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!