- UID
- 1
- 精华
- 积分
- 76361
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
NASM作为一款汇编器并不只是用来当做汇编的编译器的。它强大的预处理能被我们运用在别的地方。
它那预处理可是比C、C艹还强大的哦。
那么说正事,如何运用NASM分割文件呢?
首先建立一个“新建 文本文档.TXT”,改名为“CUTFILE.ASM”
用记事本打开,输入以下内容:- %defstr INPUTFILE INFILE
- incbin INPUTFILE,FROM,LEN
复制代码 然后就地召唤出CMD。召唤CMD的方法戳这里。召唤出CMD之后,输入以下CMD命令:- nasm -dINFILE="要分割的文件" -dFROM=开始字节 -dLEN=提取长度 CUTFILE.ASM -o 输出文件
复制代码 然后按回车运行,就能分割文件了。现在来详细讲一下用法。
1、“开始字节”是你要从文件的哪里提取数据。2、“提取长度”是你要从文件中提取多少字节。
3、“输出文件”是你最终提取出来的数据保存的地方。
嗯,这样就能做到分割文件了。那么我再详细讲讲它的原理。
首先我们建立的“CUTFILE.ASM”其实应该算作是源码。在讲源码以前先讲编译命令行吧。
命令行中的“-d”是“预处理定义宏”的作用,用法是“-d宏名=值”。我们在命令中定义了三个宏:
INFILE
FROM
LEN
然后再看看源码的内容。
%defstr是将宏展开后的值当做字符串处理。那么第一句就是把INFILE的值当做字符串定义为INPUTFILE。
incbin是NASM源码用来表示包含一个二进制文件的伪指令。它的格式是:然后我们给的编译命令里面已经给出了这三个参数的值,因此事实上我们是借助incbin这个伪指令来分割文件。最终NASM“编译”了CUTFILE.ASM,得到了分割的文件。
|
|