随笔分类 - c++
摘要:linux下C++开发工具: emacs/vim 编辑器 gcc/g++ 编译器 gdb 调试工具 valgrind 内存泄露检查 doxygen 文档组织工具 linux基本命令: 1.windows linux互传文件 rz,sz makefile编写: 首先我们还需要了解一下makefile。
阅读全文
摘要:ntdll中保存了kernel32函数的指针
阅读全文
摘要:虚拟内存:将不连续的物理内存抽象化后方便上层使用的内存。 windows虚拟内存分布: 32位cpu: 32bit cpu的寻址空间是0 ~ 4 G(2^32),低2G为用户地址空间(user space),对应r3权限,用户的进程都工作在这个空间;高2G为系统地址空间,对应r0,为所有系统组件,驱
阅读全文
摘要:dynamic type: 比如 Here k is a reference to an object of type A, but the real type of the referred object, its dynamic type, is B. Here "dynamic" has th
阅读全文
摘要:thread-safe: 如果一个函数在多线程的条件下仍然保持计算结果和单线程一样,就说明它是线程安全的。 线程安全的函数: 不包含静态数据区的变量,只有堆栈变量; 有静态数据区的变量,然而会加锁; 可重入: 对于单个线程,如果执行到中途,打断了又执行一次,计算结果仍然保持正确,说明这个函数是可重入
阅读全文
摘要:每个模块都是一个excute,全局变量存放在各自的.data(必包含)段(初始化的数据块,全局数据区,用来存放全局变量和静态变量。) 所以模块之间的全局变量没有联系。 但是,如果模块A导出了变量a,模块b引用:extern a;则b链接阶段会去找这个extern a;在A里面找到,则根据a的lib填
阅读全文
摘要:https://zhuanlan.zhihu.com/p/20628410 静态对象每个模块一个 如果每个模块调用static instance()实现不了,这样不同模块instance()出来的是不同的实例对象,可以在模块初始化 module_main::init(主模块指针) { 指针->reg
阅读全文
摘要:文档:https://msdn.microsoft.com/zh-cn/library/windows/hardware/ff554690(v=vs.85).aspx 1.用户模式和内核模式: https://msdn.microsoft.com/zh-cn/library/windows/hard
阅读全文
摘要:http://blog.csdn.net/b_h_l/article/details/39078831 http://blog.csdn.net/bekilledlzy/article/details/1765802 http://cppblog.com/merlinfang/archive/200
阅读全文
摘要:intel cpu的权限访问控制:ring0 ~ ring5. window、linux操作系统都只用了ring0,ring3,对应内核态和用户态. 驱动程序工作在内核态,没有main函数入口,而应用程序工作在用户态。
阅读全文
摘要:message loop window procedure message loop: a for loop in thread or winmain GetMessage, TranslateMessage, and DispatchMessage GetMessage: get the mess
阅读全文
摘要:模拟键盘、鼠标: 普通模拟: postmessage sendinput mouse_event, keybd_event 驱动模拟: 检测普通模拟(sendinput): flags Type: DWORD The extended-key flag, event-injected flags,
阅读全文
摘要:sbieDll.dll 注入到被沙箱化的进程,用到的方式是驱动sbiedrv.sys监控进程创建,在内存中动态感染IAT表的方式实现的,x86,x64通用。此时sbieDll.dll是除了ntdll.dll、kernel32.dll(kernelbase.dll)之后第三个被加载的模块,此时它便开始
阅读全文
摘要:注入和反注入方法: http://bbs.pediy.com/thread-217722.htm 逆向工程之汇编: http://www.freebuf.com/news/others/86147.html DLL在exe执行前注入: http://blog.csdn.net/chenyujing1
阅读全文
摘要:一个MS-DOS头部 IMAGE_DOS_HEADER 一个是DOS的程序残余以及一个PE文件标志 PE文件头和可选头部: IMAGE_NT_HEADERS A pointer to the entry point function, relative to the image base addre
阅读全文
摘要:一段内存地址空间,映射着物理存储器上一个已经存在于磁盘上的文件。在对该文件进行操作之前必须首先对文件进行映射。使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作。 内存映射文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateF
阅读全文
摘要:同个DLL间共享数据节:(不同进程间DLL共享) #pragma data_seg(".Shared")tThrState g_ThrState[65536] = ...{tThrState()};#pragma data_seg() #pragma comment(linker, "/Sectio
阅读全文
浙公网安备 33010602011771号