写个较通用的32位apihook函数 免得每次都重写
来源:互联网 发布:sqlserver 默认值约束 编辑:程序博客网 时间:2024/06/05 03:43
typedef int(__stdcall *send_)(SOCKET , const char* , int , int );typedef int(__stdcall *recv_)(SOCKET, const char*, int, int);int __stdcall fake_send(SOCKET s, const char* buf, int len, int flags){return old_send(s, buf, len, flags);}int __stdcall fake_recv(SOCKET s, const char* buf, int len, int flags){int r = old_recv(s, buf, len, flags);return r;}void* hook_x86(const char* dll,const char* func,void* fake_addr){HINSTANCE hInst = ::GetModuleHandleA(dll);if (hInst == NULL)hInst = LoadLibraryA(dll);if (hInst == NULL)return NULL;char* p = (char*)::GetProcAddress(hInst, func);void* old = (void*)(p + 1);DWORD Old = 0;VirtualProtect(p - 10, 20, PAGE_EXECUTE_READWRITE, &Old);*p++ = 0xEB;*p = 0xF9;p -= 6;*p = 0xE9;DWORD* t = (DWORD*)++p;DWORD ta = (DWORD)fake_addr - ((DWORD)t - 1) - 5;*t = ta;VirtualProtect(p - 10, 20, Old, &Old);return old;}old_send = (send_)hook_x86("ws2_32.dll", "send", fake_send);old_recv = (recv_)hook_x86("ws2_32.dll", "recv", fake_recv);
欢迎加QQ群:333483823进行技术讨论.
0 0
- 写个较通用的32位apihook函数 免得每次都重写
- 总结一下,免得每次都得去查看别人的东西
- 布局注意事项(给自己免得每次都忘记)
- Bootstarp分页,每次项目都头疼的.再也不要重写了.复制下来重用
- Bit Mask 又是 位运算符的问题,每次都要死一次
- 9. 【对于所有对象都通用的方法】重写equals方法时一定也要重写hashCode方法
- 关于APIHook的例子
- APIHOOK
- APIHOOK
- 让自己公司定义的公共函数建表单时候不用每次都加一次
- eclipse CDT禁止每次调试新工程都停在main函数的方法
- HDU 4726 Kia's Calculation热身赛2 1011题(贪心 每次都找最大位的放在前面)
- 解决photoshop cs5每次打开都输入序列号的问题 (至少我好用 win7 64位)
- 今天好伤心,被骗的很惨很惨!!!大家都注意哦。。看看,免得以后受骗!!
- rand()每次产生的随机数都一样
- vc 每次都重新编译的原因
- matlab 产生每次都一样的随机数
- C#(模板模式)将父窗体继承之后重写一个按钮的事件,为什么每次都要运行两次才结束?
- Java中LinkedList和ArrayList的区别
- 提高第27课时,实践3,项目3-数组的排序
- matlab对音频均匀量化
- 关于python IDE中中文报错的解决办法
- VMWare虚拟机下为Ubuntu 12.04.1配置静态IP(NAT方式)
- 写个较通用的32位apihook函数 免得每次都重写
- 素数距离问题(nyoj24)
- java过滤器和监听器详解
- openframeworks的阅读及总结(1)
- 洛阳治疗早泄哪家医院好呢~~
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Android 联系人按中文拼音排序
- 百度地图 demo 在html中显示 在jsp中不显示
- linux配置Jexus发布asp.net网站