
Nguyên bản được gửi bởi
Nobita_cpp
nếu mình khai báo
typedef int WSAAPI (*_send)( SOCKET s, const char *buf, int len, int flags );
_send sendold;
thì khi dịch sẽ báo lỗi,vậy nên mình phải bỏ WSAAPI đi.Hàm chuyển hướng mình đã khai báo
int WSAAPI send2( SOCKET s, const char FAR * buf, int len, int flags )
Khi build rùi load dll thì vẫn bị out process khi gọi hàm send.
Cho mình hỏi thêm,là khi hàm apihook có đoạn
long dAddr = pa2 - pa - 5;
unsigned char *p2 = (unsigned char *)(&dAddr);
Mèo có thể giải thích sao lại là pa2-pa vậy,pa2 là địa chỉ bộ nhớ bắt đầu hàm chuyển hướng,pa là địa chỉ bắt đầu hàm gốc,vậy khi trừ đi thì nó ra 1 địa chỉ rất lạ.