Monday, December 19, 2016

Создаем правильный dclusr.res для Turbo Delphi

  • Удалить dclusr.res

  • Удалить dclusr.dcu

  • В файле dclusr.bdsproj удалить все теги <Excluded_Packages>

Turbo Delphi dclusr.res

  • Delete dclusr.res

  • Delete dclusr.dcu if exists

  • In dclusr.bdsproj delete all tags <Excluded_Packages>

Wednesday, December 14, 2016

Отключение сообщения при старте RDG Packer Detector

Отключение сообщения "Do you want to Register RDG Packer Detector on Contextual Menu?" при старте RDG Packer Detector.

  1. Запустить RDG Packer Detector.exe
  2. Скопировать текст из окна сообщения (Ctrl+C), и взять строку "Do you want to Register"
  3. Открыть "RDG Packer Detector.exe" в IDA.
  4. Options | General | Strings | String type: Unicide | OK
  5. View | Open subviews | Strings | Найти (Ctrl+F) "Do you want to Register"
  6. Двойной клик чтобы переключиться на вкладку "Ассемблер" ("IDA View")
  7. Двойной клик по комментарию "DATA XREF: RDGMax:012787E3"
  8. Найти выше по коду инструкцию ассемблера "условный переход"
  9. Изменить код и применить к исполняемому файлу:
    • IDA: Edit | Patch program | …
    • Найти в IDA реальное смещение относительно начала файла и использовать ваш hex-editor

Disable message box on start in RDG Packer Detector

Disable message box "Do you want to Register RDG Packer Detector on Contextual Menu?" on start RDG Packer Detector.

  1. Run: RDG Packer Detector.exe
  2. Copy text from message box to clipboard (Ctrl+C), and cut substring "Do you want to Register"
  3. Open RDG Packer Detector.exe in IDA.
  4. Options | General | Strings | String type: Unicide | OK
  5. View | Open subviews | Strings | Find (Ctrl+F) "Do you want to Register"
  6. DbClick to jump on "Assembler View" ("IDA View")
  7. DbClick on comment DATA XREF: RDGMax:012787E3
  8. Find "conditional jump" asm instruction above
  9. Patch and apply to exe file
    • IDA: Edit | Patch program | …
    • See in IDA real file offset and use your hex-editor

Wednesday, November 30, 2016

Загрузчик пакетов для Turbo Delphi

Позволяет подгружать в IDE:

  • Пакеты BPL;
  • Эксперты в виде DLL;
  • A также просто DLL от которых зависят пакеты.

Инструкция

  1. Проверить файл \lib\dclusr.bdsproj на наличие заблокированных пакетов, если есть то удалить, подредактировав dclusr.bdsproj;
  2. Скопировать текущий файл (DTurboPLoader.pas) в папку \lib (рядом с dclusr.dpk);
  3. Открыть пакет \lib\dclusr.dpk и добавить в него текущий файл (DTurboPLoader.pas);
  4. Сделать Build и Install пакета dclusr.dpk
  5. Найти файл dclusr100.bpl, смотри путь в настройках:
    [ Tools | Options | Environment Options | Delphi Options |
    Library - Win32 | Directories | Package output directory ]

    По умолчанию сюда попадут все компилируемые вами пакеты.
  6. Рядом с dclusr100.bpl создать текстовый файл DTurboPLoader.ini
  7. В файле DTurboPLoader.ini указать список пакетов для загрузки. Каждый пакет с новой строки. Указывать полный путь. Если пакет лежит рядом с dclusr100.bpl (смотри выше), то можно указать только имя. Строку можно закомментировать, указав вначале символ ;.

Пакеты будут загружены при следующем запуске Delphi. Если пакет зависит от других пакетов или DLL, то их нужно положить в папку \Bin. Либо рядом с пакетом, но добавить в DTurboPLoader.ini перед ним.

Пример DTurboPLoader.ini

; DelphiSpeedUp by Andreas Hausladen
..\..\Experts\DelphiSpeedUp\DelphiSpeedUpLoader10.bpl
; Delphi Formatter Expert by Egbert van Nes
..\..\Experts\DelForExp\DelForEx10.dll 
; Raize Palette Menu Expert
..\..\Experts\RaizePaletteMenu100.bpl
; Help Link Expert for Delphi by anDY STUDiO
..\..\Experts\HelpLink.bpl
; Delphi Sample Components
..\..\Bin\dclsmp100.bpl

; Пакеты лежат рядом с dclusr100.bpl, например в \Projects\Bpl
; Indy 10
IndySystem100.bpl
IndyCore100.bpl
IndyProtocols100.bpl
dclIndyCore100.bpl
dclIndyProtocols100.bpl
; Tnt Unicode
TntUnicodeVcl100.bpl
TntUnicodeVcl_Design100.bpl

All Delphi RTL Sources

Описание

Пакет содержит исходные коды, которые поставляются с разными версиями Delphi. Предназначен для обучения и исследования.

Примеры использования

  • Сравнение разных версий (например утилитой Beyond Compare 4);
  • Быстрый поиск по индексу (например утилитой CodeIDX).