你们猜猜有没有这个可能性 本帖最后由 hahanibc 于 2009-09-16 06:28:39 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我猜是可以的截获第一个messagebox, 创建线程后再返回 Inject your code to a Portable Executable filehttp://www.codeproject.com/KB/system/inject2exe.aspx 应该是可以的。在a启动之前加一个全局msghook就ok了。 可以的。楼主可以看一下动态补丁的原理。也可以用detours来实现。 可以,而且我实现过类似的。简单说分几步:就是SuspendThread挂起目标线程,GetThreadContext保存环境, VirtualAllocEx, WriteProcessMemory写入要执行的代码, 修改 ThreadContext中EIP指向新的入口, SetThreadContext->ResumeThread就可以让目标线程执行你刚插入的代码了. 然后继续监视目标线程执行, 等你插入的代码执行完成后再次SuspendThread, 再用SetThreadContext->ResumeThread恢复原始环境并让它从刚才被打断的地方继续执行. 需要注意的是在注入过程中要保护好堆栈. 另外注入代码中工作完成后的暂停等待是个麻烦, 因为你不能用任何系统的等待过程比如sleep, waitforxxx等函数(因为后续执行会被外面的注入者用SetThreadContext 强行转走,如果使用了内核对象的话会造成不可预计的错误). 我当初的做法是宿主程序作为调试器Attach到目标进程上, 然后注入代码执行完后执行一条int 3即可. 说的很好,漏了一开始的DebugActiveProcess,(*^__^*) 嘻嘻……。以前我也这么搞过 vc++关于自加运算的理解 求救!!!! 弱问下做一个简单的随机按钮问题 HP 8594E 用户编程手册(主要是发命令控制机器这一块),谁有谢谢? COM创建实例错误 hash_map in vs2005 关于打印预览 输入法从简体中文的windows中移植到英文windows系统中的解决方案???急急急 有关远程控制的问题 全局变量问题! ADO连接access数据出错,#error : WINDOWS.H already included. MFC apps must not #includ 用CSPlietWnd分割视图,点击左边按钮进行右边视图的切换问题
需要注意的是在注入过程中要保护好堆栈. 另外注入代码中工作完成后的暂停等待是个麻烦, 因为你不能用任何系统的等待过程比如sleep, waitforxxx等函数(因为后续执行会被外面的注入者用SetThreadContext 强行转走,如果使用了内核对象的话会造成不可预计的错误). 我当初的做法是宿主程序作为调试器Attach到目标进程上, 然后注入代码执行完后执行一条int 3即可.