网站首页 站内搜索

搜索结果

查询Tags标签: eax,共有 95条记录
  • Linux0.11 move_to_user_mode分析

    /** IRET* 当使用IRET指令返回到相同保护级别的任务时,也就是当前的CS中的DPL和堆栈中的DPL相同时* IRET会从堆栈弹出代码段选择子及指令指针分别到CS与IP寄存器,* 并弹出标志寄存器内容到EFLAGS寄存器。* * 当使用IRET指令返回到一个不同的保护级别时,也就是当前的CS中…

    2022/9/2 5:22:47 人评论 次浏览
  • 关于应用程序头部信息

    在launcher.asm的应用程序中,可以看到头部信息如下:use32org 0x0db MENUET01 ; 8 byte id     dd 0x01 ; header version     dd START ; start of code     dd I_END ; size…

    2022/8/28 1:22:50 人评论 次浏览
  • 编写X86的ShellCode

    ShellCode 定义 ShellCode是不依赖环境,放到任何地方都能够执行的机器码 编写ShellCode的方式有两种,分别是用编程语言编写或者用ShellCode生成器自动生成 ShellCode生成器生成的shellcode功能比较单一,常见的ShellCode生成器有shell storm、Msfvenom等 而用编程语言写…

    2022/8/25 5:23:21 人评论 次浏览
  • X86汇编层面的方法调用。

    本文主要描述了X64下的汇编层面的方法调用。具体来说就是一个C语言的方法被另外一个方法调用,是如果在汇编语言X64的规范中实现的。 1.假设有如下C语言文件 "test.c"点击查看代码 int sumNine(int one, int two, int three, int four, int five, int six, int …

    2022/8/22 1:26:06 人评论 次浏览
  • linux-0.11分析:boot文件 head.s 第三篇随笔

    head.s 参考 [github这个博主的][ https://github.com/sunym1993/flash-linux0.11-talk ]改变栈顶位置 _pg_dir: startup_32:movl $0x10,%eaxmov %ax,%dsmov %ax,%esmov %ax,%fsmov %ax,%gslss _stack_start,%esp先是分别ds,es,fs,gs的值都置成了0x10 然后这段lss _sta…

    2022/8/2 5:22:44 人评论 次浏览
  • 内联汇编的使用,函数返回值的外部调用

    #include "windows.h" #include "stdio.h"_declspec(naked) void Fun() {_asm{push ebp;mov ebp ,esp;sub esp ,0x40;push esi;push edi;push ecx;mov eax,0xcccccccc;mov ecx,0x10;lea edi,[ebp-0x40];REP STOS DWORD PTR ES:[EDI];mov eax,[ebp+0x8…

    2022/5/25 1:22:54 人评论 次浏览
  • 汇编学习笔记

    dispmsg eax=要输出字符串地址dispc al=要输出字符dispcrlf 换行disphd 以16进制输出8位dispuid 输出无符号十进制数dispsid 输出有符号十进制数readmsg入口:eax=字符串地址 出口:eax=字符数量readc al=读入的字符readhd eax=读入的8位十六进制数readuid eax=读入的无符…

    2022/5/11 11:23:57 人评论 次浏览
  • WindowsPE权威指南学习过程中的代码片段

    第一个基础的HelloWorld.386.model flat,stdcalloption casemap:noneinclude windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib.data szText db HelloWorld,0.code start:invoke MessageBox,NULL,offset szText,NULL,…

    2022/4/3 7:19:34 人评论 次浏览
  • 你管这叫操作系统源码(三)

    文章目录 重新设置idt和gdtIntel内存管理:分段与分页进入main前的最后一跃资料重新设置idt和gdt 正式进入 c 语言写的 main.c 之前的 head.s 究竟写了点啥?head.s 文件很短: _pg_dir: _startup_32:mov eax,0x10mov ds,axmov es,axmov fs,axmov gs,axlss esp,_stack_sta…

    2022/2/28 22:22:10 人评论 次浏览
  • 计算机系统-汇编基础

    一.寄存器&数据传送mov指令 1.80386通用寄存器 16位:AX,BX,CX,DX;SI,DI;SP,BP; 8位:AH,AL;BH,BL;CH,CL;DH,DL 32位:EAX,EBX,ECX,EDX;ESI,EDI;ESP,EBP 段寄存器:DS,ES,SS等 2.AT&T汇编代码 格式:指令 源操作数,目的…

    2022/2/28 1:23:44 人评论 次浏览
  • 数组和指针的区别

    // test.c void test() {char array[4] = {0};*(array + 0) = 0x00;array[1] = 0x11;*(array + 2) = 0x22;array[3] = 0x33;char *pointer = array;pointer[0] = 0x00;pointer[1] = 0x11;pointer[2] = 0x22;pointer[3] = 0x33; }// Makefile test.o: test.cgcc -c -O0 -m3…

    2022/2/20 6:28:16 人评论 次浏览
  • 反汇编分析C语言

    环境 VC6.0环境 空函数反汇编 #include "stdafx.h" void function(){} int main(int argc, char* argv[]) {function();printf("Hello World!\n");return 0; }我们通过反汇编来分析这段空函数###函数外部 10: function(); 00401068 call …

    2022/2/8 17:12:34 人评论 次浏览
  • day01.2-初识汇编

    一、逻辑运算逻辑运算:与(and)、或(or)、亦或(xor)、非(not) 计算机除了数据,还要做运算,二进制之间会进行逻辑运算,计算机不会加减乘除,这些运算计算机都是通过移位或者通过逻辑运算实现的。因为计算机只认识二进制数,所以所有的加减等运算都是通过CPU对二…

    2022/2/2 14:14:09 人评论 次浏览
  • NASM 汇编学习6

    slen:push ebxmov ebx, eaxnextchar: cmp byte[eax], 0jz finished inc eax jmp nextchar finished:sub eax,ebxpop ebxret;--------------------- ; void sprint(String message) ; String printing functionsprint:push edxpush ecxpush ebxpush eaxcall slenmov edx, e…

    2022/2/2 1:29:26 人评论 次浏览
  • CSAPP Bomblab 学习记录

    Bomblab 针对自学材料的bomblab解题过程。 phase_1 disas phase_1查看对应函数的汇编代码,发现其将0x402400作为第二个参数传入strings_not_equal 函数,如果该函数返回值为0,函数结束,否则引爆炸弹。 因此,合理推测其是在比较输入的字符串和0x402400处的字符串,通过在…

    2022/1/29 6:04:27 人评论 次浏览
共95记录«上一页1234...7下一页»
扫一扫关注最新编程教程