[問題] EXE檔執行時本身唯讀問題

看板C_and_CPP (C/C++)作者 (嘎嘎嘎嘎嘎)時間15年前 (2010/09/30 00:41), 編輯推噓6(606)
留言12則, 7人參與, 最新討論串1/1
我用C++寫一個沒辦法reset的計數器 第一次執行會顯示1 往後每次執行會累加 有計數一定有存檔 可能存在同某某資料夾或登錄檔 我想說就存在exe檔本身 永遠沒辦法reset!!! 這樣一定很酷 程式碼就大概像是 0. char data[20]="THIS_WAY00000000000"; 1. 讀取 argv[0] 2. 搜尋"THIS_WAY" 讀取數值並累加 3. 寫回 argv[0] 4. 顯示 data 一直卡在第3步驟 程式在執行的時候exe檔會變唯讀 exe檔可以重新命名 移動 減下 複製 貼上 就是無法改exe裡的DATA 還有刪除 用unlocker也沒用 但是exe檔執行不是把整段機器碼丟到記憶體去跑 OS幹嘛把檔案變唯讀@@ 有方法把他變不唯讀嗎? -------------------------------------------------------------- 題外話 boost裡面的thread 是不是在windows下不能使用? 有沒有在windows下可以使用thread的好方法 Dev-C++ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.118.138

09/30 00:44, , 1F
全部都載到記憶體還得了...
09/30 00:44, 1F

09/30 01:02, , 2F
在pe檔頭找空間寫入就可以了吧
09/30 01:02, 2F

09/30 01:32, , 3F
看header改好像比較好 又要研究header了 好多東西不會
09/30 01:32, 3F

09/30 01:33, , 4F
但是在exe唯讀的狀況下 也都沒辦法動...
09/30 01:33, 4F

09/30 01:34, , 5F
win的thread請google找「_beginthread」開始吧
09/30 01:34, 5F

09/30 01:36, , 6F
剛剛想過用AfxBeginThread 不過那好像是 MFC 裡的?
09/30 01:36, 6F

09/30 02:04, , 7F
OllDbg做法,改檔名為.Bak,建立原檔名,用WriteFile寫入
09/30 02:04, 7F

09/30 02:38, , 8F
boost::thread 明明就可以在 windows 下用
09/30 02:38, 8F

09/30 02:51, , 9F
可是用Dev C++ link 起來不知道該下啥參數 0.0
09/30 02:51, 9F

09/30 10:26, , 10F
怎麼會沒辦法reset呢,使用者先把原版備份,想還原時再把
09/30 10:26, 10F

09/30 10:26, , 11F
原檔案拿出來用就好
09/30 10:26, 11F

10/01 01:07, , 12F
沒必要為了這個研究pe header
10/01 01:07, 12F
文章代碼(AID): #1Cesmg5B (C_and_CPP)
文章代碼(AID): #1Cesmg5B (C_and_CPP)