Portabelization المؤسسة الدولية للتنمية



رسالة صغيرة جدا.

لعدة أسباب شخصية ، أود سحب مجموعة أدواتي على محرك أقراص محمول أو محرك أقراص ثابت خارجي. أداة واحدة هي IDA 6.8.

بعد العمل مع الأنظمة ، لا يعجبني وجود أي ذيول في السجل أو في شكل ملفات. ولسوء الحظ ، فإن IDA ووحداته (خاصة BinnDiff) مذنبون بهذا.

حسنًا ، كانت هناك رغبة في الحصول على مجمع محمول بالكامل.

حسنًا ، إلى حد معرفتهم المتواضعة وفهمهم للمشكلة ، كانت هناك ثلاثة حلول واضحة:

  1. التفاف كل شيء في ThinApp أو TurboStudio. كانت النتيجة كبيرة ، ومرهقة ، وذات قدرة محدودة على تحديث المكونات الإضافية ، إلخ. لم يصلح.
  2. اكتب مقيماً يتتبع التغييرات ويعيدها بعد نهاية جلسة المؤسسة الدولية للتنمية. كانت النتيجة كبيرة جدًا (عدة ميغابايت) أو تتطلب وجود مكتبات في النظام لتشغيلها. عند تغيير طبيعة "ذيول" ، كان من الضروري إعادة كتابة وتجميع الشفرة. ليس هذا.
  3. هل مع أدوات ويندوز المدمج في. حول هذا الموضوع - بمزيد من التفصيل.

في الواقع ، من الممكن تمامًا إزالة ذيول في شكل ملفات وأرصدة في التسجيل في ملف دفعي 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. ومع ذلك ، يتم تكييف المفهوم المقترح بسهولة مع الإصدارات الجديدة من المؤسسة الدولية للتنمية.

Source: https://habr.com/ru/post/ar438652/


All Articles