mình muốn Create 1 DLL và dùng ollydbg hook vào 1 file .exe và đây là phần thân code của DLL của nó
Mã:
HWND hWnd = FindWindow(0, "My project"); { DWORD proc_id; GetWindowThreadProcessId(hWnd, &proc_id); HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id); if(!hProcess) { MessageBox(NULL, "Cannot open process!", "Error!", MB_OK + MB_ICONERROR); } else { BYTE newdata[]={0x72, 0x65, 0x64, 0x70, 0x6F, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; DWORD newdatasize = sizeof(newdata); if(WriteProcessMemory(hProcess, (LPVOID)0x12BC50, &newdata, newdatasize, NULL)) { MessageBox(NULL, "WriteProcessMemory is a success!", "Success!", MB_OK + MB_ICONINFORMATION); } else { MessageBox(NULL, "Error cannot WriteProcessMemory!", "Error!", MB_OK + MB_ICONERROR); } CloseHandle(hProcess); } }
theo code trên thì sẽ write vào memory của ct có của sổ là My project nhưng sao mình dùng ollydbg để hook DLL này vào thì nó toàn báo Cannot open process! Mình nghĩ là nó sẽ load hết code của DLL này rồi mới tiến hành chạy các code tiếp theo của file .exe kia (lúc DLL này load thì ct vẫn chưa hiện cửa sổ). Nhưng mình complite code kia ra console và chạy file .exe đợi nó load xong rồi chạy consonle để Patch memory thì rất OK
Vấn đề của mình muốn hỏi là làm sao để code DLL này có cơ chế đợi cửa sổ My Project đc kích hoạt thì mới write memory (như kiểu cơ chế đợi winwaitactive trong AutoIT vậy)
(file .exe ko phải của mình viết nên phải dùng ollydbg mới hook đc DLL vào)
mong tin các bạn
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...