- 博客(11)
- 资源 (11)
- 收藏
- 关注
原创 MemoryModule阅读与PE文件解析(一)
参考链接https://github.com/fancycode/MemoryModule本文阅读github 上MemoryModule 代码的同时,介绍PE 文件相关的基础知识。 该项目实现“手动加载DLL”即“实现了自己的LoadLibrary函数”,将DLL 加载到内存中,然后进行常规的DLL 操作。 函数第一步,通过调用LoadLibrary 函数加载DLL 并进行一些常规的
2017-10-25 11:05:42 3436
翻译 内核模式到用户模式的回调函数----这篇文章是十年前国外大牛写的
内核模式到用户模式的回调函数http://www.nynaeve.net/?p=200 NTDLL 拥有一些特定的函数被内核用来代表用户模式执行特定的功能。尽管理解这些函数对于特定的功能(比如用户模式APC)的底层实现的理解是有用的,这些函数提供的功能非常的简单。 下面是一些NTDLL导出的,内核用于与用户模式通讯的函数: 1.KiUserExceptionDis
2017-10-23 22:38:17 8143
翻译 系统范围内拥有相同基址的DLL 以及这样做的原因
原文链接http://www.nynaeve.net/?p=198 因为某些原因,系统中的一些DLL需要加载在不同进程的同样的基地址上(在终端服务会话中,其中一些DLL可能使用轮流基地址) ,尽管微软没有明确的文档化, 一些程序的运行依赖于这些“固定基址的DLL”。 这并不意味着这些DLL 的基地址不可改变,但是在系统运行的时候,所有的进程都将会把这些DLL 映射到同
2017-10-17 19:54:29 760
翻译 为什么当前大多数应用程序是多线程的,为什么要使用支持多线程的库
原文http://www.nynaeve.net/?p=198 大部分的Win32 程序在运行的时候,其进程中至少有一段时间是超过一个线程的,尽管有时程序没有明确的创建一个线程。这是因为有些系统API 会为了它们自己的目的而创建线程。 例如,控制台Ctrl-C/Ctrl-Break 事件默认情况下是被单独的线程处理的。(在内部,CSRSS在容器进程中创建一
2017-10-17 16:55:23 989
翻译 在64-bit 驱动中支持32-bit I/O 操作
原文https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/supporting-32-bit-i-o-in-your-64-bit-driver WOW64 机制使得Win32 用户模式应用程序可以在64-bit windows 上运行。在Win32 函数调用转移到64-bit 内核之前,截获其调用并将指针精度
2017-10-14 21:34:09 1366
翻译 Run-Down 保护
Run-Down 保护https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/run-down-protection * 从Windows XP 开始,内核可以使用 run-down 保护。驱动可以使用run-down 保护来安全访问另一个内核模式驱动在共享系统内存中创建和删除的对象。(这里“删除”的意思是,在
2017-10-09 23:22:18 767
翻译 SetWindowsHookEx 函数,暂时没有深入研究
SetWindowsHookExhttps://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx 在钩子链表中安装一个应用程序定义的钩子函数,以监控系统中特定类型的事件的发生。这些事件或者是与某一个线程绑定的,或者是与调用线程所在的窗口中的所有线程绑定的。HHOOK WINAPI SetWindo
2017-10-06 18:04:29 517
翻译 桌面环境和窗口站
桌面环境https://msdn.microsoft.com/en-us/library/windows/desktop/ee663298(v=vs.85).aspxWindows Shellhttps://msdn.microsoft.com/en-us/library/windows/desktop/bb773177(v=vs.85).aspx Windows 桌面UI 为用户提供访
2017-10-06 15:26:12 792
原创 文件自删除的一些资料与实现
原文链接https://blogs.msdn.microsoft.com/oldnewthing/20160108-00/?p=92821MSDN 上关于 FILE_FLAG_DELETE_ON_CLOSE 的描述 当文件的所有句柄都被关闭的时候,文件立马被删除,包括这个函数返回的句柄以及其它的打开的句柄以及复制的句柄。 如果已经存在了这个文件的一个打开的句柄,这个函数调
2017-10-04 20:21:29 959
翻译 GetThreadSelectorEntry 函数,msdn
原文链接https://msdn.microsoft.com/zh-cn/library/windows/desktop/ms679363(v=vs.85).aspxBOOL WINAPI GetThreadSelectorEntry( _In_ HANDLE hThread, _In_ DWORD dwSelector, _Out_ LPLDT_ENTRY l
2017-10-04 18:40:54 731
原创 Ring3 调用 NtQueryObject 获得文件句柄对应的对象名时调用线程死锁的原因
之前遗留的一个问题http://blog.csdn.net/qq_18218335/article/details/76400680 之前实现Ring3 查找文件占用的时候发现对部分句柄进行NtQueryObject 操作的时候会造成调用者线程挂起,从Ring3 解决问题的方法就是生成一个单独的工作线程,代替我们执行NtQueryObject 函数,如果工作线程挂起,则调用Kill
2017-10-03 16:43:57 2149
获得鼠标下资源管理器路径(Demo)
2017-02-26
获得鼠标下资源管理器路径
2017-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人