您的位置:首页 > 其它

Radasm使用简明手册(中文版)

2014-11-12 20:43 323 查看
操作方面: 一、书签:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: