
一条小消息。
由于多种个人原因,我喜欢将工具包拖到USB闪存驱动器或外部硬盘驱动器上。 一种工具是IDA 6.8。
使用系统后,我不喜欢注册表中或文件形式的尾巴。 不幸的是,IDA及其模块(特别是BinnDiff)对此感到内gui。
好吧,有人希望获得一个完全可移植的复合体。
好吧,就他们对问题的适度了解和理解而言,可以看到三种解决方案:
- 将所有内容包装在ThinApp或TurboStudio中。 结果很大,很麻烦,更新插件的能力有限等。 不适合。
- 编写一个居民,跟踪该更改并在IDA会话结束后将其回滚。 结果非常大(几兆字节),或者需要系统中存在库才能运行。 当改变“尾巴”的性质时,有必要重写和编译代码。 不是那样
- 使用内置的Windows工具。 关于它-更详细。
实际上,即使没有Powershell,也完全有可能在一个简单的Windows批处理文件中消除注册表中文件形式的尾部和余额。 在我的情况下,代码如下所示:
@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
这种批处理文件的副作用是在IDA操作期间挂起的黑色窗口。 因此,我将它们全部放入
Quick Batch Compiler中 ,结果该程序变得完全“不可见”。
因此,事实证明,可以使用最小的文件大小来移植程序,而无需使用其他库,而仅使用开箱即用的操作系统中内置的Windows工具已超过10年。 同时,更改插件,脚本和IDA设置的能力不受限制。
这个“项目”(非常大声地说)在
github上的同一位置-组装文件。 批评和补充都是可以接受的。
PS:我知道从IDA 7.0开始,路径和受影响的文件已更改。 但是鉴于某些插件在7.0下不会重写,因此我使用6.8,并且总体上我不喜欢7.0。 但是,提出的概念很容易适应IDA的新版本。