20CN网络安全小组第一代论坛
发表新主题  发表回复

个人资料 | 社区目录 用户登录 | | 论坛搜索 | 常见问题 | 论坛主页
  下一个最老的主题   下一个最新的主题
» 20CN网络安全小组第一代论坛   » 电 脑 技 术   » 编程破解   » 学习汇编的好帮手(第八篇)

   
作者 标题: 学习汇编的好帮手(第八篇)
第007元素
未注册


图标 1  发表于         编辑/删除帖子   引用原文回复  
※ 利用文书处理程式建立一个 SMILE.ASM 的原始码档案。
※ ASM 档案中的空白行可帮助您分清楚程式的架构,便於阅读。
※ MASM 会将所有的数值假设为十进位,而 DEBUG 则使用十六进
 位;所以在原始码中,我们必须加上 h,以代表十六进位。
※ 若是以字母开头的十六进位数字,则还必须在字母前加个 0,
 以表示它是数字。
 原始程式码 DEBUG 程式

prognam segment
assume cs:prognam
mov dl,1 mov dl,1
mov ah,2 mov ah,2
int 21h int 21
int 20h int 20
prognam ends
end

※ 原始程式码新增了四列叙述∶
※ prognam segment 与 prognam ends 是成对的,用来告诉 MASM 及
 LINK,此程式将放在一个称为『PROGNAM』(PROGram NAMe) 的
 『逻辑区段』内;其中区段名称(PROGNAM)可以任取,但其
 位置必须固定,且两个区段名称必须相同。

※ assume cs:prognam 必须在程式的开头,用来告诉组译器,此
 程式所在区段的位置放在 CS 暂存器中。
※ end 用来告诉 MASM,程式到此结束。
※ 要产生 COM 档案的所有原始程式码都需含这四列,且必须依
 相同的次序及位置出现。

※ 以 MASM.EXE 组译 ASM 档案时,不可打入附属档名 ASM。
※ 组译器会要求您输入 OBJ 档案、表例(LST)档案及对照(CRF)
 档案(供除错时参考用)等档案名称,您只要按 Enter 键,
 则表示要使用其预设名称。
※ NUL 表示没有档案,所以最後组译的结果只产生 SMILE.OBJ 。
1.请输入 MASM SMILE
2.请按 Enter 键三次。

Microsoft (R) Macro Assembler Version 5.10
Copyright (C) Microsoft Corp 1981, 1988. All rights reserved.
Object filename [SMILE.OBJ]:

Source listing [NUL.LST]:

Cross-reference [NUL.CRF]:

50162 + 403867 Bytes symbol space free
0 Warning Errors
0 Severe Errors

※ ∶警告错误,表示组译器对某些事情不了解,
 不过,尚不致严重到使程式组译的结果发生
 错误。
※ ∶严重错误,会造成程式无法正常执行的错误
※ 在使用 LINK 之前,必须将错误修正。


※ OBJ 档案中包含的是组译後的二进位结果,它还无法被 DOS
 载入记忆体中加以执行,必须先加以链结(Linking)。
※ 以 LINK 将 OBJ 档案(SMILE.OBJ)链结成 EXE 档案(SMILE.EXE)
 时,不可使用附属档名 OBJ。
1.请输入 LINK SMILE
2.请按 Enter 键三次。

Microsoft (R) Overlay Linker Version 3.64
Copyright (C) Microsoft Corp 1981, 1988. All rights reserved.
Run File [SMILE.EXE]:

List File [NUL.MAP]:

Libraries [.LIB]:

LINK : warning L4021: no stack segment

※ [.LIB]: ∶程式库,是一些程式的集合,在特殊的情况下,
 您可将它与您的程式合并使用。
※ 由於 COM 档案并不使用堆叠段,所以错误讯息 "no stack
 segment" 并不会影响程式的正常执行,只是增加我们的紧
 张罢了。

※ 使用 EXE2BIN 将 EXE 档案(SMILE.EXE),转换成 COM 档案
 (SMILE.COM)时,前者不必使用附属档名,而後者则必须指定
 附属档名,否则,会产生 BIN 档案(SMILE.BIN)。
※ 其实 BIN 档案与 COM 档案是完全相同的,但由於 COMMAND.COM
 只认识 COM、EXE 及 BAT 档案,所以 BIN 档案无法被正确执行。
1.请输入 EXE2BIN SMILE SMILE.COM

※ 现在,磁片上应该有 SMILE.COM 档案了,您只要在提示符号
 A> 下,直接输入档案名称 SMILE ,就可以执行这个程式了。
1.请执行本程式。

IP: 已记录

 
发表新主题  发表回复 关闭主题 突出主题 移动主题 删除主题 下一个最老的主题   下一个最新的主题
 - 适于打印的主题视图
转到:
联系我们 | 20CN网络安全小组

Powered by Infopop Corporation
UBB.classic™ 6.5.0
NetDemon修改版 1.5.0, 20CN网络安全小组 版权所有。