当前位置: 首页 > news >正文

DOS下EXE文件的分析 <1>

DOS下EXE文件的分析 <1>

如何在dos下读取exe文件的反汇编代码?

  一般的debug命令是这样的
debug simcga.exe

  用dos管道命令如下
debug simcga.exe >simcga.txt

  这时是无回显的状态,
再输入
u 0 200
之后输入
q
退出。
这样在simcga.txt中就会记录显示
从地址0h 到 地址200h 的debug反汇编代码。

  如下一个分析例子:

075C:0406 B402          MOV	AH,02                              
075C:0408 B25B          MOV	DL,5B                              
075C:040A CD21          INT	21                                 
075C:040C B402          MOV	AH,02                              
075C:040E 8A15          MOV	DL,[DI]                            
075C:0410 CD21          INT	21                                 
075C:0412 47            INC	DI                                 
075C:0413 803D00        CMP	BYTE PTR [DI],00                   
075C:0416 7408          JZ	0420                               
075C:0418 B402          MOV	AH,02                              
075C:041A B22C          MOV	DL,2C                              
075C:041C CD21          INT	21                                 
075C:041E EBEC          JMP	040C                               
075C:0420 B402          MOV	AH,02                              
075C:0422 B25D          MOV	DL,5D                              
075C:0424 CD21          INT	21                                 
075C:0426 B402          MOV	AH,02                              
075C:0428 B23F          MOV	DL,3F                              
075C:042A CD21          INT	21 

                              

  int 21h 的 ah 的02h 的功能是显示字符,
dl 是显示字符的ascii码。
如上 5b 和 5d 的ascii吗是"[""]".
就是 显示 "[",和 "]"字符。

  DOS下一般的若在反汇编代码中出现int 10h或int 21h等,
这就好分析一些。
我猜的,若没有以上的int 等,而出现如下rep movsb这类,
将一个地址写到另一个
地址就难一些。

以下另一个例子,
jne 052h
mov al,06h
mov ah,00h
int 10h
这是从emu8086这个软件的 ver 4.08版的
模拟软件中截取的几行代码。
出自dos游戏<三国志2>中的simcga.exe中。
他simcga是设置dos图形模式,
06h 是 06H:640×200 2色。

20250713 -win10 dosbox 下调试成功。

 
#

http://www.dtcms.com/a/278089.html

相关文章:

  • MacBook Air通过VMware Fusion Pro安装Win11
  • 从代码学习深度强化学习 - DDPG PyTorch版
  • [Python 基础课程]列表
  • 【DataLoader的使用】
  • 力扣 hot100 Day43
  • Actor-Critic重要性采样原理
  • java valueOf方法
  • 【算法】贪心算法入门
  • SwiftUI 7 新 WebView:金蛇出洞,网页江湖换新天
  • 一些git命令
  • 若依框架集成阿里云OSS实现文件上传优化
  • 对于muduo我自己的理解
  • UniHttp生命周期钩子与公共参数实战:打造智能天气接口客户端
  • flask校园学科竞赛管理系统-计算机毕业设计源码12876
  • SPSSPRO:数据分析市场SaaS挑战者的战略分析
  • JAVA并发——什么是AQS?
  • Mapbox GL初探
  • 【unitrix】 5.0 第二套类型级二进制数基本结构体(types2.rs)
  • 16.使用ResNet网络进行Fashion-Mnist分类
  • css如何同时给元素设置背景和背景图?
  • 每日算法刷题Day47:7.13:leetcode 复习完滑动窗口一章,用时2h30min
  • 说实话,统计分析用Python这5个第三方库就够了
  • AutoLabor-ROS-Python 学习记录——第一章 ROS概述与环境搭建
  • PortsSwiggerLab: SSRF with blacklist-based input filter
  • JS进阶-day1 作用域解构箭头函数
  • Spring AI 项目实战(十六):Spring Boot + AI + 通义万相图像生成工具全栈项目实战(附完整源码)
  • NO.5数据结构串和KMP算法|字符串匹配|主串与模式串|KMP|失配分析|next表
  • pthread_mutex_unlock函数的概念和用法
  • 大规模电商系统分库分表实战经验分享
  • NFSV4锁机制(三)