LOADING

加载过慢请开启缓存 浏览器默认开启

DOS程序逆向

Dos常用命令

参考

dir #查看目录
cd 	#切换目录
d:	#切换盘符到d
md	#新建目录
rmdir	#删除目录
rmdir /s	#删除非空目录
xcopy /e [source] [destination]	#复制文件
move [sourcr] [destination] #移动文件
ren [oldname] [newname]	#重命名
type nul>[name].xxx	#创建空文件
echo [content]>[filename]	#新建非空文件
echo [content]>>[filname]	#追加文件内容
type [filename]	#查看文件
del [filename]	#删除文件
start /d "[path]"[exename] #启动程序
explorer #打开文件管理器
ipconfig #查看ip地址
mount c [filepath] #挂载文件夹到c盘

编译并运行程序

参考

1.下载Turboc2,并创建目录,用mount挂载

2.创建.c文件放到挂载目录下

3.在挂载盘中找到Turboc2并进入文件夹

4.运行tc,在file下load c文件,按f9编译,退出输入程序exe名即可运行

编译并运行汇编程序

参考

使用MASM编译。

改汇编代码文件后缀为.asm

masm [filename].asm
link [filename].obj

调试程序

参考

命令

参考

A [地址] 输入汇编指令
C [范围] 起始地址 对由“范围”指定的区域与“起始地址”指定的同大小区域进行比较,显示不相同的单元
D [范围] 显示指定范围内的内存单元内容
E 地址 字节值表 用值表中的值替换从“地址”开始的内存单元内容
F 范围 字节值表 用指定的字节值表来填充内存区域
G [=起始地址] [断点地址] 从起点(或当前地点)开始执行,到终点结束
H 数值1 数值2 显示两个十六进制数值之和、差
I 端口地址 从端口输入
L [地址 [驱动器号 扇区 扇区数]] 从磁盘读取数据
M 范围 地址 把“范围”内的字节值传送到从“地址”开始的单元
N 文件标识符 [文件标识符…] 指定文件名,为读/写文件做准备
O 端口地址 字节值 向端口输出数据
P [=地址] [指令数] 按执行过程,但不进入子程序调用或软中断
Q 退出 DEBUG,不保存正在调试的文件
R [寄存器名] 显示和修改寄存器内容
S 范围 字节值表 在内存区域内搜索指定的字节值表。如果找到,显示起始地址,否则不显示任何内容
T [=地址] [指令数] 跟踪执行,从起点(或当前地点)执行若干条指令
U [范围] 反汇编,显示机器码所对应的汇编指令
W [地址 [驱动器号 扇区 扇区数]] 向磁盘写内容,(BX、CX)为写入字节数

在ida中查看地址

image-20250313205203696

hello world字符被加载到ax打印,数据在cs:0200被存储,我们直接用t 201运行到位置后的位置。然后查看AX的值,定位到AX指向的位置用d 194查看内存。

image-20250313205500381