破解必備,軟件破解中常用API函數大全

在軟件破解中,常用軟件破解方法就是下斷點快速找事件,在命令行BP下斷點,shift+f9找事件然後再alt+f9返回。

快捷方法,ctrl+A分析代碼。ctrl+N 找要下斷的API函數。右鍵>查看調用結構。

然後分別F2下斷,shift+F9運行。直接就可以看到不用alt+f9返回。即用BPX。

破解或者脫殼都ctrl+A分析一下這樣比較好分析。

A表示ANSI(短),W表示widechars即Unicode(寬)。

短字節使用比較頻繁,所以大部分都是用A,如果A不能斷下就試試用W。

“*****”表示常用API

攔截字符串相關:

bp GetDlgItemTextA(W) ->獲取指定輸入框輸入字符串*****

bp GetDlgItemInt ->獲取對話框整數值

bp GetWindowTextA(W) ->取得一個窗體的標題(caption)文字,或者一個控件的內容*****

bp GetDIgItem ->獲取按鈕事件代碼(斷輸入框)*****

bp GetwindowTextLengthA ->調查窗口標題文字或控件內容的長短******

bp GetWindowWord ->獲得指定窗口結構的信息





攔截對話框相關:

bp MessageBeep ->播放一個系統聲音。系統聲音的分配方案是在控制面板裏決定的

bp MessageBoxA(W) ->創建消息框*****

bp MessageBoxExA(W) ->創建消息框

bp MessageBoxIndirect(A) ->創建定製消息框

bp DialogBox ->從資源模板建立一模態對話窗

bp DialogBoxParamA(W) ->從資源模板建立一模態對話窗

bp DialogBoxIndirect ->從內存模板建立一模態對話窗

bp DialogBoxIndirectParam ->從內存模板建立一模態對話窗

bp CreateDialog ->從資源模板建立一非模態對話窗

bp CreateDialogParam(A) ->從資源模板建立一非模態對話窗

bp CreateDialogIndirect ->從內存模板建立一非模態對話窗

bp CreateDialogIndirectParam(A) ->從內存模板建立一非模態對話窗

bp EndDialog ->結束一模態對話窗

bp GreateWindowExA(W) ->獲取指定設備場景的窗口範圍

bp ShowWindow ->控制窗口的可見性

bp UpdateWindow ->強制立即更新窗口

對於VB的程序用bp MessageBoxA是無法斷下來的,用bp rtcMsgBox



攔截窗口相關:

bp CreateWindow ->創建窗口

bp CreateWindowEx(A) ->創建窗口

bp ShowWindow ->顯示窗口

bp UpdateWindow ->更新窗口

bp GetWindowTExt(A) ->獲取窗口文本

攔截警告聲相關:

bp MessageBeep ->播放一個系統聲音。系統聲音的分配方案是在控制面板裏決定的



攔截剪貼板相關:

bp GetClipboardData ->獲取剪貼板數據

功能限制攔截相關:

bp EnableMenuItem ->允許、禁止或變灰指定的菜單條目

bp EnableWindow ->允許或禁止鼠標和鍵盤控制指定窗口和條目(禁止時菜單變灰)



攔截廣告相關:

bp ShellExecuteExA ->查找與指定文件關聯在一起的程序的文件名。程序自己打開網頁,可以直接搜索打開網頁的地址。然後向上查找關鍵跳就OK了。



時間處理函數相關:

bp CompareFileTime ->比較兩文件時間

bp GetFileTime ->獲取文件建立,最後訪問,修改時間

bp GetLocalTime ->獲取當前本地時間*****

bp GetSystemTime ->獲取當前系統時間

bp GetCurrentTime ->獲取當前時間(16位)

bp GetTickCount ->獲取windows啓動至現時毫秒 

bp SetFileTime ->設置文件時間

bp SetLocalTime ->設置本地時間 dExecutableA 查找與一個指定文件關聯在一起的程序的文件名

bp SetTimer ->創建定時器

bp TimerProc ->定時器超時回調函數



軟件狗相關:

bpio -h 278R

bpio -h 378R

bp CreateFileA  ->開和創建文件、管道、郵槽、通信服務、設備以及控制檯

bp DeviceIOControl ->對設備執行指定的親作

bp FreeEnvironmentStringsA ->翻譯指定的環境字串塊(對付HASP非常有效)



註冊表相關:

bp RegOpenKeyA ->打開一個現有的註冊表項 *****

bp RegOpenKeyExA ->打開一個現有的註冊表項

bp RegCreateKeyA ->在指定的項下創建或打開一個項

bp RegCreateKeyExA ->在指定項下創建新項的更復雜的方式

bp RegDeleteKeyA ->刪除現有項下方一個指定的子項

bp RegDeleteValueA ->刪除指定項下方的一個值

bp RegQueryValueA ->獲取一個項的設置值

bp RegQueryValueExA ->獲取一個項的設置值

bp RegSetValueA ->設置指定項或子項的值



bp RegSetValueExA ->設置指定項的值

bp RegCloseKey ->關閉系統註冊表中的一個項(或鍵)



INI初始化文件相關:

bp GetPrivateProfileStringA ->爲初始化文件中指定的條目取得字串*****(凡是重啓驗證多數都有效)

bp GetPrivateProfileInt ->爲初始化文件(.ini文件)中指定的條目獲取一個整數值

bp WritePrivateProfileStringA ->在初始化文件指定小節內設置一個字串

bp WritePrivateProfileInt ->初始化文件中一個指定的小節設置所有項名和值



key文件相關:

bp Getprivateprofileint ->爲初始化文件中指定的條目獲取一個整數值 *****

bp ReadFile ->從文件中讀出數據

bp CreateFileA  ->開和創建文件、管道、郵槽、通信服務、設備以及控制檯



win進程操作: 獲取(返回)

bp FindExecutableA ->查找與一個指定文件關聯在一起的程序的文件名

bp FreeLibray ->釋放指定的動態鏈庫

bp GetCurrentProcess ->獲取當前進程的一個僞(虛擬)句柄*****(脫殼常用斷點)

bp GetCurrentProcessId ->獲取當前進程一個唯一的標識符

bp OpenMutexA ->使程序把父進程當成子進程運行(雙進程脫殼)

bp GetCurrentThreadId ->返回當前進程 ID *** 殼常用來返回OEP

bp GetCurrentThread ->獲取當前線程的一個僞句柄

bp GetExitCodeProces ->獲取一個已結束進程的退出代碼

bp GetExitCodeThread ->獲取一個已結束線程的退出代碼

bp GetModuleHandleA ->獲取一個應用程序或動態鏈接庫的模塊句柄*****(處理Magic JMP經常用這個)

bp GetPriorityClassA ->獲取特定進程的優先級別

bp LoadLibraryA ->載入指定的動態鏈接庫,並將它映射到當前進程使用的地址空間

bp LoadLibraryExA ->裝載指定的動態鏈接庫,併爲當前進程把它映射到地址空間

bp LoadModule ->載入一個windows應用程序,並在指定的環境中運行

bp CreateProcessA ->創建一個新進程

bp TerminateProcess ->結束一個進程

bp ExitProcess ->以乾淨的方式關閉一個進程

bp ResumeThread ->恢復線程的執行(脫捆綁殼)

bp SuspendTread ->暫停線程(脫捆綁殼)

bp VirtualAlloc ->申請空間存放資源(脫捆綁殼)

bp VirtualFree ->釋放指定地址資源(脫捆綁殼)

bp VirtualProtect ->保護指定地址資源(脫捆綁殼)



CD-ROM或磁盤相關:

bp GetDiskFreeSpaceA ->獲取與一個磁盤的組織有關的信息,以及瞭解剩餘空間的容量

bp GetDiskFreeSpaceExA ->獲取與一個磁盤的組織以及剩餘空間容量有關的信息

bp GetFullPathNameA ->獲取指定文件的詳細路徑

bp GetDriveTypeA ->判斷一個磁盤驅動器的類型

bp GetLogicalDrives ->判斷系統中存在哪些邏輯驅動器字母

bp GetVolumeInformat ->ionA 獲取與一個磁盤卷有關的信息  

bp GetWindowsDirectoryA ->獲取Windows目錄的完整路徑名

bp GetSystemDirectoryA ->取得Windows系統目錄(即System目錄)的完整路徑名

bp GetFileAttributesA(W) ->判斷指定文件的屬性

bp GetFileSize ->判斷文件長度

bp GetDriveType ->判斷一個磁盤驅動器的類型

bp GetLastError ->返回擴充出錯代碼

bp ReadFile ->從文件中讀出數據



光盤破解相關:

win16:

bp getvolumeinformation ->獲取與一個磁盤卷有關的信息

bp getdrivetype ->判斷一個磁盤驅動器的類型

win32:

bp GetDriveTypeA ->獲取磁盤驅動器類型

bp GetLogicalDrives ->獲取邏輯驅動器符號

bp GetFullPathNameA ->獲取指定文件的詳細路徑

bp GetWindowsDirectoryA  ->獲取Windows目錄的完整路徑名

bp GetLogicalDriveStringsA ->獲取當前所有邏輯驅動器的根驅動器路徑



文件訪問相關:

bp lcreat ->創建一個文件  

bp CreateDirectoryA ->創建一個新目錄

bp CreateDirectoryExA ->創建一個新目錄

bp CreateFileMappingA ->創建一個新的文件映射對象

bp CreateFileA ->創建或打開文件、管道、郵槽、通信服務、設備以及控制檯 *****

bp RemoveDirectoryA ->刪除指定目錄

bp DeleteFileA ->刪除指定文件

bp lopen ->以二進制模式打開指定的文件

bp OpenFile ->打開文件,能執行大量不同的文件操作 (32位)

bp OpenFileMappingA ->打開一個現成的文件映射對象

bp SetEndOfFile ->針對一個打開的文件,將當前文件位置設爲文件末尾

bp CloseHandle ->關閉一個內核對象。其中包括文件、文件映射、進程、線程、安全和同步對象等

bp lclose ->關閉指定的文件

bp ReadFile ->從文件中讀出數據(32位) *******

bp ReadFileEx ->與ReadFile相似,只是它只能用於異步讀操作,幷包含了一個完整的回調





bp lread ->將文件中的數據讀入內存緩衝區

bp hread ->將文件中的數據讀入內存緩衝區 *******

bp lwrite ->將數據從內存緩衝區寫入一個文件  

bp hwrite ->將數據從內存緩衝區寫入一個文件

bp WriteFile ->將數據寫入一個文件 

bp WriteFileEx ->與WriteFile類似

bp MapViewOfFile ->將一個文件映射對象映射到當前應用程序的地址空間

bp MapViewOfFileEx ->將一個文件映射對象映射到當前應用程序的地址空間

bp FindFirstFileA ->根據文件名查找文件

bp SearchPathA ->查找指定文件

bp MoveFileA ->移動文件

bp CopyFileA ->複製文件

bp SetCurrentDirectoryA ->設置當前目錄

bp SetFileAttributesA ->設置文件屬性

bp llseek ->設置文件中進行讀寫的當前位置

bp SetFilePointer ->在一個文件中設置當前的讀寫位置

bp SetFileTime ->設置文件的創建、訪問及上次修改時間

bp GetFileTime ->取得指定文件的時間信息

bp CompareFileTime ->對比兩個文件的時間

bp GetBinaryTypeA ->判斷文件是否可以執行

bp GetFileAttributesA ->判斷指定文件的屬性

bp GetFileSize ->判斷文件長度

bp FindNextFileA ->根據調用FindFirstFile函數時指定的一個文件名查找下一個文件

bp FindClose ->關閉由FindFirstFile函數創建的一個搜索句柄

bp GetFileType ->在給出文件句柄的前提下,判斷文件類型

bp GetSystemDirectory ->取得Windows系統目錄(即System目錄)的完整路徑名














VB函數:

………………………………………………………………

VB 破解快速找事件 ctrl+B搜索816C24 然後分別在他上面的JMP設置F2斷點,運行註冊模塊進行註冊。

在那個JMP中斷就是從這個JMP開始調用註冊模塊。

在函數中的縮寫:

bool ->布爾型數據(TRUE 或 FALSE)

str ->字符串型數據 STRING

i2 ->字節型數據或雙字節整型數據 BYTE or Integer

ui2 ->無符號雙字節整型數據

i4 ->長整型數據(4字節) Long

r4 ->單精度浮點型數據(4字節) Single

r8 ->雙精度浮點型數據(8字節) Double

cy  ->(8 個字節)整型的數值形式 Currency

var ->變量 Variant

fp  ->浮點數據類型 Float Point

cmp ->比較 compare

comp ->比較 compare

Eq ->相等 equal

Ne ->不等於 

Le ->小於或等於

Lt ->小於

Ge ->大於或等於

Gt ->大於



對話框:

bpx rtcMsgBox ->顯示一信息對話框 ******



窗體常用:

bpx DestroyWindow ->破壞(即清除)指定的窗口以及它的所有子窗口******

bpx mouseevent ->模擬一次鼠標事件(鼠標中斷)

bpx postquitmessage ->將一條消息投遞給應用程序。這條消息由應用程序的內部GetMessage循環獲得,但不會傳給一個特定的窗口

bpx vbaVarTstEq ->檢驗指定變量是否相等 判斷是否註冊的函數******

下BPX vbaVarTstEq 下斷點後,shift+F9運行N次到出現錯誤提示窗口,然後N-1次shift+F9運行。alt+F9返回,就可以到關鍵地方。



攔截警告聲:

bpx rtcBeep ->揚聲器提示



數據移動:

bpx vbaVarCopy ->數據移動將一個變量值串拷貝到內存

bpx vbaVarMove ->數據移動變量在內存中移動,或將一個變量值串拷貝到內存

bpx vbaStrMove ->移動字符串

bpx vbaStrCopy ->移動字符串 將一個字符串拷貝到內存,類似於 Windows API HMEMCPY



數據類型轉換:

bpx vbaI2Str ->將一個字符串轉爲8 位(1個字節)的數值形式(範圍在 0 至 255 之間) 或2 個字節的數值形式(範圍在 -32,768 到 32,767 之間)。

bpx vbaI4Str ->將一個字符串轉爲長整型(4個字節)的數值形式(範圍從-2,147,483,6482,147,483,647)

bpx vbar4Str ->將一個字符串轉爲單精度單精度浮點型(4個字節)的數值形式

bpx vbar8Str ->將一個字符串轉爲雙精度單精度浮點型(8個字節)的數值形式

bpx VarCyFromStr ->(僅VB6庫. 要調試,則在WINICE.DAT裏必須有 OLEAUT32.DLL)字符串到變比型數據類型

bpx VarBstrFromI2 ->(僅VB6庫. 要調試,則在WINICE.DAT裏必須有 OLEAUT32.DLL)整型數據到字符串:



數值運算:

bpx vbaVarAdd ->兩個變量值相加

bpx vbaVarIdiv ->除整,第一個變量除以第二個變量,得到一個整數商

bpx vbaVarSub ->第一個變量減去第二個變量

bpx vbaVarMul ->兩個變量值相乘

bpx vbaVarDiv ->除

bpx vbaVarMod ->求餘

bpx vbaVarNeg ->取負

bpx vbaVarPow ->指數

bpx vbavarxor ->兩個變量值做異或運算



針對變量:

bpx vbaVarCompEq ->比較局部變量是否相等

bpx vbaVarCompNe ->比較局部變量是否不等於 

bpx vbaVarCompLe ->比較局部變量小於或等於

bpx vbaVarCompLt ->比較局部變量小於

bpx vbaVarCompGe ->比較局部變量大於或等於

bpx vbaVarCompGt ->比較局部變量大於



VB的指針:

THROW  



程序結構:

bpx vbaVarForInit ->重複執行初始化

bpx vbaVarForNext ->重複執行循環結構, For… Next… (Loop)



比較函數:

bpx vbaStrCmp ->比較字符串是否相等 ******

bpx vbaStrComp ->比較字符串是否相等 ******

bpx vbaVarTstEq ->檢驗指定變量是否相等

bpx vbaVarTstNe ->檢驗指定變量是否不相等

bpx vbaVarTstGt ->檢驗指定變量大於

bpx vbaVarTstGe ->檢驗指定變量大於或等於

bpx vbaVarTstLt ->檢驗指定變量小於

bpx vbaVarTstLe ->檢驗指定變量小於或等於
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章