会员
周边
新闻
博问
闪存
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
乘舟凉
博客园
首页
联系
订阅
管理
上一页
1
···
12
13
14
15
16
17
18
19
下一页
2021年4月11日
c语言 ZwQuerySystemInformation查看进程信息
摘要: #include <stdio.h> #define STATUS_SUCCESS ((NTSTATUS)0x00000000L) #define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L) #define STATUS_INFO_LENGTH_MISMA
阅读全文
posted @ 2021-04-11 13:06 乘舟凉
阅读(374)
评论(0)
推荐(0)
2021年4月10日
c语言关于调用方式的不同
摘要: 有些window API 是标准调用 如ZwQuerySystemInfoMation 要在函数名前加WinAPI 这样编译器就会在函数内部处理参数 有些window API 是c语言方式调用 如MessageBox 不用做特殊处理,这样编译器就会在函数调用后在外部处理参数
阅读全文
posted @ 2021-04-10 12:56 乘舟凉
阅读(79)
评论(0)
推荐(0)
以类比的方式理解函数指针
摘要: 函数指针对我来说一直是老大难得问题,今天我终于对于他有了一点点理解。 一般情况下,对于函数指针大多数是下面两种情况: 1.void (*PFN_SetProcName)(LPCTSTR szProcName); 2.typedef void (*PFN_SetProcName)(LPCTSTR sz
阅读全文
posted @ 2021-04-10 10:48 乘舟凉
阅读(99)
评论(0)
推荐(0)
2021年4月9日
一步一步实现使用vs2010调试被注入的dll
摘要: 其实调试dll的方式十分简单,你只到在dll的代码页上打断点,再用vs启动要加载dll的程序即可。 但是如果我们要调试被注入的dll怎么办呢? 假如我们要调试被注入notepad的dll怎么办呢? 第一步:在dll代码上打断点 第二步: 附加到notepad程序 点击调试 点击附加到程序 然后选择n
阅读全文
posted @ 2021-04-09 16:25 乘舟凉
阅读(819)
评论(0)
推荐(1)
C++ - 纯C语言写的代码在C++中使用
摘要: 此代码为转载:https://www.cnblogs.com/citrus/p/13322365.html#ifdef __cplusplus extern "C"{ #endif //C代码内容所在位置 #ifdef __cplusplus } #endif
阅读全文
posted @ 2021-04-09 12:32 乘舟凉
阅读(109)
评论(0)
推荐(0)
c/c++ 生成debug函数,使用API会检查堆栈平衡
摘要: 今天我使用的代码钩取的技术手段钩取了loadLibaryA,但是却报错了,查看汇编代码,发现在调用loadLibaryA后还会调用一个检查堆栈平衡的函数,这个是编译器在debug版本自动加的。 详细说明请看: 本次案例代码为钩取函数的代码,编译环境为:vs2010,字符集为unicode,运行环境w
阅读全文
posted @ 2021-04-09 12:09 乘舟凉
阅读(285)
评论(0)
推荐(0)
2021年4月8日
不同进程导入的dll是否为共享
摘要: dll 中的代码是共享物理内存的, 数据是写时复制, 没有修改数据之前是共享的, 修改的时候会拷贝一份来修改, 之后就不会共享物理内存了.可以通过设置共享段来共享数据, 共享段里的数据在各个进程间共享物理内存(即使句柄不同也无所谓, 虚拟内存机制可以把不同的进程虚拟地址映射到相同的物理地址上) 详细
阅读全文
posted @ 2021-04-08 11:32 乘舟凉
阅读(296)
评论(0)
推荐(0)
2021年4月7日
c语言 函数钩取的可行性
摘要: 我一直觉得很奇怪,为什么仅仅是把API的前五个字节改成JMP指令就可以转到另外一个函数执行,难道另外一个函数的活动不会改变寄存器与栈从而影响程序的运行吗? 现在终于有了答案,编译器在编译函数时会自动帮我们保存和还原寄存器和栈 ,并且c语言的调用函数方式不会清理参数。这样就不会改变程序的运行状态。 详
阅读全文
posted @ 2021-04-07 12:04 乘舟凉
阅读(100)
评论(0)
推荐(0)
2021年4月5日
c语言钩取函数 并奉上使用实例 2021-04-08 110
摘要: 运行环境: Windows 7 32位 Visual Studio 2010 /** 名称:getAPIAddress 功能: 根据模块名称和函数名称获取函数地址 参数: TCHAR * moduleName 模块名称 TCHAR * funcName 函数名称 返回值:return 1 repre
阅读全文
posted @ 2021-04-05 21:15 乘舟凉
阅读(196)
评论(0)
推荐(0)
c语言 将byte转化为二进制数值计算 2021.4.7
摘要: BYTE bytes1[4] = {0x00,0x10,0x40,0x00}; //创建4字节的字节数组 注意:字节是逆序的 BYTE bytes2[4] = {0x05,0x20,0x40,0x00}; DWORD b1 = *(DWORD *)bytes1; //先将bytes1转化成(DWOR
阅读全文
posted @ 2021-04-05 14:03 乘舟凉
阅读(605)
评论(0)
推荐(0)
上一页
1
···
12
13
14
15
16
17
18
19
下一页