RadASM是一款著名的WIN32汇编编辑器,支持MASM、TASM等多种汇编编译器,Windows界面,支持语法高亮,自带一个资源编辑器和一个调试器。拥有较强的工程管理功能,加之众多插件的支持,使得它用汇编语言编写Windows软件变得得心应手。
Radasm使用简明教程:
操作方面: 一、书签:
SHIFT+F8为所在行下书签或删除书签(Crtl+0-9能定义存于文件中的10个书签),可通过编辑\书签\开关书签。(CRTL+F8为下一书签,F8为上一书签)二、列选择:
拉框时用到,CRTL+B为切换行&列 拉框。三、展开 & 关闭模块 & 显示行号:
CRTL+E为展开和关闭模块,在左下脚2 & 3小按钮是展开全部和关闭全部的方式,1是显示行号。四、显示API的函数原型:
当光标碰到一个函数名称时,可显示一个函数的原型,用视图\信息工具打开即可。五、输出窗口:
可通过视图\输出窗口或点击标题栏上的图标即可。六、全屏显示:
通过CRTL+W切换。七、锁定文件:
在文件树中,可鼠标右键锁定&解锁文件。八、新建项目:
当创建一个项目时,可通过向导的倒数第2步会出现“导入”按钮,来导入已有的文件(如图标等),然后在文件组中,右键\导入\文件即可,可通过工程组(右键文件树)对文件进行分类。九:设置工程的保存位置 & 文件关联:
设置工程的保存位置:通过选项\设置路径Projects ,文件关联:在文件夹选项\文件类型选项卡里设置(关联.asm和.rap)十:断点设置:(程序运行时才会起作用CRTL+SHIFT+F5)
A:在工程选项中把“发行”改成“调试”
B:在文件定义的最后加上 include C:\RadASM\Masm\Inc\RADbg.inc
C:ALT+F8为设置&清除断点,通过编辑\断点可全部清除断点
D:当断点没有反映时可能是没有F5重新编译或者是LINK时依赖的资源文件不存在造成的(通过工程选项中可设置LINK)十一:资源编辑采用VC来编辑,把编辑好的.RC代码粘贴到RADASM中即可。十二:工具箱中
1)ASCII编码表
2)颜色拾取的值
3)代码格式化
生成文件方面:工程\工程选项:(只推荐使用几个常用的)
Compile(编译资源文件):4,O,$B/RC.EXE /v /I "$I",1 (4代表最终输出的RES文件名)
Assembly(汇编asm为机器码):3,O,$B\ML.EXE /c /coff /Cp /Zi /nologo /I"$I",2 (3代表最终输出的OBJ文件名)
Link(连接文件并生成PE文件):5,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /DEBUG /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3,4 (/OUT:"$5"PE文件名)
Run(运行文件):0,0,,5(5代表运行的文件名)
Run w/debug(调试运行):0,0,"$E\OllyDbg",5(5代表调试运行的文件名)
生成PE文件的顺序:
1:Compile(编译资源文件) SHIFT+F5
2:Assembly(汇编asm为机器码) F5
3:Link(连接文件并生成PE文件) CRTL+ALT+F5
4:Run(运行文件) SHIFT+CRTL+F5
5:Run w/debug(调试运行) CRTL+D 技巧:
一:通过在2,3行处下断点,当执行到第3行命中时,看EAX中的数值,把数值贴到VS中的工具-错误查找。可看出错误的问题是什么。(注意是十六进制的数)
1:invoke LoadLibrary,offset dllName
-》2:invoke GetLastError
-》3:invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK OTHER:
1。选项\设置路径:可设置相应的路径。
2。OllyDbg中可设置OD相关路径:选项\界面选项\目录选项卡。 FAQ:
1.radasm中无法找到resource文件时,是相对路径的问题
当有资源时需要设置工程选项
工程\工程选项 4,O,$B/RC.EXE /v /I "$I",1
这样就可以在使用rc文件中使用相对路径了······ 2.格式化输出字符串和数值
wsprintf,addr szBuffer,addr szStart,............ szBuffer db 256 dup (?) ;全局变量
local @szBuffer[256]:db ;局部变量 szStart db 'return : %d!',0 ; %d 输出十进制 %x输出十六进制 %s输出字符串, %c输出字符,%08x,小于8位时就用0填充,%lu是输出32位整数
invoke wsprintf,addr szBuffer,addr szStart,eax ;
szStart db 'return : %s!',0 ; 若是%s格式时就需要用 addr伪指令,因为%s接收的是一个变量的地址
invoke wsprintf,addr szBuffer,addr szStart,addr szText ;
invoke MessageBox,NULL,offset szBuffer,offset szCaption,MB_OK
文字编辑常用快捷键:
一、设置字符格式常用快捷键:
字体
Ctrl+Shift+ F
字号
Ctrl+Shift+ P
下一个更大的字号
Ctrl+Shift+ >
下一个更小的字号
Ctrl+Shift+ <
字号升一磅值
Ctrl+ ]
字号降一磅值
Ctrl+ [
二、设置段落格式常用快捷键:
左对齐文本
Ctrl+ L
居中文本
Ctrl+ E
右对齐文本
Ctrl+ R
两端对齐文本
Ctrl+ J
单倍行距
Ctrl+ 1
1.5倍行距
Ctrl+ 5
2倍行距
Ctrl+ 2
取消段落格式
Ctrl+ Q
三、用键盘选择文本常用快捷键:
自光标处向右选取连续的字符
Shift+ →
自光标处向左选取连续的字符
Shift+ ←
自光标处向下选取连续的行
Shift+ ↓
自光标处向上选取连续的行
Shift+ ↑
光标至一段的开始
Ctrl+Shift+ ↑
光标至一段的末尾
Ctrl+Shift+ ↓
光标至文档开始
Ctrl+Shift+ Home
光标至文档末尾
Ctrl+Shift+ End
光标至本行的开始
Shift+ Home
光标至本行的末尾
Shift+ End
上一屏
Shift+ PageUp
下一屏
Shift+ PageDown
选取全部文本
Ctrl+ A
纵向文本块
Ctrl+Shift+F8+ 方向键
随意放大或缩小预览文档
Ctrl+ 鼠标滚轮
在预览和页面视图间切换
Ctrl+Alt+ I
多任务时在各窗口间切换
Shift+Alt+ Tab