摘要: 转自:https://write-bug.com/article/1933.html 无论是在 32 位系统内存分布,还是在 64 位系统内存分布中,我们知道高地址空间分配给系统内核使用,低地址空间分配给用户进程使用。 事实上,用户空间和内核空间其实有一块共享区域,大小为 4 KB。它们的内存地址虽 阅读全文
posted @ 2020-09-27 10:19 羽行 阅读(1387) 评论(0) 推荐(0) 编辑
摘要: 转载于:https://www.cnblogs.com/IMyLife/p/4827870.html 源码中 用到的结构和未公开函数 请到 http://www.cnblogs.com/IMyLife/p/4826286.html 获取 HANDLE ProcessHandle=NULL;DWORD 阅读全文
posted @ 2020-09-25 14:30 羽行 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 一、赋值运算符 赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。 注意:赋值语句左边的变量在程序的其他地方必须要声明。 得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为她它们出现 阅读全文
posted @ 2020-09-25 02:03 羽行 阅读(2030) 评论(0) 推荐(0) 编辑
摘要: x64汇编第三讲,64位调用约定与函数传参. 一丶复习X86传参 在x86下我们汇编的传参如下: push eax call xxx xxx fun proc push ebp 保存栈底 mov ebp,esp 设置ebp sub esp,0C0h 开辟局部变量空间 push ebx 保存寄存器环境 阅读全文
posted @ 2020-09-21 02:13 羽行 阅读(2210) 评论(1) 推荐(0) 编辑
摘要: 一.VirtualFreeEx 释放内存失败-错误码 87 mFuncAddr = VirtualAllocEx(hProcess, NULL, 1000, MEM_COMMIT, PAGE_EXECUTE_READWRITE); //远程申请了1000个字节大小的内存区域,权限为可读,可写,可执行 阅读全文
posted @ 2020-09-20 20:59 羽行 阅读(357) 评论(0) 推荐(0) 编辑
摘要: x64 分页机制——虚拟地址到物理地址寻址 原博客:http://www.cnblogs.com/lanrenxinxin/p/4735027.html 详细的理论讲解都在上面 下面说的是通过windbg手动进行寻址,深入理解 x64: 实践: int main(){char* v1 = "Hell 阅读全文
posted @ 2020-09-19 19:28 羽行 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 优先级从高到低,依次是由上到下排列: 相同优先级,从左到右 阅读全文
posted @ 2020-06-22 11:48 羽行 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 转自:https://www.cnblogs.com/awpatp/archive/2010/01/31/1660475.html WinDBG的大多数功能是以命令方式工作的, 本系列将介绍WinDBG的三类命令, 标准命令, 元命令和扩展命令. 标准命令 标准命令用来提供适用于所有调试目标的基本调 阅读全文
posted @ 2020-06-05 01:16 羽行 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 在内核程序开发中,我们常常需要取得某进程的pid或句柄,或者需要检索进程的eprocess结构,很多API函数需要的参数也不同,所以掌握pid<->handle<->eprocess相互转换的方法会大大提高我们的开发效率。以下就是我自己在实际开发中总结出来的转换方法,在此记录下来,以供需要的朋友参考 阅读全文
posted @ 2020-05-16 22:14 羽行 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 转自:https://blog.csdn.net/u011471873/article/details/51259261 Wdm.h、Ntddk.h 和 Ntifs.h 的组织结构 在 Windows Vista 版本的 WDK 之前,用于驱动程序开发的主要头文件为 Wdm.h、Ntddk.h 和 阅读全文
posted @ 2020-05-16 22:07 羽行 阅读(431) 评论(0) 推荐(0) 编辑