介绍
HLA是高级汇编语言(High
level
assembly)的缩写,个人感觉这是一门和c语言有着很大的相似性的汇编语言。他在汇编语言的基础上构建了自己的标准库,使得软件的汇编开发的复杂度大大的减少了,又不影响汇编超级主动的性质。凭我个人短暂的体验来看,最大的不足就是和64位机器的兼容问题,因为它本质上将HLA代码转换成了32位机器的汇编指令,然后通过那些指令 *** 作机器,32位机器和64位机器指令的微小差异,常常弄的很头疼,有时候需要逐个检查生成的汇编代码,修该了才能运行,所以建议,如果不太熟悉这种东西的时候学习的时候还是衫激用32位的机孝拍器比较好,可以省去不少麻烦。总之,感觉用这门语言作为汇编语言学习的入口,恰到好处
HLA
的安装
运行HLA需要的相关巧塌羡软件和相关介绍资料,都可以在http://webster.cs.ucr.edu/AsmTools/HLA/index.html相关的页面找到下载,顺便说出来它是免费的。
Windows下面的HLA安装比较简单就不说了,简单介绍我的
LINUX
环境下的安装。(其实上面那个网站上面说的很明白,即便有一些微小差别也可以轻松搞定,如果你熟悉linux环境的话)
下载就不说了,你需要下载的是hla.tar.gz,文件名会因为版本不同有微小的差别。专家们都说的是放在/usr/hla,就这么放好了。然后cd
到/usr,释放文件(
gzip
-d
hla.tar.gz,现在可能会有不同,我记不清我当时怎么做的了,这步好象可以省略,因为文件的格式变了)然后tar
xvf
hla.tar,基本安装就搞定了
。当然忘了说了你的usr文件对你来说,可能会有一些权限的问题,一般都是在root下做上面 *** 作,然后更改文件权限,使得普通用户可以访问,简单的chmod
777
*就可以,不过要改变整个文件下所有文件的权限,你还需要加上-x参数(参数忘了,自己man
chmod吧),接着就是配置相关文件。这时最好用普通用户,因为该系统文件的时候root是和可怕的东西。切换到/home/你的用户文件下,ls
-a
找到.bashrc文件,在PATH变量定义的地方追加:/usr/hla(安装hla的路径),然后追加这样两条:
hlalib=/usr/hla/hlalib/hlalib.a
export
hlalib
hlainc=/usr/hla/include
export
hlainc后面的路径都是你的实际路径
然后在/usr/hla下面建一个tmp文件夹(放代码的地方)
继续在.bashrc文件里面增加:
hlatemp=/tmp
export
hlatemp(以上变量声明的文件可能和实际系统有所出入,你打开看起来比较像的文件,逐个比较下,看清楚他们的规则,然后增加在适当的地方才不会出错,尝试之前先做个备份)
基本上就好了,你到控制台输入,hla回车,会开到相应的hla提示信息了。
经典的开始
来写个hello
word吧
cd
到/usr/hla/tmp
然后用vi写一个hw.hla文件,在里面增加如下代码:
program
HelloWorld
#include(
"stdlib.hhf"
)
begin
HelloWorld
stdout.put(
"Hello,
World
of
Assembly
Language",
nl
)
end
HelloWorld
保存,然后hla
hw.hla,你就会看见标准输出上有Hello,
World
of
Assembly
Language,我实际 *** 作的时候提示n1是未定义的宏,因为也刚学不太久,没有仔细琢磨,把nl去掉就没事了,不过也不换行了。这时,你察看你的tmp文件,会多了很多个文件,根据他们的文件类型名很容易知道他们是什么,看看那个纪录汇编指令的文件吧,哈哈,原来一个简单的hello
world
用到的指令也不少呢。
后记
目前我也刚开始学这个东西,欢迎更多的人加入这个行列,共同指点下,偶基础比较差,学起来有些困难。不过我会坚持写完这个笔记的,over!
win7 64位 *** 作系统radasm不能用啊,设置方法
将下载好的masm32压缩包解压,得到的整个文件夹拷贝至C盘根目录。
双击安装hla.exe,同样地,必须也安装到C盘根目录下。
完成之后,右击计算机-属性-高级系统设置-环境变量,查看系统变量,其中的三项如果如图所示的一样,证明安装hla成功,配置也是正确的。
双击安装RadASM.v2.2.1.9,由于步骤一已经复制了拍升masm32至C盘根目录,所以安装时masm32选项不要勾选,对于hla而言,只需要勾选“文件关联”一项,如图所示。安装目录同样选择C盘根目录,确保安装完成之后RadASM.exe在C:\RadASM。
双击桌面的Radasm图标或者C:\RadASM\目录下的RadASM.exe进入程序。工具栏点击:文件-新建工程,编译器选择拍枯hla,类型选Console APP,填好工程名,使用hello world的袭贺老模板。
新建的工程完成了,试着编译并运行,如图,运行成功得到结果。
点击工具栏:选项-语言,选择简体中文。然后是环境变量,发现了没,Radasm安装时自动把环境变量和路径设置为基于C盘根目录的,这也是之前的步骤为什么必须把masm32以及hla安装于C盘根目录的原因。如果masm32以及hla没有安装到C盘根目录,Radasm的自动配置环境变量将不起作用,用户必须手动更改。
至此,整个安装和配置过程已经结束了。如果能按照以上步骤做,64位WIN7下对于配置基于Radasm编辑器的hla编程环境和XP是一样的。
1、反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。2、寄存器窗口:显示当前所选线程的 CPU 寄存器内容。同样点击标签 寄存器 (FPU) 可以切换显示寄存器的方式。
3、信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。
4、数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。
5、堆栈窗口:显示当前线程的堆栈。
6、菜单窗口:顾名思义,一些命令以及 *** 作、显示等乱巧都在这里。
7、命令行窗口:用来下断点等相关命令。
除了直接启动 OllyDBG 来调试外,我们还可以把 OllyDBG 添加到资源管理器右键菜单皮陪绝,这样我们就可以直接在 .exe 及 .dll 文件上点右键选择“用Ollydbg打开”菜单来进行调试。要把 OllyDBG 添加到资源管理器右键菜单,只需点菜单 选项->添加到浏览器,将会出现一个对话框,先点击“添加 Ollydbg 到系统资源管理器菜单”,再点击“完成”按钮即可。要从右键菜单中删除也很简单,还是这个对话框,点击“从系统资源管理器菜单删除 Ollydbg”,再点击“完成”就行了。
OllyDBG 支持插件功能,插件的安装也很简单,只要把下载的插件(一般是个 DLL 文件)复制到 OllyDBG 安装目录下的 PLUGIN 目录中就可以了,OllyDBG 启动时会自动识别。要注意的是 OllyDBG 1.10 对插件的个数有限制,最多不能超过 32 个,否则会燃姿出错。建议插件不要添加的太多。
到这里基本配置就完成了,OllyDBG 把所有配置都放在安装目录下的 ollydbg.ini 文件中。
打开文件后的状态如下
打开要测试的文件:文件-打开,或第一个文件夹打开图标,或按 F3 - d出“打开32位.EXE文件”对话框[Open 32-bit .EXE file],您可以选择可执行文件,并可以输入运行参数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)