如何把文字檔(如.dat 或.txt)嵌入exe檔中呢 |
尚未結案
|
anson603
一般會員 發表:3 回覆:6 積分:1 註冊:2005-05-30 發送簡訊給我 |
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言: 各位高手,請問如何把文字檔(如.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 發送簡訊給我 |
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言: 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 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言: 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 發送簡訊給我 |
引言: 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 發送簡訊給我 |
在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 發送簡訊給我 |
雖然到最後還是自己試出來,但是還是給最接近的高手分數 我試出來的程式是
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 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |