ida pro默認不允許你打開由其他用戶創建的idb文件,這給逆向分析帶來很多不便。
經過研究發現,ida pro會在idb文件中存放ida.key的信息,用於標示創建者。因此我們需要用自己的ida.key中的內容進行替換。
注: 替換之後,打開idb文件會提示校驗失敗,保存一下就好了。另外當idb以deflate方式存放的時候需要先解壓縮之後再進行替換
首先打開你的idb文件,查找"$ original user",然後往前移167個字節,將之後的160個字節替換爲ida.key文件中從倒數320字節開始的160個字節即可
可以用如下的WinHex腳本來自動化上面的流程
ExitIfNoFilesOpen
Turbo On
ForAllObjDo
Find "$ original user" MatchCase
IfFound
Move -7
Block2 CurrentPos
Move -160
Block1 CurrentPos
//Your key
Write 0x68A6CCA68835B991192761B9EAA2760131041C723505F3F7D052DA513878F505
Write 0x1CB84A17B46D255F29B84681C9B89F5A1FD04A23C6874380D78DE941B814EFE5
Write 0x416DC51B7F1EEE50D88EA674472CB4BF41E3CE11FCA6A69BA97DB17282944D78
Write 0xA8B5FB4BDF366637F818C2E003B4CC65952AFAAC586070C115B776B2E72CE437
Write 0x0000000000000000000000000000000000000000000000000000000000000000
Else
MessageBox "Can't find key data"
EndIf
EndDo
經過研究發現,ida pro會在idb文件中存放ida.key的信息,用於標示創建者。因此我們需要用自己的ida.key中的內容進行替換。
注: 替換之後,打開idb文件會提示校驗失敗,保存一下就好了。另外當idb以deflate方式存放的時候需要先解壓縮之後再進行替換
首先打開你的idb文件,查找"$ original user",然後往前移167個字節,將之後的160個字節替換爲ida.key文件中從倒數320字節開始的160個字節即可
可以用如下的WinHex腳本來自動化上面的流程
ExitIfNoFilesOpen
Turbo On
ForAllObjDo
Find "$ original user" MatchCase
IfFound
Move -7
Block2 CurrentPos
Move -160
Block1 CurrentPos
//Your key
Write 0x68A6CCA68835B991192761B9EAA2760131041C723505F3F7D052DA513878F505
Write 0x1CB84A17B46D255F29B84681C9B89F5A1FD04A23C6874380D78DE941B814EFE5
Write 0x416DC51B7F1EEE50D88EA674472CB4BF41E3CE11FCA6A69BA97DB17282944D78
Write 0xA8B5FB4BDF366637F818C2E003B4CC65952AFAAC586070C115B776B2E72CE437
Write 0x0000000000000000000000000000000000000000000000000000000000000000
Else
MessageBox "Can't find key data"
EndIf
EndDo