分析dos下exe文件的文件头


分析dos下exe文件的文件头

20201120 找到的分析dos下文件的
文件头的程序vb6源码


Private Sub Command2_Click()
Cls
Print Hex(Asc("E"))
Print Hex(Asc("r"))
Print "game.exe"

Dim b(1) As Byte
'Open "C:\j\dos\zd\runqbj.com" For Binary As 1

Open "C:\j\dos\zgcd\game.exe" For Binary As 1

Get #1, , d

Print Hex(d.bfType(0)), Hex(d.bfType(1))

Print "最后扇区的长度= " + Hex(d.a1)
Print
'Print , "文件长度除以512的余数"
Print "文件总页数(一页512BYTE)=  " + Hex(d.a2)
'Print , "文件长度除以512的商"

Print d.a3, Hex(d.a3), "重定位表项数"
'Print , "重定位项的个数"
Print d.a4, Hex(d.a4), "文件头的节数(一节16BYTE)"
'Print , "文件头除以16的商 "
Print d.a5, Hex(d.a5), "程序需要最小节数"
'Print , "程序运行所需最小段数"
Print d.a6, Hex(d.a6), "允许程序最大节数"
'Print , "程序运行所需最大段数"
Print d.a7, Hex(d.a7), "初始堆栈段"
'Print , "堆栈段的段值(SS)"
Print d.a8, Hex(d.a8), "初始SP值"
'Print , "堆栈段的段值(SP)"
Print d.a9, Hex(d.a9), "检查和"
'Print , "文件校验和 "
Print d.a10, Hex(d.a10), "IP值"
'Print , "装入模块入口时的IP值 "
Print d.a11, Hex(d.a11), "初始代码段"
'Print , "装入模块代码相对段值(CS)"
Print d.a12, Hex(d.a12), "重定位表的偏移"
'Print , "重定位表,开始位置,以位移地址表示"
Print d.a13, Hex(d.a13), "覆盖数"
'Print , "覆盖号(程序驻留为零)"

Print d.a14, Hex(d.a14), "开始地址"
'Print , "覆盖号(程序驻留为零)"


Close 1

End Sub


'以下为ttt.bas的内容

'NE exe 0.1
Type Dos
    bfType(0 To 1) As Byte  'EXE文件标志,4D5AH(“MZ”)
    a1 As Integer                    '最后扇区的长度
    a2 As Integer                      '文件总页数(一页512BYTE)
    a3 As Integer                      '重定位表项数
    a4 As Integer                      '文件头的节数(一节16BYTE)
    a5 As Integer                      '程序需要最小节数
     a6 As Integer                     '允许程序最大节数
     a7 As Integer              '初始堆栈段
     a8 As Integer                    '初始SP值
     a9 As Integer                   '检查和
     a10 As Integer                    'IP值
     a11 As Integer                    '初始代码段
     a12 As Integer                   '重定位表的偏移
     a13 As Integer      '覆盖数
     a14 As Integer
End Type


Type Dos2
    bfType(0 To 1) As Byte  'EXE文件标志,4D5AH(“MZ”)
    a1 As Long                    '最后扇区的长度
    a2 As Integer                      '文件总页数(一页512BYTE)
    a3 As Integer                      '重定位表项数
    a4 As Integer                      '文件头的节数(一节16BYTE)
    a5 As Integer                      '程序需要最小节数
     a6 As Integer                     '允许程序最大节数
     a7 As Integer              '初始堆栈段
     a8 As Integer                    '初始SP值
     a9 As Integer                   '检查和
     a10 As Integer                    'IP值
     a11 As Integer                    '初始代码段
     a12 As Integer                   '重定位表的偏移
     a13 As Integer      '覆盖数
     a14 As Integer
End Type

Public d As Dos
Public d2 As Dos2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值