![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Win32
文章平均质量分 62
小鱼吃大鱼ni
笔记用于自己复习,不正确指正
展开
-
Win32滴水项目---进程监控
进程监控–项目练习项目要求:特别说明注意:此次项目在Win XP下编写,Win10上没有尝试。还有,监控程序(Hacker.exe)需拥有重定位表,就是DEBUG版使用内存写入的方式,实现模块隐藏.IAT表中有的API使用IAT Hook实现 不在IAT表的使用Inline Hook实现将监控的API参数写入到文件中进程间通信方式自己选择,有创新最好所有的HOOK能够正常卸载,不能导致进程意外结束我采用的是内存写入的方式注入(将当前进程代码重定位写入远程进程,在远程进程中修复IAT原创 2021-03-11 23:28:29 · 1105 阅读 · 0 评论 -
进程通信-共享内存
进程通信-共享内存通过CreateFileMapping映射的内存,可以由2个或2个以上进程共享物理页。它创建了一个内核对象,并且可以在创建物理页的时候将文件映射到物理页上。实现步骤:在接收端进程中注入代码hook或开线程在发送端对共享的内存作写入操作1、创建物理页g_hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE, //-1,表示不将文件映射到该物理页 NULL, //安全属性 PAGE_READWRIT原创 2021-03-11 22:06:22 · 111 阅读 · 0 评论 -
Inline Hook
inline hook说明IAT hook 还是需要有先行条件的,就是导入表里面得有所使用函数的地址。导入表里面没有被调函数的地址情况:被调函数与调用函数在同一模块直接自己使用LoadLibrary,GetProcAddress来加载函数对于这种无法用IAT hook 的情况,我们可以使用inline hook。inline hook 本质:就是jmp到我们需要执行的代码,执行完后再jmp回来。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y5eG0Wbm原创 2021-03-11 21:56:19 · 2766 阅读 · 1 评论 -
IAT HOOK
IAT HOOKIAT hook,通过把IAT表中的函数地址修改成我所要执行的函数地址,完成改变程序流程举例:比如原本是静态(通过系统自己加载dll)使用函数MessageBox,程序会FF间接call,找IAT表里面存的函数地址。倘若我在程序使用函数MessageBox之前,就对IAT表里面的函数地址做修改。那么,程序再call函数MessageBox的地址时,就会call我修改的那个函数的地址那里。从而实现改变程序流程案例:实现IAT hook,要求返回函数MessageBox的参数、返回值到原创 2021-03-11 21:37:36 · 625 阅读 · 0 评论 -
内存写入注入
内存写入注入如果进程A本身就给了其他进程申请和写入空间的权限,那我只要将模块复制到指定进程A的空间里面,再修改一些表,再利用远程线程或者hook也就能让我们的模块在进程A运行,这就是内存写入注入思路只要我进程A允许进程B有写入操作就可以实现注入。这样实现了隐藏模块的注入拓展:若是不允许别的进程有写入操作,但应该也会允许系统进程有写入操作,只要我将注入功能注入到系统进程里面,让系统进程对进程A进行内存写入注入就可以了。相当于内存写入注入+伪装合法软件注入步骤1、内存写入:获取当前模块句柄,得原创 2021-03-06 12:16:09 · 2557 阅读 · 0 评论 -
远程线程注入
远程线程模块注入首先明白自己进程加载dll,可以直接LoadLibrary就可以把模块加载进去。但是远程的进程该怎么让它加载直接写的模块呢?思路:如果能够让远程进程自己执行这段代码:HINSTANCE hModule = LoadLibrary("InjectDll.dll");就达到注入DLL的目的了.步骤:创建远程线程时,需要指定进程句柄/线程函数/线程函数的参数进程句柄的获取,这里用PID来获取 OpenProcess(PROCESS_ALL_ACCESS, FALSE,原创 2021-01-29 21:48:56 · 212 阅读 · 0 评论