![]() |
eXeL@B —› Основной форум —› Как нормально дизассемблировать эту программу? |
Посл.ответ | Сообщение |
|
Создано: 06 января 2006 20:16 · Поправил: Skyer · Личное сообщение · #1 |
|
Создано: 06 января 2006 20:19 · Поправил: Skyer · Личное сообщение · #2 |
|
Создано: 06 января 2006 20:39 · Поправил: Skyer · Личное сообщение · #3 |
|
Создано: 06 января 2006 21:43 · Поправил: intty · Личное сообщение · #4 cup386 Описание: Распаковывает DOS EXE, файлы COM в т.ч. упакованные PkLite, Diet, Protect и ЛЮБЫМ другим! V86 многозадачный трассировщик; ЭМУЛЯТОР i80386 CPU - полная поддержка Real Mode, очередь процессора и эмуляция регистров DRX. Встроенный диалоговый интерфейс, не уступающий Turbo Debugger регистры X0B BPX, BPM, BPR, BPIO, BPINT. оно? ![]() |
|
Создано: 06 января 2006 22:34 · Личное сообщение · #5 |
|
Создано: 06 января 2006 23:57 · Личное сообщение · #6 |
|
Создано: 07 января 2006 00:58 · Личное сообщение · #7 |
|
Создано: 07 января 2006 02:04 · Личное сообщение · #8 |
|
Создано: 07 января 2006 02:37 · Поправил: Skyer · Личное сообщение · #9 Он упакован, но как-то странно. Может быть внутренний упаковщик там какой-то. Такое ощущение, что в определённых местах файл запакован, а в определённых - нет. Или распаковывается плохо или неправильно. Дело в том, что он запускается, и реально игровым является именно этот "упакованный" файл. А когда его распаковываешь unp.exe, он становится лишь чуть-чуть больше - 314 580. При этом данные рассортированы более красиво, но часть текстовых данных(сужу по тексту в файле) исчезает. Например, в "запакованном" файле есть стартовое меню в виде текста, а в "распакованном" - нет. При этом после "распаковки"(unp.exe) файл не запускается. В XP вылетает без текста ошибки, а в 98-ом писал "Overlay not found". При том, что интересно - этого текста в "распакованном" файле тоже нет ![]() ![]() |
|
Создано: 07 января 2006 07:03 · Личное сообщение · #10 |
|
Создано: 07 января 2006 11:28 · Личное сообщение · #11 |
|
Создано: 07 января 2006 17:03 · Личное сообщение · #12 |
|
Создано: 08 января 2006 10:04 · Личное сообщение · #13 |
|
Создано: 08 января 2006 13:56 · Личное сообщение · #14 |
|
Создано: 09 января 2006 07:31 · Личное сообщение · #15 |
|
Создано: 10 января 2006 00:24 · Поправил: Skyer · Личное сообщение · #16 Значит, тема вот какая. Я хочу поредактировать этот файл, поиграться с ним. Изменить что-то, добавить или изменить новые функции в игре и т.д. Для этого надо знать как он работает. В принципе, и в таком полуупакованном файле он редактируется. Я нашёл то, как программа вставляет в игру некоторые тексты(а зная, где находится определённый текст, можно изменять и какую-то функцию в игре, к которой этот текст относится). В игре есть "точка отсчёта" для некоторых текстов - offset 2484D. И эти тексты находятся по следующим строчкам: mov ax, 0XXXX push ax После чего(сразу или через пару строк) делается какой-нибудь "call". XXXX - количество байтов после 2484D. Но так ловятся не все тексты. И вот задача - найти как ловятся в игре остальные тексты. Эти я нашёл(IDA их не отображает, поэтому и вопрос был о распаковке) благодаря тому, что нашёл переменную, которая отвечает за деньги ("w,[si][0C0F6]" - в Hiew). Тем самым отследив процессы, где количество денег изменяется на фиксированную сумму(50, 100) я смог найти принцип впечатывания нескольких текстов. А остальные как найти? За что здесь можно зацепиться? Жду советов или взлома, если кому интересно ![]() Игру слить можно на abandonia.com (сайт старых игр) ![]() |
![]() |
eXeL@B —› Основной форум —› Как нормально дизассемблировать эту программу? |