Win32ASM学习[23]:RadASM快捷键

 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


转载于:http://www.jiangkai.net/SoftOperation/SO-radasm.htm
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAP MM/FI 自动过账实现 OBYC 接口执行

一. 自动过账原理 在MM模块的许多操作都能实现在FI模块自动过账,如PO收货、发票验证(LIV)、工单发料、向生产车间发料等等。不用说,一定需要在IMG中进行配置才可以实现自动处理。但SAP实现的这种自动配置的机制是怎样的呢?其实也并不复杂&…

JAVA 字符处理

/** * 分割字符串 * * param str String 原始字符串 * param splitsign String 分隔符 * return String[] 分割后的字符串数组 */ SuppressWarnings("unchecked") public static String[] split(String str, String splitsign) { int index; if (str null || …

Win32ASM-进程学习【1】

关于一些进程的概念就不说了。。。 一创建进程GreateProcess (1).当一个进程被创建时: ①.系统为进程创建一个内核对象,并将这个对象的计数设置为1,进程对象只是一个比较小的数据结构,可以通过进程句柄来引用 ②.系统为进程创建一个虚拟地址空间,并将可执行文件装载到这个地…

Object-C,NSArraySortTest,数组排序3种方式

晚上回来,继续写Object-C的例子,今天不打算写iOS可视化界面的程序,太累了。刚刚dady又电话过来,老一套,烦死了。其实,我一直一个观点,无论发生什么事情,不要整天一副不开心的样子。开…

android中listview的一些样式设置

在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background"drawable/bg"&…

Win32ASM-进程学习【2】

获取运行中的句柄 1.从窗口句柄中获取进程句柄 要对进程进行某种操作,就必须首先知道该进程的句柄或者进程ID 对于自己创建的子进程来说CreateProcess函数返回了子进程句柄和进程的ID 但是如果如果要对系统中运行的某个进程进行操作,那么首先获取他们的句柄才行 如果知道某个…

完美解决IE8有两个进程的问题

完美解决IE8有两个进程的问题,照以下方法设置后就只有一个进程了,没有什么负影响哦! 方法: 1、winR,在运行框里输入:gpedit.msc,回车进入组策略设置。 2、依次展开:计算机配置——管…

【转】gvim配置及相关插件安装

0.准备软件及插件。(a)gvim72.exe 地址ftp://ftp.vim.org/pub/vim/pc/gvim72.exe。(b)vimcdoc-1.7.0-setup.exe 地址http://prdownloads.sourceforge.net/vimcdoc/vimcdoc-1.7.0-setup.exe?download(c)ec57w32.zip 地址http://prdownloads.sourceforge.net/ctags/ec57w32.zip(…

Win32ASM-进程学习[3]-读写进程空间

invoke ReadProcessMemory,hProcess,lpBaseAddress,lpBuffer,dwSize,lpNumberOfBytesReadinvoke WriteProcessMemory,hProcess,lpBaseAddress,lpBuffer,dwSize,lpNumberOfBytesWritten hProcess 指定将要被读写的目标进程句柄 lpBaseAddress 目标进程中被读写的起始线性地址. …

MongoDB使用记录

安装服务 使用以下命令将MongoDB安装成为Windows服务。笔者的MongoDB目录为D:\Program Files\mongodb mongod --logpath "D:\Program Files\mongodb\data\logs.txt" --logappend --dbpath "D:\Program Files\mongodb\data" --directoryperdb --serviceName…

OC基础知识

Object C 语言基础 第一节总括 这一节是对Objective-C(以后简称OC)的简要介绍,目的是使读者对OC有一个概括的认识。 1.面象的读者 在阅读本文之前,应具备使用与C类似的编程语言(如C,C,JAVA)的一些经验,同时熟悉面向对象编程。 2.OC简介 OC是以SmallTalk为基础,建立…

Windows使用筛选器来处理异常

很久木有管博客了 最近也没有学什么 Dos系统下发生异常后,系统会调用int 24h服务例程,然后根据中断的返回值决定下一步要做什么,他会在屏幕上显示ignore Retry Fail Abort 让用户选择进而进行下一步操作 这样的话 只要应用程序截取int 24h中断,就可以随意的"胡作非…

Android 高级编程 RecyclerView 控件的使用

RecyclerView 是Android 新添加的一个用来取代ListView的控件,它的灵活性与可替代性比listview更好。 看一下继承关系: ava.lang.Object ↳android.view.View ↳android.view.ViewGroup ↳android.support.v7.widget.RecyclerViewKnown Direct …

Android下点亮LED

http://blog.csdn.net/cpj_phone/article/details/43562551转载于:https://www.cnblogs.com/Ph-one/p/4276974.html

SEH处理异常

Win32为每个线程定义了一个线程信息块,其中保存了线程的一些属性数据,线程信息块的属性被定义为NT_TIB结构 typedef struct _NT_TIB { struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; PVOID StackBase; PVOID StackLimit; PVOID SubSystemTib; union { PVOID FiberDa…

Asp.net MVC 4新项目中创建area的后续操作

Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况。 无废话具体步骤: 1. 检查早Global.asax和\App_Start\RouteConfig.cs中是否已经自动添加了Are…

55-混沌操作法之我见:一、逆势操作.(2015.2.7)

混沌操作法之我见:一、逆势操作 首先谈谈,均线以及鳄鱼线。单独的市场价格表达了t时刻价格的个体情况,均线表达了一段时间内价格的综合情况。t时刻的价格与均线的比较,表达了考虑了过去以及当前综合价格的比较情况,即t…

SEH链和展开操作

每次我们定义了一个新的SEH异常处理回调函数,EXCEPTION_REGISTRATION结构的prev字段都被要求填写上一个EXCEPTION_REGISTRATION结构的地址,随着应用程序对模块的调用一层层深入下去的时候,那么最后回调函数会形成一个SEH链 当程序中有多个线程在运行的时候,每个线程中都会存在各…

spring的基本知识

首先是回顾一下spring的基本知识 1、controller 控制器(注入服务) 2、service 服务(注入dao) 3、repository dao(实现dao访问) 4、component (把普通pojo实例化到spring容器中,相当于…

vs2010 EF4.0 访问mysql

需要安装mysql-connector-net-6.3.5 6.8.9的安装完后在dbfirst里找不到对应的提供程序 链接字符串里需要 指定下编码(如果不是gbk的话) <add name"sourceEntities" connectionString"metadatares://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;pr…