
Eine ganz kleine Nachricht.
Aus verschiedenen persönlichen Gründen ziehe ich mein Toolkit gerne auf ein Flash-Laufwerk oder eine externe Festplatte. Ein Tool ist IDA 6.8.
Nach der Arbeit mit Systemen mag ich es nicht, wenn es Schwänze in der Registrierung oder in Form von Dateien gibt. Und leider sind die IDA und ihre Module (insbesondere BinnDiff) daran schuld.
Nun, es bestand der Wunsch, einen vollständig tragbaren Komplex zu erhalten.
Nun, im Ausmaß ihres bescheidenen Wissens und Verständnisses des Problems waren drei Lösungen sichtbar:
- Wickeln Sie alles in ThinApp oder TurboStudio ein. Das Ergebnis war groß, umständlich und konnte Plugins usw. nur eingeschränkt aktualisieren. Passte nicht.
- Schreiben Sie einen Bewohner, der die Änderungen nachverfolgt und nach dem Ende der IDA-Sitzung zurücksetzt. Das Ergebnis war ziemlich groß (mehrere Megabyte) oder erforderte das Vorhandensein von Bibliotheken im System, um ausgeführt zu werden. Beim Ändern der Art der „Schwänze“ musste der Code neu geschrieben und kompiliert werden. Nicht das.
- Machen Sie mit den eingebauten Windows-Tools. Darüber - genauer.
Tatsächlich ist es auch ohne Powershell durchaus möglich, Schwänze in Form von Dateien und Registrierungsbilanzen in einer einfachen Windows-Batchdatei zu entfernen. Der Code in meinem Fall kam folgendermaßen heraus:
@ECHO Off rem rem IDA set xOS=x64& If "%PROCESSOR_ARCHITECTURE%"=="x86" (If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86) rem set param=%~1 rem - IDA? xcopy /E /I /C /Y /Q /H /R "%appdata%\zynamics" ".\Backup\zynamics" xcopy /E /I /C /Y /Q /H /R "%appdata%\Hex-Rays" ".\Backup\Hex-Rays" xcopy /E /I /C /Y /Q /H /R "%appdata%\IDA Pro" ".\Backup\IDA Pro" rem , call :removedir "%appdata%\zynamics" call :removedir "%appdata%\Hex-Rays" call :removedir "%appdata%\IDA Pro" rem xcopy /E /I /C /Y /Q /H /R ".\BinDiff\INI" "%appdata%\" xcopy /E /I /C /Y /Q /H /R ".\Hex-Rays" "%appdata%\" xcopy /E /I /C /Y /Q /H /R ".\Hex-Rays\IDA Pro" "%appdata%\IDA Pro" rem IDA reg export HKEY_CURRENT_USER\Software\Hex-Rays backup.reg /y rem ... reg import settings.reg rem , rem IDA , 32 Windows x64 if "%param%"=="32" goto x32 if "%param%"=="64" goto x64 if "%param:~1%"=="32" goto x32 if "%param:~1%"=="64" goto x64 if "%xOS%"=="x64" goto x64 if "%xOS%"=="x32" goto x32 rem IDA x32 , :x32 start /wait idaq.exe goto end rem IDA x64 , :x64 start /wait idaq64.exe goto end rem :removedir del /F /Q /S %1 > nul rmdir /s /q %1 exit /b rem :end rem reg export HKEY_CURRENT_USER\Software\Hex-Rays settings.reg /y rem ... xcopy /E /I /C /Y /Q /H /R "%appdata%\zynamics\*" ".\BinDiff\INI\zynamics" xcopy /E /I /C /Y /Q /H /R "%appdata%\Hex-Rays\*" ".\Hex-Rays" xcopy /E /I /C /Y /Q /H /R "%appdata%\IDA Pro" ".\Hex-Rays\IDA Pro" rem reg delete HKEY_CURRENT_USER\Software\Hex-Rays /f rem ... , reg import backup.reg rem del /F /Q backup.reg call :removedir "%appdata%\zynamics" call :removedir "%appdata%\Hex-Rays" call :removedir "%appdata%\IDA Pro" rem , xcopy /E /I /C /Y /Q /H /R ".\Backup\*" "%appdata%\" rem ... call :removedir Backup
Ein Nebeneffekt einer solchen Batchdatei ist ein schwarzes Fenster, das während des IDA-Betriebs hängt. Also habe ich alles im
Quick Batch Compiler zusammengestellt , wodurch das Programm vollständig „unsichtbar“ wurde.
Somit stellte sich heraus, dass es möglich war, das Programm mit der kleinsten Dateigröße zu portieren, ohne dass zusätzliche Bibliotheken erforderlich waren, und zwar ausschließlich mit den integrierten Windows-Tools, die seit mehr als 10 Jahren im Betriebssystem enthalten sind. Gleichzeitig ist die Möglichkeit, Plugins, Skripte und IDA-Einstellungen zu ändern, nicht eingeschränkt.
Dieses "Projekt" (sehr laut gesagt) befindet sich auf dem
Github an derselben Stelle - der zusammengestellten Datei. Kritik und Ergänzungen werden akzeptiert.
PS: Ich weiß, dass sich ab IDA 7.0 die Pfade und betroffenen Dateien geändert haben. Aber ich benutze 6.8 angesichts der Tatsache, dass einige Plugins nicht unter 7.0 umgeschrieben werden, und im Allgemeinen mochte ich 7.0 nicht. Trotzdem lässt sich das vorgeschlagene Konzept leicht an neue Versionen von IDA anpassen.