DeDe反編譯工具:可以查看delphi 程序綁定的事件地址
Ctrl+G:直接斷API
Ctrl+N:輸入表斷API
Ctrl+B:查找二進制字符串,可以查找對應的十六進制機器碼
堆棧鎖定位置:彈框出來之後,點擊暫停程序 -> 點擊K -> 就能看到最近的調用堆棧
打補丁的方式
- 在OD裏面修改彙編
- 在IDA裏面修改代碼
- 程序加載後,內存補丁,讀取進程ID,然後修改指定位置的代碼(加殼後的程序,首先要等待代碼解壓縮之後再修改內存代碼)
- dll劫持,查找程序中使用的dll,dll入口編寫對應的代碼
過檢測方法
- 硬件HOOK,不修改代碼實現破解
- crc 檢測
騷操作之 - 字符串搜索
exe 程序中搜索字符串,有時候OD搜不到,可以嘗試使用IDA搜索
- 使用OD插件搜索
- 點擊m,查看內存,在最上面右鍵,查找(可能是unicode或者ascii,兩個都嘗試一下,搜到然後下內存訪問斷點)
- IDA搜索
- 如果碰到OD和IDA都無法搜索到字符串,那麼嘗試使用OD的內存查找字符串十六進制數據,不用搜全部,可以只搜索連三個十六進制數據,然後一個一個篩選
爲什麼要使用補丁工具
- 加殼後的程序必須脫殼才能用OD修改
- 加殼後的程序在運行前加密,只有在代碼運行時纔會解壓
各程序的反編譯工具
- VB - VB Decompiler Pro
- Delphin - DelphiDecompiler
文件操作API的使用
CreateFileA(W):創建文件
ReadFile:讀取文件
WriteFile:寫入文件
CloseHandle:關閉句柄
讀取文件:CreateFile->ReadFile->CloseHandle
寫入文件:CreateFile->WriteFile->CloseHandle
註冊表操作API的使用
創建註冊表Key:RegCreateKey
打開註冊表Key:RegOpenKey
查詢註冊表鍵值:RegQueryValue(Ex)
寫入註冊表鍵值:RegSetValueEx
各網絡驗證關鍵字段
易遊:eydata.net