
رسالة صغيرة جدا.
لعدة أسباب شخصية ، أود سحب مجموعة أدواتي على محرك أقراص محمول أو محرك أقراص ثابت خارجي. أداة واحدة هي IDA 6.8.
بعد العمل مع الأنظمة ، لا يعجبني وجود أي ذيول في السجل أو في شكل ملفات. ولسوء الحظ ، فإن IDA ووحداته (خاصة BinnDiff) مذنبون بهذا.
حسنًا ، كانت هناك رغبة في الحصول على مجمع محمول بالكامل.
حسنًا ، إلى حد معرفتهم المتواضعة وفهمهم للمشكلة ، كانت هناك ثلاثة حلول واضحة:
- التفاف كل شيء في ThinApp أو TurboStudio. كانت النتيجة كبيرة ، ومرهقة ، وذات قدرة محدودة على تحديث المكونات الإضافية ، إلخ. لم يصلح.
- اكتب مقيماً يتتبع التغييرات ويعيدها بعد نهاية جلسة المؤسسة الدولية للتنمية. كانت النتيجة كبيرة جدًا (عدة ميغابايت) أو تتطلب وجود مكتبات في النظام لتشغيلها. عند تغيير طبيعة "ذيول" ، كان من الضروري إعادة كتابة وتجميع الشفرة. ليس هذا.
- هل مع أدوات ويندوز المدمج في. حول هذا الموضوع - بمزيد من التفصيل.
في الواقع ، من الممكن تمامًا إزالة ذيول في شكل ملفات وأرصدة في التسجيل في ملف دفعي Windows بسيط حتى بدون Powershell. الرمز في حالتي خرج مثل هذا:
@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 7.0 ، تغيرت المسارات والملفات المتأثرة. لكنني أستخدم 6.8 في ضوء حقيقة أن بعض الإضافات لا تتم إعادة كتابتها تحت 7.0 ، وبصفة عامة لم يعجبني 7.0. ومع ذلك ، يتم تكييف المفهوم المقترح بسهولة مع الإصدارات الجديدة من المؤسسة الدولية للتنمية.