當前位置:首頁 » 編程軟體 » 反編譯斷點

反編譯斷點

發布時間: 2022-06-01 06:26:37

Ⅰ 破解常用斷點(全部的)

設置斷點不是盲目設置的,還要看軟體在無殼的
狀態下是什麼語言編寫的
比如VB,下斷點的命令是bp __vbaStrComp

如須交流,QQ:499441
一. 調試類工具soft-ice和trw2000。

soft -ice是目前公認最好的跟蹤調試工具。使用soft-ice可以很容易的跟蹤一個軟體、或是監視軟體產生的錯誤進行除錯,它有dos、 window3.1、win95/98/nt/2000/各個平台上的版本。這個本是用來對軟體進行調試、跟蹤、除錯的工具,在cracker手中變成了最恐怖的破解工具;trw2000是中國人自己編寫的調試軟體,完全兼容soft-ice各條指令,由於現在許多軟體能檢測soft-ice存在,而對 trw2000的檢測就差了許多,因此目前它成了很多cracker的最愛。trw2000專門針對軟體破解進行了優化,在windows下跟蹤調試程序,跟蹤功能更強;可以設置各種斷點,並且斷點種類更多;它可以象一些脫殼工具一樣完成對加密外殼的去除,自動生成exe文件,因此它的破解能力更強,在破解者手中對共享軟體的發展威脅更大。它還有在dos下的版本,名為tr。

二. 反匯編工具wdasm8.93黃金版和hiew。

cracker 常將soft-ice和trw2000比作屠龍刀,將wdasm8.93則比作倚天劍。wdasm8.93可方便地反匯編程序,它能靜態分析程序流程,也可動態分析程序。在原有的普通版的基礎上,一些破解者又開發出了wdasm8.93黃金版,加強了對中文字元串的提取。對國產共享軟體的威脅也就更大了。例如開心鬥地主這個很好玩的共享軟體,用黃金版對其反匯編可以直接看到注冊碼,普通版不能,您說它厲害不?hiew是一個十六進制工具,它除了普通十六進制的功能外,它還有個特色,能反匯編文件,並可以用匯編指令修改程序, 用它修改程序,方便快捷!這也是cracker們常用的靜態反匯編工具。

三. visual basic程序調試工具smartcheck。

這是專門針對visual basic程序的調試程序,由於vb程序執行時從本質上講是解釋執行,它們只是調用 vbrunxxx.dll 中的函數,因此vb 的可執行文件是偽代碼,程序都在vbxxx.dll 裡面執行。若用soft-ice跟蹤調試只能在vbdll裡面用打轉轉,看不到有利用價值的東西,而且代碼質量不高,結構還很復雜。當然只要了解其特點用 soft-ice也可破解 ,但smartcheck的出現,大大方便了cracker。smartcheck 是 numega 公司出口的一款出色的調試解釋執行程序的工具,目前最新版是v6.03。它非常容易使用,你甚至於不需要懂得匯編語言都能輕易駕馭它。它可將vb程序執行的操作完全記錄下來,使破解者輕而易舉的破解大部分vb程序。

四. 十六進制編輯器ultraedit。

十六進制編輯器可以用十六進制方式編輯文件,修改文件的內蕁K淙籬iew就是一款是十六進制工具,但它是dos界面,因此很多破解者又准備了一款windows下的工具,這樣的工具很多,如:ultraedit、winhex、hex workshop 等,其中ultraedit比較有特色,操作方便,更有漢化版可用,它是非常出色的十六進制編輯器,建議您也找一個用用。

五. 注冊表監視工具

主要有regshot、regmon或regsnap等。在微軟操作系統中,眾多的設置都存放在注冊表中,注冊表是windows的核心資料庫,表中存放著各種參數,直接控制著windows的啟動、硬體驅動程序的裝載以及一些windows應用程序的正常運行。在應用軟體安裝時,有可能將一些必要的信息放進去,如安裝時間、使用次數、注冊碼等。regshot、regmon或regsnap就是監視注冊表變化的工具,通過它可以了解、監視應用程序在注冊表中的動作,破解者常利用它們來監視應用程序在注冊表中的變化。
六. 文件監視工具filemon。

可監視系統中指定文件運行狀況,如指定文件打開了哪個文件,關閉了哪個文件,對哪個文件進行了數據讀取等。通過它,任何您指定監控的文件有任何讀、寫、打開其它文件的操作都能被它監視下來,並提供完整的報告信息。破解者經常利用filemon監控文件系統,以便了解程序在啟動、關閉或驗證注冊碼時做了哪些手腳,並由此進行相應的解密。

七. 脫殼工具procmp。

現在許多軟體都加了殼,「殼」是一段專門負責保護軟體不被非法修改或反編譯的程序。它們一般都是先於程序運行,拿到控制權,然後完成它們保護軟體的任務。經過加殼的軟體在跟蹤時已無法看到其真實的十六進制代碼,因此可以起到保護軟體的目的。procmp就是個對付軟體加殼的脫殼工具,它可剝去許多種殼,還文件本來面目,這樣再修改文件內容就容易多了。由於它還允許使用者自己編寫腳本文件,因此利用它能脫去新版加殼軟體的殼。它同時還是一款優秀的pe格式修改工具,是脫殼必備工具!

八. 偵測文件類型工具

這樣的工具有typ、gtw、fileinfo和沖擊波2000等。它們被用來偵測軟體被加殼類型,其中沖擊波2000能輕易的找到任何加密殼的入口點,包括asprotect以及幻影的加密殼都可以。這類軟體一般是配合procmp和調試軟體使用的,用它們找到程序加殼類型,用procmp或 soft-ice、trw2000脫殼。

九. 資源修改器 exescope。

exescope是一個可以修改軟體資源的工具,功能強大。 exescope能在沒有資源文件的情況下分析、顯示不同的信息,重寫可執行文件的資源,包括(exe,dll,ocx)等。它可以直接修改用 vc++ 及 delphi 編制的程序的資源,包括菜單、對話框、字串表等,是漢化軟體的常用工具。在破解者手中,它常被用來修改文件資源中的菜單、對話框、字串表等,用以顯示破解者需要的信息(例如更改版權信息等),以此達到修改軟體的目的。

十. api調用查詢工具api spy。

顧名思義,這個程序是用來偵測軟體都調用了哪些api。 api就是windows程序執行時所呼叫的函數,跟dos下的int(中斷)差不多,windows 提供了很多這樣的函數讓程序設計者套用,主要目的是為了節省軟體開發的時間,方便大家開發軟體。api spy就是這樣一個監控api調用的軟體,它可以查看應用程序調用了哪些api,從而得出對破解者有用的api調用信息,通過這些api調用來設定斷點,達到破解軟體的目的。它可以工作在windows95/98/nt/2000平台下。

Ⅱ 如何在vc++6.0中反編譯一段程序

逐過程調試—F10
逐語句調試—F11
跳到游標處—Ctrl+F10
跳出本循環—Shift+F11
設定斷點—F9
刪除所有斷點—Ctrl+Shift+F9
開始編譯 F7
重新編譯 –Ctrl+F7
開始調試--F5
停止調試—Shift+F5
重新啟動—Ctrl+Shift+F5

Ⅲ 反匯編下斷點的問題

斷點設置是靠經驗的,沒有固定的模式,不過可以攔截的斷點有很多人總結過,做外掛截取CALL功能大部分游戲都是send/wsasend這2個+滑鼠消息斷點,網路一下很多的。

常用斷點(OD中)

攔截窗口:
bp CreateWindow 創建窗口
bp CreateWindowEx(A) 創建窗口
bp ShowWindow 顯示窗口
bp UpdateWindow 更新窗口
bp GetWindowText(A) 獲取窗口文本

攔截消息框:
bp MessageBox(A) 創建消息框
bp MessageBoxExA 創建消息框
bp MessageBoxIndirect(A) 創建定製消息框
bp IsDialogMessageW

攔截警告聲:
bp MessageBeep 發出系統警告聲(如果沒有音效卡就直接驅動系統喇叭發聲)

攔截對話框:
bp DialogBox 創建模態對話框
bp DialogBoxParam(A) 創建模態對話框
bp DialogBoxIndirect 創建模態對話框
bp DialogBoxIndirectParam(A) 創建模態對話框
bp CreateDialog 創建非模態對話框
bp CreateDialogParam(A) 創建非模態對話框
bp CreateDialogIndirect 創建非模態對話框
bp CreateDialogIndirectParam(A) 創建非模態對話框
bp GetDlgItemText(A) 獲取對話框文本 作用是得指定輸入框輸入字元串
bp GetDlgItemInt 獲取對話框整數值

攔截剪貼板:
bp GetClipboardData 獲取剪貼板數據

攔截注冊表:
bp RegOpenKey(A) 打開子健
bp RegOpenKeyEx 打開子健
bp RegQueryValue(A) 查找子健
bp RegQueryValueEx 查找子健
bp RegSetValue(A) 設置子健
bp RegSetValueEx(A) 設置子健

功能限制攔截斷點:
bp EnableMenuItem 禁止或允許菜單項
bp EnableWindow 禁止或允許窗口

攔截時間:
bp GetLocalTime 獲取本地時間
bp GetSystemTime 獲取系統時間
bp GetFileTime 獲取文件時間
bp GetTickCount 獲得自系統成功啟動以來所經歷的毫秒數
bp GetCurrentTime 獲取當前時間(16位)
bp SetTimer 創建定時器
bp TimerProc 定時器超時回調函數
GetDlgItemInt 得指定輸入框整數值
GetDlgItemText 得指定輸入框輸入字元串
GetDlgItemTextA 得指定輸入框輸入字元串

攔截文件:
bp CreateFileA 創建或打開文件 (32位)
bp OpenFile 打開文件 (32位)
bp ReadFile 讀文件 (32位)
bp WriteFile 寫文件 (32位)
GetMoleFileNameA
GetFileSize
Setfilepointer
fileopen
FindFirstFileA
ReadFile

攔截驅動器:
bp GetDriveTypeA 獲取磁碟驅動器類型
bp GetLogicalDrives 獲取邏輯驅動器符號
bp GetLogicalDriveStringsA 獲取當前所有邏輯驅動器的根驅動器路徑

★★VB程序專用斷點★★

文件長度:RtcFileLen
bp __vbaFreeStr 對付VB程序重啟驗證
bp __vbaStrCmp 比較字元串是否相等
bp __vbaStrComp 比較字元串是否相等
bp __vbaVarTstNe 比較變數是否不相等
bp __vbaVarTstEq 比較變數是否相等
bp __vbaStrCopy 復制字元串
bp __vbaStrMove 移動字元串
bp MultiByteToWideChar ANSI字元串轉換成Unicode字元串
bp WideCharToMultiByte Unicode字元串轉換成ANSI字元串

Ⅳ 反編譯不了,不知道哪裡出錯了,怎麼辦

我雖然沒有做過反編譯工作,但是我編寫過源程序,對源程序的調試基本思路一般就是:通過使用調試工具設置斷點,單步跟蹤,查看某個變數的值等手段,來最終把程序的正確運行結果調試出來。對於反編譯的思路也是一樣的,你可以通過調試工具設置斷點的方法,一步一步進行調試。在這個調試工作上面,沒有什麼捷徑可走。

Ⅳ 反匯編的斷點是什麼意思

斷點的概念不只限於匯編,它是任何語言編程時調試的基本手段之一。
所以,你說「反匯編的斷點」,可見你還沒有掌握程序調試的基本方法(因為反匯編和斷點幾乎沒有任何關系)。
斷點是人為設置的,意思就是讓程序執行到此「停住」,不再往下執行,然後主動權就交給調試者了,此時你可以做調試軟體支持的任何事情(那要看調試軟體的能夠提供的功能了,例如查看、修改、單步跟蹤、繼續執行、設置下一個斷點以及斷點次數和條件斷點設置等等)。

回答你其它的問題:「是代碼運行到此斷點停止還是代碼從此斷點開始」,前面說了,運行到此會停止,然後隨你;
「怎麼找到時候放斷點的位置」,這個要看你想做什麼,達到什麼調試目的,與問題緊密相關,無法一概而論。

Ⅵ 安卓app360加固怎麼反編譯

1 對比

上傳demo進行加固,解包後對比下原包和加固包,發現加固包在assets文件夾下多了libjiagu.so,libjiagu_x86,lib文件夾下多了libjiagu_art.so,同時修改了dex文件和AndroidManifest文件

打開manifest文件,看到xxx加固對Application標簽做了修改,添加了殼入口,也就是我們反編譯後看到的StubApplication.smali這個文件。

相比於之前版本的加固,自從1.x.x.x加固版本之後,多了幾次反調試,使得動態難度稍微增大了一些,不過針對脫殼機脫殼,再多了反調試也是無用。或者通過修改系統源碼,也能達到消除反調試的作用。


2 動態調試

(1)把app安裝到手機,以調試模式打開app

(2)以shell模式root許可權打開IDA的android_server監聽

(3)tcp轉發

(4)打開IDA,修改配置為在進程開始時下斷

(5)搜索到進程後jdwp轉發,pid值即為我們進程號,並在命令行下附加。

成功附加後,可以下段了,打開Debugger Option

我們選擇在線程開始和庫載入時下斷,修改成功後,jdb附加,點擊運行

程序會斷在elf頭處,按下G鍵,搜索mmap,在mmap函數的段首和斷尾下段

F9運行,來到斷尾時F8單步,

來到此處時,在 BLunk_5C999C2C下斷,F9一下,F7跟進去

跟進去今後在BLX LR處進行下斷,此處就是進行反調試的地方,原理依然是獲取TracePid的值判斷當前是不是處於調試狀態,建議第一次調試的人在fgets和fopen處下斷,再f7跟進此調用就可以看到TracePid的值了。

跟進去之後,我們直接把方法移到最下方,就可以看到kill符號了,這就是殺進程的地方,如果當前處於調試狀態,則直接結束進程。

我們在此函數的所有cmpR0,#0處下斷,F9一下後即斷在斷點處,觀察寄存器窗口的R0值,實質就是當前的TracePid的16進制的值

不確定的可以使用cat /proc/pid/status進行對比一下,我們直接把R0置0,右鍵選擇Zero Value即可清0,繼續F9

我們看到程序又來到了mmap處,繼續f9

當繼續斷在調用反調試功能的方法時,繼續F7跟進,依然在所有的cmp R0,#0處下斷,斷下後把R0清0後繼續F9運行

目前的規律是,調用BLXLR的第一次,第二次和第四次是進行反調試判斷的,第三次並不影響,可以直接f9跳過去,三次反調試搞定後,就可以愉快的F9運行並觀察堆棧窗口了

當看到出現如下所示時:

說明殼已經開始解密並釋放dex文件了,我們直接F8單步十幾步,最後F9一下就可以看到我們需要的dex頭了

直接腳本mp出來即可,最後把libjiagu的所有文件刪除,並修復下Application標,如果存在則修復,不存在刪除即可

Ⅶ 關於反匯編設置斷點

你進行反匯編後得到的是匯編程序?
編譯成功??
反匯編後的代碼都是已經經過編譯器處理過的
例如,mov eax,dword
ptr[401025]這樣的代碼你要是再編譯一次是不行的,編譯器並不認[401025]是什麼
還有,反匯編後的代碼含有很多PE文件信息,編譯器都不認的
不知道你用的什麼工具反匯編的
IDA+OD試試

Ⅷ 反匯編的時候如何下斷點

可以先用mpbin /disasm找到跳轉指令的地址,然後根據這個地址直接設斷點。

Ⅸ eclipse反編譯插件怎麼斷點調試

點擊右鍵--》屬性,彈出屬性窗口,左側有個Java源代碼連接,右邊讓幫你選擇源碼位置呢,選擇源碼位置(最好把項目導入到工作空間中)
這樣你如果用到了jar包中的類或者方法,介面等,點擊就可以進入你關聯的項目中,這樣你就可以打斷點了,調試的時候直接進入你關聯項目的斷點。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:647
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:939
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:634
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:823
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:734
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1069
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:302
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:163
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:855
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:765