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

Помогите со взломом I Wanna Kill the Kamilia 3


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

Помогите пожалуйста знающие люди. В общем говоря это ваншот игра, пытаюсь я значит сделать бессмертие. Нахожу значение 1 и 0, где 1 это жив, а где 0 это мертв. Но вот найти  условие появления Game Over так и не могу, что-бы через джамп его проскакивать когда натыкаешься на шип и тд.

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

20 часов назад, ShadowStormOne сказал:

Нахожу значение 1 и 0

Они каждую смерть перезаписываются.  Это такое что ли хочешь сделать :lol:

Спойлер

 

 

 

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

20 часов назад, LIRW сказал:

Они каждую смерть перезаписываются.  Это такое что ли хочешь сделать :lol:

  Показать контент

 

 

 

Про другие функции как быстрая стрельба я вообще молчу

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

3 часа назад, ShadowStormOne сказал:

Про другие функции как быстрая стрельба я вообще молчу

Если ты ждешь готовое решение, то тебе в раздел "Платные запросы". Если же нет - показывай, что ты сам пытался сделать. Не может быть такого, чтобы ты вообще ничего в игре ломануть не смог. А если даже и не смог, то расскажи, как пытался. Кроме вот этих твоих "пытался найти 0 и 1".

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

5 минут назад, Xipho сказал:

Если ты ждешь готовое решение, то тебе в раздел "Платные запросы". Если же нет - показывай, что ты сам пытался сделать. Не может быть такого, чтобы ты вообще ничего в игре ломануть не смог. А если даже и не смог, то расскажи, как пытался. Кроме вот этих твоих "пытался найти 0 и 1".

Я пытаюсь найти структуру игрока грубо говоря. Но прикол в том что когда пытаюсь отладчик подключиться ко второму адресу игра тупо падает. Морозить первый поиск роли вообще не играет.

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

40 минут назад, Xipho сказал:

Если ты ждешь готовое решение, то тебе в раздел "Платные запросы". Если же нет - показывай, что ты сам пытался сделать. Не может быть такого, чтобы ты вообще ничего в игре ломануть не смог. А если даже и не смог, то расскажи, как пытался. Кроме вот этих твоих "пытался найти 0 и 1".

Вот что удалось нарыть

Спойлер

Screenshot-3.png

 

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

1 час назад, Xipho сказал:

Если ты ждешь готовое решение, то тебе в раздел "Платные запросы". Если же нет - показывай, что ты сам пытался сделать. Не может быть такого, чтобы ты вообще ничего в игре ломануть не смог. А если даже и не смог, то расскажи, как пытался. Кроме вот этих твоих "пытался найти 0 и 1".

Еще вот что удалось найти, вопрос остается в другом как сделать что-бы он не умирал.

Спойлер

Screenshot-4.png

 

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

42 минуты назад, ShadowStormOne сказал:

как сделать что-бы он не умирал.

:) вот в показанных тобою данных - там точно не как не сделать. Можно конечно попытаться через fistp, но опять же - это если сможешь фильтрануть тыщенку,а то и другую, адресов.  Обычно в подобных играх, люди ищут не как сделать бессмертие, а как отключить коллизию налепленных на карте объектов и если заметил ( в видеоролике ) то персонаж у меня не бессмертен, а просто отключена коллизия.  А то есть, я могу ходить сквозь объекты - ну которые по сути несут смерть!

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

23 минуты назад, LIRW сказал:

:) вот в показанных тобою данных - там точно не как не сделать. Можно конечно попытаться через fistp, но опять же - это если сможешь фильтрануть тыщенку,а то и другую, адресов.  Обычно в подобных играх, люди ищут не как сделать бессмертие, а как отключить коллизию налепленных на карте объектов и если заметил ( в видеоролике ) то персонаж у меня не бессмертен, а просто отключена коллизия.  А то есть, я могу ходить сквозь объекты - ну которые по сути несут смерть!

Подскажи как начать искать коллизию

Выйти на структуру мира я до сих пор не могу. Игра падает хоть убейся

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

57 минут назад, ShadowStormOne сказал:

Подскажи как начать искать коллизию

Ой ладно... Игра всё равно не актуальна, смотрел от делать не чего, по этому не жалко! 

Заводить в главном меню игры как обычный "exe" файл! Особо не тестировал функцию! За так и такое прокатит :)

Ps: и на счет игра падает: Ковырялся в ней два часа (ну там смотрел реализацию) не разу не чего не отпало!

 

I Wanna Kill the Kamilia 3 v1.50.cpl

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

5 минут назад, LIRW сказал:

Ой ладно... Игра всё равно не актуальна, смотрел от делать не чего, по этому не жалко! 

Заводить в главном меню игры как обычный "exe" файл! Особо не тестировал функцию! За так и такое прокатит :)

Ps: и на счет игра падает: Ковырялся в ней два часа (ну там смотрел реализацию) не разу не чего не отпало!

 

I Wanna Kill the Kamilia 3 v1.50.cpl 34 \u043a\u0411 · 0 downloads

Это прям огненный подгон, огромное спасибо) Прикол в том что я особо то ничего такого не делал с ней что-бы она падала, а она падала) В двух словах все-таки расскажи с чего начинать?

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

[[<I Wanna Kill the Kamilia 3 v1.50.exe>+00450EB0]+C]+ 0xC9 = 1 "бессмертие" гг 

i_solid                - 0xc9

Игра на GameMaker , поэтому все смещения и структуры подписаны. Вот еще некоторые в структуре игрока.
 

Спойлер

i_bbox                 - 0x14
i_depth                - 0x48
i_direction            - 0x80
i_friction             - 0x90
i_gravity              - 0xa0
i_gravitydir           - 0x98
i_hspeed               - 0xa8
i_imagealpha           - 0x38
i_imageangle           - 0x30
i_imageblend           - 0x40
i_imageindex           - 0x10
i_imagescalex          - 0x20
i_imagescaley          - 0x28
i_imagespeed           - 0x18
i_initcode             - 0x6c
i_mask                 - 0x24
i_maskindex            - 0x44
i_object               - 0xd0
i_objectindex          - 0xcc
i_pathend              - 0x38
i_pathorientation      - 0x30
i_pathposition         - 0x10
i_pathscale            - 0x28
i_pathspeed            - 0x20
i_pathxstart           - 0x40
i_pathystart           - 0x48
i_persistent           - 0xca
i_solid                - 0xc9
i_speed                - 0x88
i_tex                  - 0x2c
i_timelineindex        - 0x50
i_timelineloop         - 0x69
i_timelineposition     - 0x58
i_timelinerunning      - 0x68
i_timelinespeed        - 0x60
i_timer                - 0xd4
i_visible              - 0xc8
i_vspeed               - 0xb0
i_xprevious            - 0x70
i_xstart               - 0x60
i_yprevious            - 0x78
i_ystart               - 0x68

 

 

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

15 минут назад, ChestGlaring сказал:

[[<I Wanna Kill the Kamilia 3 v1.50.exe>+00450EB0]+C]+ 0xC9 = 1 "бессмертие" гг 

i_solid                - 0xc9

Игра на GameMaker , поэтому все смещения и структуры подписаны. Вот еще некоторые в структуре игрока.
 

  Скрыть контент


i_bbox                 - 0x14
i_depth                - 0x48
i_direction            - 0x80
i_friction             - 0x90
i_gravity              - 0xa0
i_gravitydir           - 0x98
i_hspeed               - 0xa8
i_imagealpha           - 0x38
i_imageangle           - 0x30
i_imageblend           - 0x40
i_imageindex           - 0x10
i_imagescalex          - 0x20
i_imagescaley          - 0x28
i_imagespeed           - 0x18
i_initcode             - 0x6c
i_mask                 - 0x24
i_maskindex            - 0x44
i_object               - 0xd0
i_objectindex          - 0xcc
i_pathend              - 0x38
i_pathorientation      - 0x30
i_pathposition         - 0x10
i_pathscale            - 0x28
i_pathspeed            - 0x20
i_pathxstart           - 0x40
i_pathystart           - 0x48
i_persistent           - 0xca
i_solid                - 0xc9
i_speed                - 0x88
i_tex                  - 0x2c
i_timelineindex        - 0x50
i_timelineloop         - 0x69
i_timelineposition     - 0x58
i_timelinerunning      - 0x68
i_timelinespeed        - 0x60
i_timer                - 0xd4
i_visible              - 0xc8
i_vspeed               - 0xb0
i_xprevious            - 0x70
i_xstart               - 0x60
i_yprevious            - 0x78
i_ystart               - 0x68

 

 

Благодарю, полезная инфа

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

4 часа назад, ShadowStormOne сказал:

В двух словах все-таки расскажи с чего начинать?

А зачем тебе всё таки там бессмертие ? Она же по сути и рассчитана именно прохождения и условия этому - 1 жизнь! А когда бессмертный, что то и играть в обще не интересно.  Кто то скажет наверное, да сам то, без читов и не играл не разу :) но там то разновидность функций, интерес посмотреть оружия в последующих уровнях и так далее, а тут всего один упор на жизнь идет, вот и вся игра. Уровни почти все одинаковые на одном квадратике :) и вот так вот идешь и идешь бесконечно проходя один уровень за другим - вот и вся игра! А вот без бессмертия, там уже явно не просто так :lol: я бы не прошел! Наверное скорее всего, нервы бы не выдержали, пукан бы загорелся и всё! 

Если уж хотел бы облегчить прохождение себе, то лучше бы бесконечный прыжок себе сделал. Хотя если честно, он бывает мешает прохождению. С одной стороны, тебе не кто не навязывает же жать на клавишу много раз, а нажал 2 раза и он прыгнул 2 раза, но когда ты знаешь, что прыгнуть можешь еще, клавиша как то автоматически уже пальцем нажимается. 

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

6 часов назад, LIRW сказал:

А зачем тебе всё таки там бессмертие ? Она же по сути и рассчитана именно прохождения и условия этому - 1 жизнь! А когда бессмертный, что то и играть в обще не интересно.  Кто то скажет наверное, да сам то, без читов и не играл не разу :) но там то разновидность функций, интерес посмотреть оружия в последующих уровнях и так далее, а тут всего один упор на жизнь идет, вот и вся игра. Уровни почти все одинаковые на одном квадратике :) и вот так вот идешь и идешь бесконечно проходя один уровень за другим - вот и вся игра! А вот без бессмертия, там уже явно не просто так :lol: я бы не прошел! Наверное скорее всего, нервы бы не выдержали, пукан бы загорелся и всё! 

Если уж хотел бы облегчить прохождение себе, то лучше бы бесконечный прыжок себе сделал. Хотя если честно, он бывает мешает прохождению. С одной стороны, тебе не кто не навязывает же жать на клавишу много раз, а нажал 2 раза и он прыгнул 2 раза, но когда ты знаешь, что прыгнуть можешь еще, клавиша как то автоматически уже пальцем нажимается. 

Просто мне хочется пробежать ее с бессмертием) Мне уже давно не интересно играть в игры как задумано. А ломать их еще интереснее, но пока навыков не так много.

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

Не знаю куда скрипт лучше выложить, в общем вот дампер структур для игр на Game Maker для IDA

 

Спойлер

import idaapi

def String(addr, size):
    return idaapi.get_bytes(addr, size, 0)

def dump(addr):
    offset = hex(Dword(addr)).upper().replace("X","x")[:-1]
    length = Byte(addr+4)    
    name =  String(addr+5, length)
    print name, offset
    return length

def main():
    length = 4
    addr = 0x60B65B
    array_size = (Dword(0x60B64A) >> 3) + 4
    for _ in range(array_size):
        addr += (dump(addr) + 0xc)
                
main()

 

 

На выходе получаем:

Спойлер

i_id 0x4
i_spriteindex 0x8
i_imageindex 0x10
i_imagespeed 0x18
i_imagescalex 0x20
i_imagescaley 0x28
i_imageangle 0x30
i_imagealpha 0x38
i_imageblend 0x40
i_maskindex 0x44
i_depth 0x48
i_x 0x50
i_y 0x58
i_xstart 0x60
i_ystart 0x68
i_xprevious 0x70
i_yprevious 0x78
i_direction 0x80
i_speed 0x88
i_friction 0x90
i_gravitydir 0x98
i_gravity 0xA0
i_hspeed 0xA8
i_vspeed 0xB0
i_bbox 0xB8
i_visible 0xC8
i_solid 0xC9
i_persistent 0xCA
i_objectindex 0xCC
i_object 0xD0
i_timer 0xD4
i_vars 0x104
i_marked 0x108
i_deactivated 0x109
i_pathindex 0x10C
i_pathposition 0x110
i_pathpositionprevious 0x118
i_pathspeed 0x120
i_pathscale 0x128
i_pathorientation 0x130
i_pathend 0x138
i_pathxstart 0x140
i_pathystart 0x148
i_timelineindex 0x150
i_timelineposition 0x158
i_timelinespeed 0x160
i_timelinerunning 0x168
i_timelineloop 0x169
i_initcode 0x16C

 

 

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

7 минут назад, JIeXA сказал:

Почему 


addr = 0x60B65B

ИИИИ  array_size = (Dword(0x60B64A) >> 3) + 4

 

Потому что такие значение у структуры.

 

addr - указывает на первый элемент в массиве, у которого имеется имя

array_size - количество элементов в массиве 0x16C / 8 + 4

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

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

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

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