程式在e盤,程式要用createfile 打開系統dll,但是打不開
程式如下:
HANDLE hFile = CreateFile(
theFileName, //PE檔案名
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
HANDLE hFileMapping = CreateFileMapping(hFile,NULL,PAGE_READONLY,0,0,NULL);
LPBYTE lpBaseAddress = (LPBYTE)MapViewOfFile(hFileMapping, // handle to map object
FILE_MAP_READ, 0, 0, 0);
uj5u.com熱心網友回復:
敢不敢把具體的提示資訊貼出來?uj5u.com熱心網友回復:
不好意思!這個程式是這樣的:我讀取了一個pe檔案的匯入表,知道了檔案加載的dll資訊,我想打開這些dll看到這些dll的匯入表的資訊。比如,我知道一個dll檔案是MFC42.DLL,theFileName=“c:\windows\system32\MFC42.dll” 得到的lpBaseAddress 值位0,沒辦法得到其匯入表uj5u.com熱心網友回復:
mfc的dll不一定是系統dll吧。uj5u.com熱心網友回復:
你這個代碼,每一步都需要判斷執行是否成功。比如 CreateFile 打開檔案,需要判斷 hFile 是否為一個有效的句柄,然后才能繼續下一步。uj5u.com熱心網友回復:
是的,我已經判斷了,顯示是個無效的handle。是createfile不能這么使用?我查了很多資料,都沒說這樣有問題呀uj5u.com熱心網友回復:
CreateFile 以后 GetLastError 獲取一下錯誤代碼轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/100251.html
