Перейти к содержанию

Не отображается процесс игры в OllyDbg


Рекомендуемые сообщения

Я решил перенести свою работу по игре Shadow Of Mordor на с++. Сделал новый реверс, добыл адреса... Нужны сижки. Зашёл в Olly, запустил игру... А в списке процессов игра не отображается.

Версия Оли - последняя, скачана с офф.сайта. с плагином SigMaker.

KOfCvX1.png

Изменено пользователем RockHammer
Ссылка на комментарий
Поделиться на другие сайты

Игра х64, а плагин SigMaker уж наверное каждый знает о нем, кто занимается читами. 

Я конечно в эту игру не играл не разу,но судя по характеристикам - она х64 

5c03d3515d80e21a2d34f2f92c42c689.jpg

Изменено пользователем LIRW
Ссылка на комментарий
Поделиться на другие сайты

Если игра Shadow Of Mordor 64-разрядная, то и OllyDbg должна быть тоже 64-разрядная. Но судя по скриншоту, у тебя 32-х разрядная OllyDbg 1.38 версии.

 

Те надо 64-bit OllyDbg версии например OllyDbg 2.01 и запустить её от имени админа.

Ссылка на комментарий
Поделиться на другие сайты

Дайте ссылку на Олли x64, на оффсайте нету линков на скачку.

 

Введи в поиск OllyDbg 64. Или на официальном сайте получше поищи  :)

 

 

2.01 поддерживает только х86, x64 до сих пор в разработке.

 

OllyDbg 2,01 alpha 4 поддерживает и x64 процессы. Я тестил месяц назад где-то и до этого еще много раз.

Ссылка на комментарий
Поделиться на другие сайты

Только что попытался открыть CE x64 при помощи последней сборки  OllyDbg 2.01, получил в ответ ERR_NOT_SUPPORTED. При этом вижу на сайте раздел по Olly x64, которая до сих пор в разработке. Я чего-то не понимаю?

 

UPD: Специально скачал 2.01 alpha 4, попытался открыть х64-бинарник, в ответ отладчик дважды предупредил, уверен ли я, а потом отказался бинарник открывать. Я точно чего-то не понимаю.

Ссылка на комментарий
Поделиться на другие сайты

Мда, похоже меня глюкануло. Так что извиняюсь

 

Но вот есть какой-то похожий отладчик

 

 

slide3.png

 

на сайте.

 

Может я его юзал, до переезда и как-то его связал с OllyDbg. Потом переехал на новую хату и все перепутал в названиях и архивах. А помню ACU игру открывал кто-то в отладчике, очень похожим на OllyDbg (был скриншот на забугорном форуме), но наверно это не OllyDbg

Ссылка на комментарий
Поделиться на другие сайты

Мда, похоже меня глюкануло. Так что извиняюсь

 

Но вот есть какой-то похожий отладчик

 

 

slide3.png

 

на сайте.

 

Может я его юзал, до переезда и как-то его связал с OllyDbg. Потом переехал на новую хату и все перепутал в названиях и архивах. А помню ACU игру открывал кто-то в отладчике, очень похожим на OllyDbg (был скриншот на забугорном форуме), но наверно это не OllyDbg

а к этому можно подключить sigmaker?

Ссылка на комментарий
Поделиться на другие сайты

Создание сигнатур для чайников и ковшиков.

 

Автор: Михаил "keng" Ремизов

Дата: 26.07.15

Понадобится: 


-Бумажка и ручка (из любого канцелярского магазина)

-Пальцы (чтобы держать ручку и нажимать кнопки клавиатуры)

 

Привет, поЧИТыватель!

 

Ты - невероятно крутой геймхакер, выпускающий эксклюзивные релизы каждые 45 минут даже на те тайтлы, бюджет на которые еще не выделен. Тебя все обожают, у тебя есть деньги, власть и маленький плагин для горячо любимого тобой отладчика Olly под названием Signature Maker, который позволяет создавать так называемые сигнатуры - последовательности байт, однозначно идентифицирующие участок дизассемблированного исходного кода. Но случается так, что тебя зовут на чемпионат галактики по взлому игр и программированию трейнеров (с вами кенг!) на не самую далекую планету Kepler 452b. Билеты тебе оплачивает Роскосмос в одну сторону, NASA - в другую, и ты отправляешься, по дороге взломав предельную скорость и ускорение двигателей твоего пепелаца.

 

На месте РЕЗКО выясняется, что компьютер со всем твоим софтом развалился на атомы во время пути, но выход есть - на планете еще задолго до зарождения разумных цивилизаций обосновался Dark Byte, который с глуповатой, странной улыбкой предоставляет тебе последнюю версию своего флагманского продукта - Cheat Engine!

 

Проблема в том, что чудо-плагина, которым ты так привык пользоваться, нет. Что же делать?

 



8B FF                 - mov edi,edi
55                    - push ebp
8B EC                 - mov ebp,esp
F6 45 08 02           - test byte ptr [ebp+08],02
57                    - push edi
8B F9                 - mov edi,ecx
74 25                 - je dontstarve_steam.exe+2180C5
56                    - push esi
68 008EDD00           - push dontstarve_steam.exe+218E00


 

Проще простого! Ты не ударяешь в грязь лицом, и, найдя нужный участок кода, делаешь следующее:

 

Выделаешь несколько строк кода и копируешь их, выбрав опцию Copy to clipboard - Bytes only (no address), или нажав Ctrl+Alt+C. Получаешь, допустим, вот такую строчку:

 



8B FF 55 8B EC F6 45 08 02 57 8B F9 74 25 56 68 00 8E DD 00


 

Делаешь в Cheat Engine новый поиск, ставишь тип Array of byte. Сколько адресов нашлось? Один? Отлично! Не один? Копируешь из отладчика на одну команду больше. Получив один-единственный результат, ты, с раскалывающейся после сверхскоростного перелета головой, начинаешь вспоминать обрывки теории.

 

Команда находится по адресу, записывается в виде мнемоники (mov, push, call, je), состоит из опкода и операндов. Другой опкод - другая команда, но в твоем случае важно то, что при смещении адресации операнды в одних и тех же командах могут смениться. Такими операндами могут быть (в твоем случае) test, je и последний push. Сверяемся со справочными материалами по командам x86, вытатуированными на спине:

 


TEST - Test For Bit Pattern

 

mnemonics op xx xx xx xx xx sw len flags

TEST    AL,ib A8 i0 B 2 0---szap

TEST    AX,iw A9 i0 i1 W 3 0---szap

TEST    rmb,ib F6 /0 d0 d1 i0 B 3~5 0---szap

TEST    rmw,iw F7 /0 d0 d1 i0 i1 W 4~6 0---szap

TEST    rmb,rmb 84 mr d0 d1 B 2~4 0---szap

TEST    rmw,rmw 85 mr d0 d1 W 2~4 0---szap

Usage

TEST    dest,src

Modifies flags

CF OF PF SF ZF (AF undefined)

Performs a logical AND of the two operands updating the flags

register without saving the result.

 

PUSH - Push Word onto Stack

 

mnemonics op xx xx xx xx xx sw len flags

PUSH    AX 50 1 --------

PUSH    CX 51 1 --------

PUSH    DX 52 1 --------

PUSH    BX 53 1 --------

PUSH    SP 54 1 --------

PUSH    BP 55 1 --------

PUSH    SI 56 1 --------

PUSH    DI 57 1 --------

PUSH    ES 06 1 --------

PUSH    CS 0E 1 --------

PUSH    SS 16 1 --------

PUSH    DS 1E 1 --------

PUSH    FS          [386] 0F A0 2 --------

PUSH    GS          [386] 0F A8 2 --------

PUSH    ib          [186] 6A i0 E 2 --------

PUSH    iw          [186] 68 i0 i1 N 3 --------

PUSH    rmw FF /6 d0 d1 2~4 --------

Usage

PUSH    src

PUSH    immed   (80188+ only)

Modifies flags

None

Decrements SP by the size of the operand (two or four, byte values

are sign extended) and transfers one word from source to the stack

top (SS:SP).

 

JE/JZ - Jump Equal / Jump Zero

 

mnemonics op xx xx xx xx xx sw len flags

JE      ll          [386] 0F 84 r0 r1 4 --------

JE      sl 74 r0 2 --------

Usage

JE      label

JZ      label

Modifies flags

None

Causes execution to branch to "label" if the Zero Flag is set. Uses unsigned comparison.

 

*) JE/JZ are different mnemonics for the same instruction


 

Что теперь делать? Необходимо заменить некоторые операнды "дырками", потому что они могут поменяться из-за смещенной адресации. Да еще и так нужно заменить, чтобы проверить можно было. Выход есть! Делаем так:

 



8B FF 55 8B EC F6 ?? ?? ?? 57 8B F9 74 ?? 56 68 ?? ?? ?? ??


 

Знаки вопроса делают как раз то, что делают знаки вопроса - "а пофиг, какой там байт стоит". Ищем получившуюся конструкцию в памяти и начинаем грустить - адресов нашлось больше одного, а нам важна уникальность. Выход есть - просто удлинняем сигнатуру до тех пор, пока она не окажется уникальной.

 

Готово!

 

Что можно сказать в качестве морали? Не всегда под рукой есть готовые инструменты, но всегда под рукой должны быть мозги, а в мозгах - интерес к изучению и тому, как же инструменты работают.
  • Плюс 3
Ссылка на комментарий
Поделиться на другие сайты

аа к этому можно подключить sigmaker?

 

Как вариант бери CE и функцию контекстного меню создания АА "шаблон AOB" при создании скрипта. Она построит сигну

Ссылка на комментарий
Поделиться на другие сайты

Ты - невероятно крутой геймхакер, выпускающий эксклюзивные релизы каждые 45 минут даже на те тайтлы, бюджет на которые еще не выделен. Тебя все обожают, у тебя есть деньги, власть.

Ничего себе! Ещё утром я был обычным менджером ПП, а сегодня уже крутой геймхакер! Вот это прогресс!

 

последовательности байт, однозначно идентифицирующие участок дизассемблированного исходного кода

многабукав!

 

Билеты тебе оплачивает Роскосмос в одну сторону, NASA - в другую

Ну спасибо, что хоть не РЖД!

Ссылка на комментарий
Поделиться на другие сайты

Ты понял, как оно работает и что нужно делать?

Да. Этот способ можно было в двух словах объяснить... Но твой вариант интереснее читать)

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.