地址映射 -…… 为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址,这一过程称为地址映射.地址映射最小单位为1页,4K大小,所以len值最小为:0x00001000.地址映射分类:地址映射也可以成为地址重定位或地址变换,可以分为以下两类:静态重 ...
分类:
其他好文 时间:
2020-07-03 15:42:26
阅读次数:
62
本文翻译自:https://docs.microsoft.com/en-us/cpp/cpp/main-function-command-line-args?view=vs-2019 (除动态链接库dll,静态链接库lib工程外)所有的C++程序都必须有一个main函数。如果你编译一个没有main函 ...
分类:
编程语言 时间:
2020-07-03 15:16:50
阅读次数:
90
一、概述 1、动态库和静态库的异同点 动态链接库(Dynamic Linkable Library,DLL)它提供一些可以直接使用的变量,类和函数。经历了“无库—静态链接库—动态链接库”的历程后,dll应用十分广泛。 静态链接库和动态链接库都是共享代码。 如果采用静态链链接库(.lib),lib中的 ...
分类:
编程语言 时间:
2020-06-29 11:17:56
阅读次数:
56
内存加载Exe原理,PELoder 一丶原理 原理是模拟Window 双击 Exe进行操作. 而对于我们来说.其实就是 针对PE文件的 NT头 节表数据 重定位表 导入表 等进行操作. 步骤如下: 总共分为几大步骤 文件数据转内存数据 1.拷贝文件中NT头数据大小. 按照SizeofHeder大小拷 ...
分类:
其他好文 时间:
2020-06-26 11:09:29
阅读次数:
172
32.内存的基础知识 按字节编址/按字编址: 地址长度:就是需要用多少个二进制位来表示内存中的“小房间” 一个高级代码可以通过编译变成几条机器指令 逻辑地址/物理地址/相对地址/绝对地址: 从写程序到程序运行: 装入模块装入内存: 绝对装入:装入模块中的指令中的地址已经是绝对地址了 静态重定位:装入 ...
分类:
其他好文 时间:
2020-06-25 23:13:11
阅读次数:
67
将libcef_dll_wrapper编译方式设置为MD 因为使用的Qt是动态链接的,而cef模式使用的是静态链接的方式,所以在使用前需要将cef编译方式改成Multi-thread DLL(/MD),修改路径在在C/C++->Code Generation下的Runtime Library。重新编 ...
分类:
其他好文 时间:
2020-06-24 19:50:26
阅读次数:
58
地址空间和地址生成 地址空间 物理地址空间--硬件支持的地址空间 逻辑地址空间--一个运行的程序所拥有的内存范围 逻辑地址生成: 编译,汇编,链接,载入(程序重定位) 物理地址生成: CPU方面: 1、运算器(ALU)需要逻辑地址的内存内容 2、cpU中(MMU)内存管理单元寻找逻辑地址映射表里逻辑 ...
分类:
其他好文 时间:
2020-06-24 19:48:37
阅读次数:
56
在应用程序需要链接外部库的情况下,linux默认对库的链接是使用动态库,在找不到动态库的情况下再选择静态库。 当动态库与静态库混合链接时,使用-static会导致所有的库都使用静态链接的方式,这时就需要-Wl的方式: gcc –o test test.c –Wl,-Bstatic -lcrypto ...
分类:
其他好文 时间:
2020-06-24 16:26:40
阅读次数:
67
1.可重定位目标文件格式 主要是由ELF头,一些节比如.text节,.rodata节,.data节,.bss节等,前面是只读的,后面是可读可写的,加上一个节头表 1.1 ELF头里面主要包含了16字节的标识信息,文件类型,机器类型,节头表偏移,节头表的表项大小以及个数,以及程序的入口地址,就是第一句 ...
分类:
其他好文 时间:
2020-06-14 01:08:37
阅读次数:
109
PE文件: VC驿站《PE文件格式解析》 2/9 P101.格式的魅力 P202.回调的艺术:callback P303.PE结构 P404.拿到指针就拿到了一切,拿到了句柄就拿到了一切 P505.区段与对齐 P606.PE文件中的导出 P707.PE文件中的导入表 P808.重定位表 P909.你 ...
分类:
其他好文 时间:
2020-06-13 19:43:48
阅读次数:
77