- 2024-11-19汇编语言-实验10编写子程序
名称:show_str功能,在指定的位置,用指定的颜色,显示一个用0结束的字符串。参数:(dh)行号。(dl)列号,(cl)颜色ds:si指向字符串首地址返回无应用举例:8行3列,用绿色显示data中的字符串代码如下:assumecs:codedatasegmentdb'Welcometomasm!',0dataendscodesegmentstart:movdh,8
- 2024-11-19王爽汇编笔记
1.测试环境1.1DosBox简介:模拟dos环境的一个软件下载地址:https://www.dosbox.com/download.php?main=1安装步骤:下一步......问题1:'debug'不是内部或外部命令,也不是可运行的程序或批处理文件。debug:无法将“debug”项识别为cmdlet、函数、脚本文件或可运行程序的名
- 2024-11-18笔记本(2)
汇编代码的一些前置知识:;立即寻址方式moveax,11;将11赋值给eaxaddeax,114504;eax加上114504subeax,1;eax减去1;寄存器寻址方式movebx,0x36d;将0x36d赋值给ebxmovedx,ebx;将ebx的值赋值给edx;直接寻址方式movec
- 2024-11-17【汇编语言】更灵活的定位内存地址的方法(三)—— 不同的寻址方式的灵活应用
文章目录前言1.比较不同的寻址方式2.问题一3.问题一的分析与求解3.1分析3.1.1数据的存储结构3.1.2分析处理过程3.2代码实现4.问题二5.问题二的分析与求解5.1分析5.1.1数据的存储结构5.1.2分析处理过程5.2代码实现6.问题三7.问题三的分析与求解7.1分
- 2024-11-17【汇编语言】更灵活的定位内存地址的方法(二)—— 从 [bx+idata] 到 [bx+si+idata]:让你灵活的访问内存
文章目录前言1.[bx+idata]1.1更加灵活的访问内存1.2示例1.3问题一1.4问题一的分析与求解2.用[bx+idata]的方式进行数组的处理2.1问题引入2.2原来的解决方案2.3新的解决方案2.3.1改进后的程序2.3.2还可以写成这样2.3.3用C语言来描述看看2.4比较与总结3.
- 2024-11-15Hgame2023 Reverse
Hgame2023[HGAME2023week1]testyourIDA用ida打开即可[HGAME2023week1]encode查壳32位windows加密函数将输入的字节转高位和低位进行加密,后与byte_403000进行比较解密脚本:这里采取了爆破enc=[8,6,7,6,1,6,13,6,5,6,11,7,5,6,14,6,3,6,15,6,
- 2024-11-13.NET Core 泛型底层原理浅谈
.NETCore泛型底层原理浅谈 简介泛型参考资料烂大街,基本资料不再赘述,比如泛型接口/委托/方法的使用,逆变与协变。泛型好处有如下几点代码重用算法重用,只需要预先定义好算法,排序,搜索,交换,比较等。任何类型都可以用同一套逻辑类型安全编译器保证不会将int传给string简单清
- 2024-11-13汇编角度看值传递类对象
首先奉上源代码classA{private:inti;public:A(){std::cout<<"defaultconstructoriscalled"<<std::endl;i=0;}A(int_i):i(_i){}A(constA&obj){std::cout<<"c
- 2024-11-12lec 02 arm汇编语言基础
Lecture02:ARM汇编基础Contents为什么学习ARM/ISA汇编从C到汇编理解arm汇编理解机器执行1为什么学习汇编和指令集架构?1.令人困惑的应用表现2.指令集架构ISA(InstructionSetArchitecture)CPU向软件(应用程序和操作系统)提供的接口。理解软件在CPU上的运行(OS设
- 2024-11-11c++ 对于传递引用和传递值的理解
首先先上一段c++代码,可以看出foo函数参数是引用类型,bar函数参数是值类型typedefstructA{intx;inty;}A;voidfoo(A&a){ra.x++;}voidbar(Aa){a.x++;}intmain(){Aa={1,2};foo(a);bar(a);return0;}在vscode
- 2024-11-11Mac 中安装 bochs 并启动
安装bochs直接使用brew进行安装,若没有下载brew工具,参见https://brew.idayer.combrewinstallbochs==>Fetchingdependenciesforbochs:libtoolandsdl2会自动安装libtool和sdl2工具,安装成功后默认安装目录为:/usr/local/Cellar/bochs/2.8创建软盘首
- 2024-11-09函数的栈帧空间创建与销毁全过程(详解~)
目录一.什么是函数栈帧?二.理解函数栈帧的创建能解决哪些问题?三.创建函数栈帧空间的之前认知3.1什么是栈3.2认识相关寄存器3.3汇编指令四.创建和销毁全过程4.1预备知识4.1.1调用堆栈4.2打开反汇编4.3函数栈帧创建编辑4.4函数栈帧销毁一.什么是函数栈
- 2024-11-09反汇编命令学习以及分析越界和空指针问题
1,反汇编命令行(1)move语法格式:movdestination,source例如:moveax,0x1;将立即数1复制到eax寄存器。立即数到寄存器mov[ebx],eax;将eax寄存器的值复制到ebx寄存器指向的内存地址,寄存器到内存moveax,ebx ;将ebx寄存器的值复制到eax,寄存器到寄存器moveax,[ebp-4]
- 2024-10-30四、常用寄存器
DS:内存段地址寄存器段地址、偏移地址与物理地址内存中数据的地址由段地址和偏移地址组成,其中段地址乘以16再加上偏移地址就是真实的物理地址。对于16进制的数来说,乘以十六就是整体向左移一位,例如:0xFE*16=0xFE0物理地址可以由多种段地址+偏移地址组合而成例如物理
- 2024-10-30三、常用汇编指令
MOV指令作用:数据移动movcx,ax //将ax寄存器中的值复制到cx寄存器中movdx,FFFF //将数据0xFFFF放到寄存器dx中moval,bh //将bx寄存器的高八位的数据复制到ax寄存器的低八位NOP:空指令指令、数据对齐可以有效地提高程序的性能,使用NOP指令,可以使得指令按字对齐,
- 2024-10-26【8086汇编】用栈来分解并显示数字
1.源代码数字范围:0~255xorax,axxorbx,bxxorcx,cxxordx,dxmoval,163movbh,10s1:divbhaddah,0x30movdl,almoval,7xchgah,alpushaxmoval,dlxorah,ahinccxcmpal,0jnes1movax,0xb800
- 2024-10-24二进制菜鸟的杂谈-调试与pwn
反调试技术NLFlagGlobalPEB的偏移当被调试的时候会有标志位:FLG_HEAP_ENABLE_TAIL-CHECK()FLG_HEAP_ENABLE_FREE_CHECK()FLG_HEAP_VALIDATE_PARAMETERS()一般为:moveax,fs:[30h]moval,[eax+68h]moval,70hcmpal,70h其实是因为isDebugger被检测到了进而影响
- 2024-10-24assembly2
汇编2寄存器(不同架构不同)8086中寄存器均为16位,可存放两个字节(1byte=8bit)。通用寄存器AX,BX,CX,DX用来存储一般性的数据,被称为通用寄存器。二进制数据在寄存器中是低位存在低地址,高位存在高地址。也可将一个寄存器分为H,L(高8位低8位)来做8位存储器。字在寄存器中
- 2024-10-24王爽汇编实验12
下面是实验十二的代码assumecs:codecodesegmentstart: ;do0的安装程序,只需要安装一次,以后无需此步骤 movax,cs movds,ax movsi,offsetdo0 ;设置ds:si指向do0程序所在位置 movax,0 moves,ax movdi,200h ;设置es:di指向中断
- 2024-10-21简单汇编教程9 字符串与字符串指令
目录字符串的指令movs字符串传送lods,stos使用cmpsb的使用SCASB的使用字符串你很熟悉了,我们定义了无数次了!%macroANNOUNCE_STRING2 %1db%2 %1_LENequ$-%1%endmacro当然,我们现在来学习一个比较新的定义方式,那就是跟C语言一样安插一个哨兵字符\0
- 2024-10-20基于x86_64汇编语言简单教程5: 寻址模式与gdb调试
目录寻址模式gdb调试示例文件打断点办法1:给函数名称和行号打上断点办法2:在地址上打断点打印变量layout命令打印十六进制(特殊)countformatsize再次介绍mov寻址模式我们无非就是频繁的跟数据自己打交道,那么问题来了,我们可以如何找到这些数据呢?这就是我们这篇教
- 2024-10-1930天自制操作系统(一)启动区
一、启动区 ORG 0x7C00 JMP entry DB 0x90 DB "HELLOIPL" DW 512 DB 1 DW 1 DB 2 DW 224 DW 2880 DB 0xf0 DW 9 DW 18 DW 2 DD 0 DD 2880 DB 0,0,0x29 DD 0xffffffff DB "HELLO-OS" DB "FAT12" RESB
- 2024-10-18局部静态变量的初始化观测
局部静态变量的初始化观测//全局变量intglobal=0x11111;intmain(intargc,char*argv[]){//局部变量inttemp=0x160;global=global+temp;return0;}6:intglobal=0x111111;7:intmain(intargc,char*argv[])8:{00401010push
- 2024-10-18常见逻辑语句逆向分析
Ifelse语句逆向分析#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(intargc,char*argv[]){intsum=0;for(inti=0;i<=argc;i++){sum+=i;}returnsum;汇编代码00401006movdwordptr[ebp-8],0;sum=0