使用RWX权限打开目标进程,并为该DLL分配足够大的内存。 将DLL复制到分配的内存空间。 计算DLL中用于执行反射加载的导出的内存偏移量。 调用CreateRemoteThread(或类似的未公开的API函数RtlCreateUserThread)在远程进程中开始执行,使用反射加载函数的偏移地址作 ...
分类:
其他好文 时间:
2017-11-10 21:52:47
阅读次数:
226
项目需要,需要spiflash存一些数据(包含结构体变量、数组等),读写接口接口需要封装的灵活一些(协议栈、交互变量、状态机参数等,在掉电重启后能够恢复),所以数据偏移地址需要精确,所以存储结构体变量类型都用__packed修饰防止编译器填充字节,调试时候发现函数中访问结构体中某些长整型变量会导致h ...
分类:
其他好文 时间:
2017-11-08 21:24:04
阅读次数:
185
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") /*指定输出的格式是32bits ARM 小端*/ /*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm"... ...
分类:
其他好文 时间:
2017-10-18 11:50:10
阅读次数:
152
4.1 汇编语言中的基本数据 ·标识符 ·常数 ·变量具有三个属性: (1)段地址(SEG):变量所在段的段地址 (2)偏移地址(OFFSET):变量所在段内的偏移地址 (3)类型(TYPE):每个变量所占据的字节数 ·标号 它是可执行指令语句地址的符号表示,即用标识符来表示地址。 它可作为转移指令 ...
分类:
编程语言 时间:
2017-10-18 11:48:46
阅读次数:
209
--version or -V grep的版本 -A 数字N 找到所有的匹配行,并显示匹配行后N行 -B 数字N 找到所有的匹配行,并显示匹配行前面N行 -b 显示匹配到的字符在文件中的偏移地址 -c 显示有多少行被匹配到 --color 把匹配到的字符用颜色显示出来 -e 可以使用多个正则表达式 ...
分类:
系统相关 时间:
2017-10-11 20:19:15
阅读次数:
302
今天在看代码的时候,看到有这么几行: //配置向量表 #ifdef VECT_TAB_RAM //向量表位于SRAM区 MY_NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); #else //向量表位于CODE(FLASH)区 MY_NVIC_SetVector ...
分类:
其他好文 时间:
2017-09-27 23:12:14
阅读次数:
288
此题解题背景默认为8080型CPU,地址总线为16根。(8080-16,8086-20,8088-20,80286-24,80386-32) 16根地址总线寻址能力:(2 ** 16) / 1024 = 65536(B) = 64(KB), 可以表示的存储单元个数为 0 ~ 2^n-1 个, 即 0 ...
分类:
其他好文 时间:
2017-09-11 01:01:32
阅读次数:
713
C#基础语法中得数组,定义就是:数组是一种数据结构,包含同一个类型的多个元素。从CLR的角度来看,首先数组是引用类型,堆栈分配属于分配于堆上,其次数组在内存中是连续的存储的,所以索引速度很快,而且赋值与修改元素也很简单。可以利用偏移地址访问元素,时间复杂度为O(1);可以用折半查找法查找元素,效率高 ...
分类:
编程语言 时间:
2017-08-27 17:07:58
阅读次数:
369
这两天逆向一个程序,发现每次image list -o -f 之后,它的基地址都是0x00000,也就是偏移地址是0。 想到这个应该是载入内存时有没有启用偏移有关,于是找了下答案:aslr 百度百科对ASLR的定义: aslr是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的 ...
分类:
移动开发 时间:
2017-08-26 11:35:15
阅读次数:
262
8086 CPU 寻址方式灵活。有以下几种 idata 表示常量 1. [ idata ] 用一个常量来表示地址,可用于直接定位内存单元,但是在 MASM中要显实在的说明 ds 段寄存器, 比如 mov ax, ds:[0] ,表示把 ds 寄存器中所在段的地址+偏移地址 0 的内存单元中的值赋给a ...
分类:
其他好文 时间:
2017-08-26 10:22:29
阅读次数:
131