名称开始字节长度内容参考值BS_jmpBOOT03一个短跳转指令jmp Label_07c00H nopBS_OEMName38厂商名'QingFeng'BPB_BytesPerSec112每扇区字节数(Bytes/Sector)0x200BPB_SecPerClus131每簇扇区数(Sector/...
分类:
其他好文 时间:
2015-03-19 17:45:21
阅读次数:
261
setjmp longjump一些注意点及使用方法jmp_buf结构体的定义#define _JBLEN 9typedef struct { int _jb[_JBLEN + 1]; } jmp_buf[1];int a(){ jmp_buf env; if(setjmp(env) != 0) .....
分类:
其他好文 时间:
2015-03-06 16:59:20
阅读次数:
124
第二天作者主要解释并优化了之前用汇编写的helloworld系统源文件
之前一节是用了DB DW DD RESB等命令
这一节的新命令:
ORG把程序装载到内存中指定的地址,单词:origin
JMP跳转
MOV赋值
ADD加法
CMP比较
JE条件跳转
INT软件终端指令,单词:interrupt
HLT CPU待机
介绍CPU寄存器
16位寄存器:
AX
CX
...
分类:
其他好文 时间:
2015-02-12 12:32:26
阅读次数:
164
漏洞利用框架#junk + nseh + seh + nops + shellcodejunk->冲掉缓冲区nseh -> jmp to shellcode , 非地址,而只是汇编指令,理由:异常处理时,会将其指向的地址作为参数带入异常处理函数EXCEPTION_DISPOSITION __cdec...
分类:
其他好文 时间:
2015-02-04 18:31:47
阅读次数:
192
一、 直接转移(far call及 far jmp)直接转移通过执行一条 call 或 jmp指令,在段内转移不需selector近跳转,段间转移通过selector(不带gate或 tss)远跳转,CPL不改变。权限检查的4个要素:★ CPL:当前运行级别(也就是CS.CPL)★ RPL:门符选择...
分类:
其他好文 时间:
2015-02-02 17:53:15
阅读次数:
212
段内的调用/跳转的特性:不改变 CS,也就是不用重新加载 code segment descriptor,当然也就不需要进行权限的检查,但是这里需要做 segment 的 limit 检查,检测到越 segment limit 会产生 #GP 异常。由于在段时调用,所以使用 call offset ...
分类:
其他好文 时间:
2015-01-31 11:54:48
阅读次数:
170
直接调用/跳转的形式是: call / jmp selector:offset 这里的 selector 是 code segment selector 直接使用 selector 来索引 code segment,这将引发 CS 的改变,code segment descriptor 最终会被.....
分类:
其他好文 时间:
2015-01-31 11:51:12
阅读次数:
184
当程序中使用指令 call / jmp,以及通过 int 引发中断例程的执行,这将都是对目标的 code segment 进行访问,当通过权限的检查后程序将会跳转到目标的 code segment 进行执行。 在 code segment 的访问过程中涉及到权限级别的改变,stack 的改变等问题。...
分类:
其他好文 时间:
2015-01-31 11:50:58
阅读次数:
202
直接 call / jmp 目标 code segment 不能改变当前的 CPL,若要 call / jmp 高权限的 code segment 必须使用 call gate,在 x86 下还要可以 call / jmp TSS descriptor 或者 call / jmp task gate...
分类:
其他好文 时间:
2015-01-29 19:09:58
阅读次数:
168
指令: call 0x20:00000000 jmp 0x20:00000000 -----------------------------------selector 0x20 是个 task gate 的 selector 这里使用 task gate 任务切换与使用 TSS selec...
分类:
其他好文 时间:
2015-01-29 19:09:38
阅读次数:
136