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

如何把文字檔(如.dat 或.txt)嵌入exe檔中呢

尚未結案
anson603
一般會員


發表:3
回覆:6
積分:1
註冊:2005-05-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-03 20:48:35 IP:220.138.xxx.xxx 未訂閱
各位高手,請問如何把文字檔(如.dat 或.txt)嵌入exe檔中呢,因為在執行的過程中需要另外一個patterm file(如.dat 或.txt)裡的資料,但是又不想讓使用者看到patterm file,那如何將文字檔嵌入exe檔中呢
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-04 20:46:32 IP:59.104.xxx.xxx 未訂閱
引言: 各位高手,請問如何把文字檔(如.dat 或.txt)嵌入exe檔中呢,因為在執行的過程中需要另外一個patterm file(如.dat 或.txt)裡的資料,但是又不想讓使用者看到patterm file,那如何將文字檔嵌入exe檔中呢
1.讀取Exe檔轉為String 2.將嵌入的文字檔加到exe String後方!(並加註暗碼) 3.存儲 例: |--This EXE------------||PrssWord||--TextFile----| ->存儲為EXE 0EFEABCDAAAEEEAAA0F0F0FAABCDEFGHIJTHIS IS TXT FILE 發表人 - jest0024 於 2005/06/04 20:54:54
anson603
一般會員


發表:3
回覆:6
積分:1
註冊:2005-05-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-04 21:04:10 IP:220.138.xxx.xxx 未訂閱
jest0024大哥,我還是不懂你的意思,我的問題是想把.dat(patterm file)加入專案裡,complier時就直接在exe中,因為之前是分開的,而執行時需開啟.dat才可運作,但不想讓使用者看到.dat的資料(因為是機密的),可否請您再說詳細一點呢,那在程式中又如何寫呢,感激不盡 發表人 - anson603 於 2005/06/04 21:06:28
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-04 23:40:38 IP:59.104.xxx.xxx 未訂閱
引言: jest0024大哥,我還是不懂你的意思,我的問題是想把.dat(patterm file)加入專案裡,complier時就直接在exe中,因為之前是分開的,而執行時需開啟.dat才可運作,但不想讓使用者看到.dat的資料(因為是機密的),可否請您再說詳細一點呢,那在程式中又如何寫呢,感激不盡 發表人 - anson603 於 2005/06/04 21:06:28
若於complier時就直接在exe中,可使用資源檔直接匯入!! 參考WINAPI FindResource LoadResource LockResource SizeofResource FreeResource ....(可搜尋一下此方面主題) 發表人 - jest0024 於 2005/06/04 23:42:38
anson603
一般會員


發表:3
回覆:6
積分:1
註冊:2005-05-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-05 00:19:57 IP:218.168.xxx.xxx 未訂閱
jest0024 大哥,我先前有找過API的文章,不過都是針對.WAV .MP3 .AVI做資源檔的介紹,就是沒有對.TXT 或 .DAT做介紹,不同型態的檔案在BCB的程式寫法也不一樣吧,所以還請您及各位高手不吝賜教,謝謝
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-05 00:39:59 IP:221.169.xxx.xxx 未訂閱
anson603:感覺上你的問題一定要按你的方式處理嗎? 我的話!放一個TMemo將Visiable設為false 如此存取由我! 請參考! Andy Chang
------
Andy Chang
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-05 03:18:46 IP:59.104.xxx.xxx 未訂閱
引言: jest0024 大哥,我先前有找過API的文章,不過都是針對.WAV .MP3 .AVI做資源檔的介紹,就是沒有對.TXT 或 .DAT做介紹,不同型態的檔案在BCB的程式寫法也不一樣吧,所以還請您及各位高手不吝賜教,謝謝
載入法如同WAV,MP3,AVI..but是將他載入為Stream 1. MemoryStream->WriteBuffer(LockResource指標,SizeofResource大小); MemoryStream->Position = 0; StringList->LoadFromStream(MemoryStream); 使用支援Stream之物件 2.或存為暫存檔處理!!
anson603
一般會員


發表:3
回覆:6
積分:1
註冊:2005-05-30

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-06-06 18:59:59 IP:210.201.xxx.xxx 未訂閱
引言: 1.讀取Exe檔轉為String 2.將嵌入的文字檔加到exe String後方!(並加註暗碼) 3.存儲 例: |--This EXE------------||PrssWord||--TextFile----| ->存儲為EXE 0EFEABCDAAAEEEAAA0F0F0FAABCDEFGHIJTHIS IS TXT FILE
現在我的需求又變了,跟你給我這好像有一點相關,新需求是重新寫一個exe檔(如a.exe),這exe檔的功能是將.dat檔嵌入另一個exe檔(b.exe),並產生另一個exe檔(c.exe),這c.exe檔能使用.dat檔裡的資料,請問各位高手可以幫我想想看嗎,感激 發表人 - anson603 於 2005/06/06 19:01:46
Armour
一般會員


發表:0
回覆:1
積分:0
註冊:2005-03-05

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-06-06 19:50:13 IP:163.28.xxx.xxx 未訂閱
在b.exe裡面宣告一個很大的陣列(至少要比你要塞進去的.dat大),並加上簽名標籤,ex:
char huge_space[512*1024]="#key_tag#";
build成執行檔以後就可以在b.exe檔案裡面發現#key_tag#,後面一堆00h, 然後寫一個a.exe去找到b.exe裡面#key_tag#的位置,再把.dat直接寫進去。 Tip:這時簽名標籤已經被蓋過去囉。 當c.exe(或是b.exe)在執行時,檢查huge_space是不是指向#key_tag#, 如果是,表示.dat還沒塞進來。
引言:
引言: 1.讀取Exe檔轉為String 2.將嵌入的文字檔加到exe String後方!(並加註暗碼) 3.存儲 例: |--This EXE------------||PrssWord||--TextFile----| ->存儲為EXE 0EFEABCDAAAEEEAAA0F0F0FAABCDEFGHIJTHIS IS TXT FILE
現在我的需求又變了,跟你給我這好像有一點相關,新需求是重新寫一個exe檔(如a.exe),這exe檔的功能是將.dat檔嵌入另一個exe檔(b.exe),並產生另一個exe檔(c.exe),這c.exe檔能使用.dat檔裡的資料,請問各位高手可以幫我想想看嗎,感激 發表人 - anson603 於 2005/06/06 19:01:46
anson603
一般會員


發表:3
回覆:6
積分:1
註冊:2005-05-30

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-06-08 12:19:50 IP:210.201.xxx.xxx 未訂閱
雖然到最後還是自己試出來,但是還是給最接近的高手分數    我試出來的程式是
    FILE *fpw,*fpr;
char GetStringLine;    fpw = fopen(filename1.exe,"a");
fpr = fopen(filename2.dat,"r");    while( ! feof(fpr) )
{
    GetStringLine = fgetc(fpr);
    fwrite(&GetStringLine, sizeof(GetStringLine), 1, fpw);
}    fclose(fpw);
fclose(fpr);
結果是filename2.dat加到filename1.exe的最後面 發表人 - anson603 於 2005/06/08 12:22:23
系統時間:2024-11-23 13:06:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!