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.pswp.cn/news/375325.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375325.shtml
英文地址,請注明出處:http://en.pswp.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…