請問各位大大幫忙看一下,我的偏移有問題嗎?
一直讀不出來還是我那邊寫錯了,有時只能讀出草的名稱,很多讀不出來。
在寫發包和CALL時,會看到系統ID和類型ID請問一下這二個是一樣的嗎?
謝謝!
以下是我的源碼
ENVIRON_ITEM_base_addr:= read_addr(W2I_ENVIRON_BASE_ADDR+$28);
READPROCESSMEMORY(hCurrentHandle,Pointer(ENVIRON_ITEM_base_addr+$14),@ENVIRON_ITEM_amount,4,iRead);
ENVIRON_ITEM_LIST_addr := read_addr(ENVIRON_ITEM_base_addr+$18);
for k := 0 to 768 do //最大768
begin
ENVIRON_ITEM_addr := read_addr(ENVIRON_ITEM_LIST_addr+ DWORD(k*4));
ENVIRON_ITEM_obj := read_addr(ENVIRON_ITEM_addr+$04);
READPROCESSMEMORY(hCurrentHandle,Pointer(ENVIRON_ITEM_obj+$10c),@ENVIRON_ITEM_SysID,4,iRead); //系統ID
READPROCESSMEMORY(hCurrentHandle,Pointer(ENVIRON_ITEM_obj+$11c),@ENVIRON_ITEM_ID,4,iRead);
READPROCESSMEMORY(hCurrentHandle,Pointer(ENVIRON_ITEM_obj+$158),@ENVIRON_ITEM_DIST,4,iRead);
READPROCESSMEMORY(hCurrentHandle,Pointer(ENVIRON_ITEM_obj+$174),@ENVIRON_ITEM_Type,4,iRead);
READPROCESSMEMORY(hCurrentHandle,Pointer(ENVIRON_ITEM_obj+$164),@ENVIRON_ITEM_Name_addr,4,iRead);
ReadProcessMemory(hCurrentHandle,pointer(ENVIRON_ITEM_Name_addr+$0c),@(ENVIRON_ITEM_Name),SizeOf(ENVIRON_ITEM_Name),iRead);
end; |