看板 C_and_CPP 關於我們 聯絡資訊
我用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
loveme00835:全部都載到記憶體還得了... 09/30 00:44
stupid0319:在pe檔頭找空間寫入就可以了吧 09/30 01:02
xxxx9659:看header改好像比較好 又要研究header了 好多東西不會 09/30 01:32
xxxx9659:但是在exe唯讀的狀況下 也都沒辦法動... 09/30 01:33
james732:win的thread請google找「_beginthread」開始吧 09/30 01:34
loveme00835:剛剛想過用AfxBeginThread 不過那好像是 MFC 裡的? 09/30 01:36
stupid0319:OllDbg做法,改檔名為.Bak,建立原檔名,用WriteFile寫入 09/30 02:04
littleshan:boost::thread 明明就可以在 windows 下用 09/30 02:38
loveme00835:可是用Dev C++ link 起來不知道該下啥參數 0.0 09/30 02:51
purpose:怎麼會沒辦法reset呢,使用者先把原版備份,想還原時再把 09/30 10:26
purpose:原檔案拿出來用就好 09/30 10:26
loveflames:沒必要為了這個研究pe header 10/01 01:07