Недавно добавленные исходники

•  TDictionary Custom Sort  3 227

•  Fast Watermark Sources  2 993

•  3D Designer  4 752

•  Sik Screen Capture  3 260

•  Patch Maker  3 469

•  Айболит (remote control)  3 530

•  ListBox Drag & Drop  2 907

•  Доска для игры Реверси  80 801

•  Графические эффекты  3 844

•  Рисование по маске  3 172

•  Перетаскивание изображений  2 544

•  Canvas Drawing  2 674

•  Рисование Луны  2 501

•  Поворот изображения  2 094

•  Рисование стержней  2 121

•  Paint on Shape  1 526

•  Генератор кроссвордов  2 183

•  Головоломка Paletto  1 731

•  Теорема Монжа об окружностях  2 159

•  Пазл Numbrix  1 649

•  Заборы и коммивояжеры  2 017

•  Игра HIP  1 262

•  Игра Go (Го)  1 201

•  Симулятор лифта  1 426

•  Программа укладки плитки  1 179

•  Генератор лабиринта  1 512

•  Проверка числового ввода  1 297

•  HEX View  1 466

•  Физический маятник  1 322

•  Задача коммивояжера  1 357

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Распаковка PC guard в ListMate Pro Demo



Автор: Hex

Инструменты: Softice, Icedump, Hex Workshop, ProcDump.

Про PC guard я не видел туториалов, по этому напишу сам. В ListMate тут идет довольно старая версия PC guard. Как написано в pcgw32.dll:


PCGW32.DLL (c) 1998/1999 by Blagoje Ceklic all rights reserved

Но прога Listmate идет от 2002 года. Так что можно сказать ломаем новое :). Тем более все эти раскриптовщики для PC guard не берут его... прям даже странно... Где же обратная совместимость?

Ну ничего страшного. Сначала запускаем Icedump, без него Listmate ваще не запускается, сечет айс зараза. Для начала получим oep и снимем дамп. Можно сделать /tracex 400000 4E0000 и подождать минут 20. А можно потрейсить(F8) от окна, которое выводит PCGuard, и минут через 5 тоже прийти к энтрипоинту по адресу 4A305C. Снимаем дамп (icedump). Потом в Hex workshop'e копируем PE от закриптованного файла и ставим его вместо заголовка нашего дампа. Procdump'om делаем в дампе стандартную процедуру Physical Size:=Virtual Size и Offset:=RVA, для всех секций. Ресурсы сразу станут на место и у нашего дампа появится иконка. Дальше остается испорченый импорт. Не пытайтесь восстанавливать через ImpRec и Revirgin! Портится окончательно :( Я давно заметил что они как-то глючно импорт восстанавливают. А тут они вобще все к черту портят. Тут делаем не так... Запускаем наш дамп. Он глюканет. Разберемся где оно глюканет. Как раз на импорте, будет jmp [4b1xxx]. Это как раз импорт. Советую прочесть про импорт на reversing.net в статьях. Дальше просматриваем память вверх от этого 4В1xxx. И находим что импорт начинается с 4B1000 и его длина 12С. Пишем эти данные в Import table (Directory) юзая Procdump. Если глянуть на эту таблицу то становится видно что из нее специально вытерты все имена функций и DLL. Похоже PC Guard это делает сам "вручную". Это можно легко проверить. Ставим BPM 4B1000. Запустив Listmate получаем облом - PC Guard блокирует BPM. И кидает нас на код такого рода:


MOV DR3, EAX <-тут выдает ошибку
MOV DR5, EAX
MOV DR6, EAX
MOV DR7, EAX
NOT ESP
NOT ESP
NEG ESP
NEG ESP
INC ESP
DEC ESP
POPAD
POPFD
MOV [EDX],CH 

Обойти это дело очень просто нужно просто EIP поменять на адрес команды MOV [EDX],CH. И прога пойдет дальше. Сработает BPM. Посмотрим нашу таблицу... Имена есть! Но она обраывается по адресу 4B2000. Делаем BPB 4B2000. Когда сработает BPM 4B2000, то имена в блоке до адреса 4B2000 будут уже затерты. Но после 4B2000 мы увидим продолжение таблицы с заполнеными именами, которая теперь оборвется по адресу 4B3000. Ну тут уже и ежу понятно, что дальще будет тоже самое. BPM 4B3000 и видим последний кусок. Теперь перезапустим прогу и просто по кусочкам сохраним наши блоки по мере того как они заполнены функциями. А потом соеденим их в Hex workshop. Теперь у нас есть заполненная таблица импорта. Осталось только заменить таблицу импорта и все. Заменяем и радуемся распакованной прогой. Дальше там уже DEDE в руки и делаем из Demo - полную.

P.S. Сочитание дурацкое какое-то "Pro Demo". Тут уж или про или демо...





Похожие по теме исходники

Capt Guard

SQL Zapros

Circle Project

Morphing Project

 

Plasma Provider

Project Loupe (лупа)

Pixel Profile

Professional Effect Image

 

MUSIC PRO

Improved Buttons and ProgressBar

Bitmap 32Bit Demo

Scanline Demo

 

Demo CheckSums

PRNG Demo

StatUtils Demo




Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте