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

live_4_ever

Пользователи+
  • Постов

    321
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Сообщения, опубликованные live_4_ever

  1. Отличная статья! Только есть одно но! Она на английском. Пока...Я сейчас перевожу ее. Но думаю это будет не скоро. Поэтому если кто хочет и понимает может пока на англ. почитать. Может кому понадобиться...

    Сохранить позицию/Отменить позицию (Телепорт)

    Save/Restore(Teleport) - 08-19-2006, 03:15 AM

    ________________________________________

    Subject: Save Restore (Teleport)

    Game: Bloodrayne 2 Demo

    Tools Needed:

    Memory Searcher(i used cheat engine,tsearch has problems with this game)

    Debugger( I used softice but you can use whatever you want)

    ************************************************** ********

    ................Introduction

    Step 1..........Find Health and getting our structure

    Step 2..........Finding our players coordinates

    Step 3..........Code Injection

    Step 4..........Code into the trainer

    ************************************************** ********

    Introduction

    ------------

    Basically we are going to do a save restore option for bloodrayne2 Demo. What this option does is you can press one key to save a position in the game then another key will teleport you back to that same position. You should have good training skills if you plan on doing this tutorial(searching,debugging,ect). Ill try and go into as much detail as i can, but if you follow all the steps you should have no problem doing this option correctly. On with the tut.....

    ************************************************** ********

    Step 1: Find Health and getting our structure

    ---------------------------------------------

    Ok I am sure you know how to search for your health. If you don't get out of here :-D. Ok now you found your health address. What we want to do is get all of our pointers because we are going to use one of them to do our injection. So...

    CTRL+D into softice...

    bpm ADDRESS press enter...

    Press F5 and softice will break...

    Write down the address it breaks at...

    Keep hitting F5 and write down all the addresses, and pointers you break at until they start repeating...

    This is what I ended up with

    5BE285 : PUSH [EBX+39C4]

    5BE2B5 :

    5BE2D1 :

    5BF30A :

    There are a lot more but we really only need on of them. Next you want to go threw and set a execution breakpoint on them one at a time and watch the structure inside the pointer and make sure it never changes so you know that pointer is only reading your health, so....

    bpx 5BE285 press enter....

    F5 and softice will break...

    Keep hitting F5 and watch the structure inside 5BE285 witch is EBX(up in the register window), and if it never changes its just for us (witch it don't). This is the address we will be using for our teleport option...

    5BE285 : PUSH [EBX+39C4]

    Ok you should know how most games work...Your players,weapons,items,ect have there own structures. So inside your player structure will have everything containing your character. So now to get the coordinates.

    There are a lot of ways to finding these. A lot of people will take the long approach(using a mem searcher,blah), witch doesn't always work. The quick and easy way is to use the players structure, because they are usually

    stored at the top of the structure(if not there there down in the structure somewhere). Health is stored in the player structure. This pointer PUSH [EBX+39C4], EBX is the beginning of the player structure, so whenever

    the game needs to get something for your player they just add a value to EBX, for instance your health is [PlayerStructure+39C4]. Your power might be [PlayerStructure+34] or whatever. That's all I am going to explain

    on that matter I hope you understand.

    Ok now to get the coordinates... We need to set a execution breakpoint on our health pointer and dump our structure, so....

    bpx 5BE285 press enter...

    Hit F5 and softice will break...

    d EBX press enter...

    Now up in the dump window the first address will be our player structure. Now all you want to do here is watch the bytes. You are watching for 4 bytes in a row that only change when your player has moved. So I go into

    softice and watch a line at the top..I remember what the bytes looked like or you can write them down..then move your character a few steps go back into softice and look for 4 bytes that have changed..your coordinates will

    be store in 4 bytes and there are 3 of them x,y,z.. And they will be back to back..

    So your data window looks like this

    600001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    600002 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    The coordinates will be stored like this

    600001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    600002 00 00 11 11 11 11 22 22 22 22 33 33 33 33 00 00

    1 = first coordinate

    2 = second coordinate

    3 = third coordinate

    So I did this step and found 3 dwords in a row where 2 of them changed only when I moved(height coordinate don't change unless you change height). So i took the first dword i found and put it in a memory searcher so i can test. I wrote down the value then i moved my character, went back to the memory searcher and put back the first value i wrote down and sure enough i teleported back to that location.

    So the next step is to find out where it is stored in our structure. All you do is this...

    First Coordinate Address - PlayerStructure address = how many bytes away

    so I ended up with (34) for the first coordinate and the other 2 are 4 bytes away so..

    [PlayerStructure+34] = First Coordinate

    [PlayerStructure+38] = Second Coordinate

    [PlayerStructure+3C] = Third Coordinate

    Great now we have our coordinates and there location...

    Note!! do not skip this step unless you fully understand it...read it over until you do..

    ************************************************** ********

    Step 3: Code Injection

    ----------------------

    What you will need...

    1. Code Cave

    2. 2 Empty address for setting 2 flags

    3. 3 Empty address for storing away our 3 coordinates (I just make my 3 addresses 4 bytes away).

    Ok so first thing is find you a big code cave cause its kind of a big injection. We are going to use that first health pointer to do our teleport injection. We can do that because the pointer holds our player structure. You don't always have to do your injection wherever you break at in softice :-D. Now I am going to show my full injection then I will explain... So here goes..

    5BE285: JMP CODE CAVE---------- ORIGINAL INSTRUCTION REPLACED WITH A JUMP TO OUR CAVE

    NOP | BALANCE OUT THE BYTES

    |

    |

    CAVE: PUSH [EBX+39C4]-------- ORIGINAL INSTRUCTION

    PUSHAD SAVE REGISTERS

    CMP [FLAG1],1 TEST IF OUR SAVE KEY WAS PRESSED

    JNE SHORT-------------- IF KEY WASNT PRESSED JUMP TO RESTORE ELSE SKIP JUMP

    MOV [FLAG1],0 | MOVE ZERO BACK INTO THE FLAG SO FUNCTION DOESNT REPEAT

    MOV ECX,3 | MOVE COUNTER INTO ECX

    LEA EDI,[sTATIC1] | LOAD DESTINATION ADDRESS INTO EDI

    LEA ESI,[EBX+34] | LOAD FIRST CORDINATE ADDRESS INTO ESI

    REP MOVSD | COPY SOURCE INTO DESTINATION UNTIL ECX=0

    |

    CMP [FLAG2],1---------- TEST IF RESTORE KEY WAS PRESSED

    JNE TO END--------------- IF NOT THEN JUMP TO END

    MOV [FLAG2],0 | MOVE ZERO BACK INTO FLAG SO FUNCTION DONT KEEP REPEATING

    MOV ECX,3 |

    LEA EDI,[EBX+34] | LOAD DESTINATION ADDRESS INTO EDI

    LEA ESI,[sTATIC1] | LOAD FIRST STORED CORD ADDRESS INTO ESI

    REP MOVSD | COPY SOURE INTO DESTINATION UNTIL ECX=0

    |

    END:---------------------

    POPAD RESTORE REGISTERS

    JMP BACK TO GAME LOOP JUMP BACK TO GAME LOOP

    Pretty simple eh? :-D

    ************************************************** ********

    Step 4: Code into the trainer

    -----------------------------

    Ok all you need to do is,

    For the Save key in your trainer, just inject all that code(make sure you inject your cave before your jump) and inject the value of 1 into the first flag address

    For the Restore key in your trainer, inject all that code, and inject the value

    of 1 into the second flag address.

    So when you press the save hotkey it will put 1 into that flag making it true and put your coordinates away into there static address. And when you press the restore key it will take the coordinates in your static addresses and put then in your actual coordinates addresses making you teleport to that location.

    Not to tuff of an option, it may be at first but with a few tries you should have it no problem..

    Well that's the end ... Hope this helps a bit...

    Happy Training…

    • Плюс 1
  2. От нечего делать ^_^ Пока на мою не трезвую голову больше ни на что фантазии не хватило -_-

    Syser Debugger 32-bit версия

    Syser Debugger — отладчик уровня ядра с графическим оконным интерфейсом. Позволяет отлаживать как приложения, так и драйвера. Сочетает в себе функции IDA Pro, Softice и Ollydbg.

    Основные возможности:

    • подсветка листинга дизассеблера

    • динамическая загрузка и выгрузка

    • поддержка работы с клавиатурой и мышью

    • поддержка всех команд отладчика Softice

    • поддержка юникода, многоязычный интерфейс

    • поддержка плагинов

    • поддержка многопроцессорных систем с Intel Hyper-Threaded процессоров

    • поддержка скриптов

    • поддержка буфера обмена, позволяющего копировать данные из уровня Ring 3 в уровень Ring 0

    • корректная совместная работа с Softice

    • автоматическая загрузка драйверов для отладки

    • добавление комментариев в отладку

    • закладки

    • поддержка cross-reference и data reference

    • многооконный интерфейс

    • и многое другое

    18383d9f10c8.jpg


    PEBrowse Professional Interactive 8.4

    Открыть ссылку

    PEBrowseProInteractive945x689.jpg

    Учебник

    Открыть ссылку


    WinDbg 64-bit версия

    WinDbg 32-bit версия

    Открыть ссылку

    Отладка в WinDbg. Пособие для тест.

    Открыть ссылку

    Скрин дебаг. занятым делом

    222_4.jpg

  3. Регистрация на сайте выключена. Но, в будущем, планируется закрытый раздел для постоянных участников, приносящих пользу форуму и сайту. Всех участников я буду добавлять вручную.

    ЗЫ. Спасибо за трейнеры.

    О_о! У "Лаборатории геймхакинга" светлое будущее.

    А еще вопрос: Xipho, статьи на сайте только твои публикуются? Или можно например хорошую, отличную переведенную статью прислать?

    ЗЫ "Служу Российской Федерации?" :ninja:

  4. Регистрация на сайте выключена. Но, в будущем, планируется закрытый раздел для постоянных участников, приносящих пользу форуму и сайту. Всех участников я буду добавлять вручную.

    ЗЫ. Спасибо за трейнеры.

    оО! У "Лаборатории геймхакинга" светлое будущее.

    А еще вопрос: Xipho, статьи на сайте только твои публикуются? Или можно например хорошую, отличную переведенную статью прислать?

    ЗЫ "Служу Российской Федерации?" :ninja:

  5. Live 4 ever, ты для какой версии игры тренер делал, для английской чтоли? У меня он так и не заработал(( ставил update1 с кряком skidrow (после него все надписи в игре англофицируются, русский пропадает из меню выбора языка, остаётся одна озвучка русская), всё равно не пашет

    Сейчас спрошу у live_4_ever'а...

    Ну как сказать - меню на английском, в игре субтитры на азерб. Скачано с иранских торрентов.

    ЗЫ Увидел трейнер от h4x0r'а для версии 1.1.1. Я думал будет ли работать мой. Некоторые сказали что нормально работает.

  6. Да! Спасибо. Получилось. Я тоже с начало думал чего то не то делаю, оказалось...Только в свойствах я не нашел где нужно указать "что приложение Гуевое". Но отметил, что "EXE: Generate console application" и так... пошло.

  7. -Создать проект WindowsForms (или дргого типа), сохранив его в некоторую директорию.

    -Скомпилировать проект (нажать F9)

    -Получиться и запустится exe файл находящийся в директории проекта.

    О_о получилось, спасибо большое :)...Пока больше вопросов нет.

  8. А в СЕ так и должно быть: Когда пытаюсь сохранить таблицу, он мне выводит окно - "Сделай трейнер...пожалуйста". Я его посылаю и все...потом заново. Короче, нельзя что ли иметь таблицу в СЕ как в ArtMoney?

  9. Если считаете, что необходимость в сайте есть - тогда сделаем. Это не проблема.

    Есть один такой форум, очень напоминает мне один - GameHacking.com. Отличный форум! (Всегда хочется сказать сайт. Но нет.) Там есть много хорошего, можете посмотреть. Очень хорошо, очень. И своя база-трейнеров есть даже. Один минус, он весь на английском... Так вот.., опять забыл. Увлекся.

    GameHacking'у[RU] не нужен сайт. Я думаю Форум - вот сайт.

  10. Я думаю, ты делал всё правильно, наверно, просто есть какие-то ошибки в коде CE. В CE предусмотрено открывать таблицы артмани, попробуй открыть английской версией CE, если не пробовал.

    [...]

    .

    Да, английской тоже пробовал. Может это из-за того что у меня ArtMoney версии 7.30? Сейчас уже более поздняя версия, намного, есть.

    Мною было решено, дождаться выхода версии 5.6 и модернизировать уже только её. А версию CE 5.5 RUS 1.2.0 можно считать больше не обновляемой. Следующая версия будет CE 5.6 RUS

    Ух ты...интересно на это посмотреть.

  11. Еще один вопрос, тупой. Просто интересно. Возможно ли каким либо образом СЕ открыть таблицы ArtMoney? В СЕ нажимаешь откурыть, в "Тип Файлов" выбираю "ArtMoney Tables". Выбираю какую нужно таблицу и выходит что СЕ не может загрузить версию таблиц ArtMoney.

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

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

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