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

N PLUS PLUS (N++)


DieVis

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

N PLUS PLUS v24.04.2017 Fixed Repack

Таблица (за ночь)

1. Таймер уровня

2. Количество пикселей

3. Координаты ГГ

3.1 Высота прыжка

3.2 Скорость бега

3.3 Сила прыжка (от любой поверхности)

3.4 Гравитация

3.5 Полёт в прыжке (чем дольше держать кнопку прыжка, тем дольше летит)

3.6 Скорость скольжения по поверхностям

3.7 Высота ГГ после которой он убивается об поверхность (от 100 не убивается)

4. Открытие двери, без обязательной кнопки

Всё, пока что.

 

Ссылка (MediaFire)

Спойлер

N++

 

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

  • 2 недели спустя...
В 29.08.2022 в 07:26, DieVis сказал:

Таблица (за ночь)

Спустя 2 недели.

 

Обновил табличку, ссылка та же.

Обновлено \ Добавлено:

* Таймер уровня (также таймер режима "Гонка", чтобы надолго гонка не затягивалась) никакого ожидания.

* Возможность пройти эпизод в режиме "Гонка" за 1 уровень, вместо 5.

* Открытие двери, без обязательной кнопки - криво, не работало (теперь можно пройти игру по 1 кнопке "Z", работает во всех режимах) игра пройдена.

* Возможность сменить цвет уровня на любую палитру (даже если заблокированы изначально).

* Отключить мины на уровне, как пассивные, так и активные (2 скрипта).

Активные те что отображаются изначально. Пассивные те что ГГ задевает, пролетая через них.

* Отключить ракетную установку на уровне (прицеливается на ГГ, но не стреляет).

 

P.S. Если что ещё найду, обновлю ссылку.

 

 

 

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

  • 3 недели спустя...
В 12.09.2022 в 04:18, DieVis сказал:

Обновил табличку, ссылка та же.

Обновлено \ Добавлено:

* Возможность сменить цвет на любую палитру (даже если заблокированы изначально).

  1. Ninja ColourHeadbandHeadband Colour.

 

* В скрипте (Timer Race \ Таймер Режима "Гонка"), воткнул скрипт Электрического робота (следует за ГГ постоянно, пока либо не сдохнем, либо не закончим уровень). Там его координаты и в какую сторону смотрит, работает почти на всех роботов.

 

2. Отключить Лазерную установку на уровне (вообще не видит ГГ).

3. Отключить Турели (роботов) на уровне (ГГ проходит сквозь них), те что сначала заметят, а потом стреляют и останавливаются.

4. Включить Режим призрака (проходить сквозь всех врагов не получая урон), скин ГГ при этом немного смазывается или делится на себя по пиксельно.

 

5. Отключить Ботов клонов (вообще никак с ними не взаимодействует, как будто кто-то граффити нарисовал), те что при активации создают клона и преследуют ГГ по пятам.

  5.1 Скрипт с указателями, чтобы переключить обратно.

 

6. Отключить Кубы-Платформы электрические (не двигаются вообще), те что если заметят ГГ двигаются в одном направлении и откатываются обратно при столкновении.

 

7. Избавиться от Андроидов катающихся по полу (при активации уносит их в правую\левую сторону, за экран), желательно активировать скрипт подождать 2-3 секунды и деактивировать, иначе может быть вылет.

 

8. Бессмертие (С чем бы ГГ не столкнулся, нам пофиг, всё от него отлетает как от попрыгунчика, никакие воздействия не замедляют и прочее), можно даже остальные скрипты не включать, НО тогда на экране будет море взрывных эффектов.

   8.1 Скрипт с указателями, чтобы переключить обратно.

 

* Изменить Размер шрифта, Расстояния между строк, Размер шрифта строк в меню - Play, Create & etc.

P.S. Если что ещё найти кому нужно будет, пишите, обновлю ссылку.

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

  • 1 месяц спустя...

Добрый день. А можно узнать как вы нашли значения бессмертия? Хочу сделать типа такой на пс4 и Switch.

 

3. Координаты ГГ На стим версии не работают вообще

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

В 29.09.2022 в 06:09, DieVis сказал:

4. Включить Режим призрака

Бессмертие найдено абсолютно случайно, по байтам адреса менял и нашёл.

Вроде через 4 пункт, по коду выше прошёлся и там по байтам...
А 4 пункт найден был вроде через смерть, вот игру заново начинаешь и первый уровень, вот там большинство и найдено.
Смерть и прохождение уровня, т.е. живой-умер (отсев), живой-уровень пройден (отсев), перезапуск уровня и т.д.

В 05.11.2022 в 09:54, Mazeltov сказал:

стим версии не работают вообще

Знаю, да) там наверное бессмертие только и работает, нет времени переделывать.

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

  • 2 недели спустя...
В 08.11.2022 в 13:14, DieVis сказал:

А 4 пункт найден был вроде через смерть, вот игру заново начинаешь и первый уровень, вот там большинство и найдено.
Смерть и прохождение уровня, т.е. живой-умер (отсев), живой-уровень пройден (отсев), перезапуск уровня и т.д.

А не подскажешь. Какое значение искать 1\2\4\8 байта\Flout\Double или прочее?

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

В 18.11.2022 в 18:29, Mazeltov сказал:

4\Flout\Double

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

до 6FFFFFFF

потом находил ещё какие-то адреса полезные и сокращал допустим
до 2FFFFFFF или 1FFFFFFF

и там уже работал\искал что мне нужно, порой вся ночь уходила и ничего не находил, когда я пытался найти неуязвимость...
Также если посмотреть среди указателей в таблице, то преимущественно Double и 4 байта, иногда float.
Ну если в группе [Red GM Ptr] 1 байт, то искать можно 2 и 4 байта, 1 байт искать это гемор как по мне.

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

Тоже стало интересно. Решил глянуть.

Искал так. 

1 поиск 4 байта неизвестное

2 умер отсеил как увеличилось

3 воскрес отсеил как уменьшилось

4 побегал туда-сюда. Не изменилось.

5 умер увеличилось. Ну и тд.

В итоге нашёлся адресс. 0=жив; 6-7=мёртв.

Ну а дальше всё просто. Бряк на запись. При смерти срабатывает 2 инструкции. Беру ту что выше стоит по коду

mov [esi+000000D0],00000006

Если просто занопить то ни чё не выйдет.

Ставлю трейс. Выхожу из кола. 

728F2DBD - mov ecx,[esi+000000D0]
728F2DC3 - cmp ecx,09
728F2DC6 - je 728F365D
728F2DCC - cmp ecx,06
728F2DCF - je 728F365D
728F2DD5 - cmp ecx,07
728F2DD8 - jne 728F2DEC
728F2DDA - sub esp,08
728F2DDD - mov ecx,esi
728F2DDF - call 728F3700--вышел из него
728F2DE4 - pop edi
728F2DE5 - pop esi

Что-то пишется в есх.

3 сравнения с перепрыгивание вызова но 2 из них далеко прыгают.

Меняю jne 728F2DEC на безусловный.

Всё ГГ не умирает. По крайней мере от мин.(дальше проходить нет желания чтоб проверить на чём то другом)

P.S. Если взять esi как начало структуры от этой инструкции mov ecx,[esi+000000D0]

поменять на единичку esi+4. То включится игровое бессмертие ГГ.

 

Спойлер
[ENABLE]
aobscanmodule(GodMod,npp.dll,75 ? 83 ? ? 8B ? E8 ? ? ? ? 5F 5E)
registersymbol(GodMod)
GodMod:
db EB 12

[DISABLE]
GodMod:
db 75 12
unregistersymbol(GodMod)
{
// ORIGINAL CODE - INJECTION POINT: npp.dll+192DD8
npp.dll+192DA1: 75 1A                          - jne npp.dll+192DBD
npp.dll+192DA3: F3 0F 6F 86 20 01 00 00        - movdqu xmm0,[esi+00000120]
npp.dll+192DAB: C7 86 90 01 00 00 00 00 00 00  - mov [esi+00000190],00000000
npp.dll+192DB5: F3 0F 7F 86 A8 01 00 00        - movdqu [esi+000001A8],xmm0
npp.dll+192DBD: 8B 8E D0 00 00 00              - mov ecx,[esi+000000D0]
npp.dll+192DC3: 83 F9 09                       - cmp ecx,09
npp.dll+192DC6: 0F 84 91 08 00 00              - je npp.dll+19365D
npp.dll+192DCC: 83 F9 06                       - cmp ecx,06
npp.dll+192DCF: 0F 84 88 08 00 00              - je npp.dll+19365D
npp.dll+192DD5: 83 F9 07                       - cmp ecx,07
// ---------- INJECTING HERE ----------
npp.dll+192DD8: 75 12                          - jne npp.dll+192DEC
// ---------- DONE INJECTING  ----------
npp.dll+192DDA: 83 EC 08                       - sub esp,08
npp.dll+192DDD: 8B CE                          - mov ecx,esi
npp.dll+192DDF: E8 1C 09 00 00                 - call npp.dll+193700
npp.dll+192DE4: 5F                             - pop edi
npp.dll+192DE5: 5E                             - pop esi
npp.dll+192DE6: 8B E5                          - mov esp,ebp
npp.dll+192DE8: 5D                             - pop ebp
npp.dll+192DE9: C2 0C 00                       - ret 000C
npp.dll+192DEC: 83 F9 08                       - cmp ecx,08
npp.dll+192DEF: 75 2E                          - jne npp.dll+192E1F
}

 

 

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

DieVis ты в своём скрипте на бессмертие явно что-то забыл дописать.

Спойлер
{ Game   : N++.exe
  Version: v24.04.2017 Fixed Repack
  Date   : 2022-09-29
  Author : DieVision }
[ENABLE]
aobscanmodule(GodMode,npp.dll,8B 0E 83 F9 08)
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMode)
newmem:
  cmp edi,08
  mov [esi+4],(byte)1
code:
  mov ecx,[esi]
  cmp ecx,08
  jmp return

GodMode:
  jmp newmem

return:
[DISABLE]
GodMode:
  db 8B 0E 83 F9 08
unregistersymbol(GodMode)
dealloc(newmem)
{ // ORIGINAL CODE - INJECTION POINT: npp.dll.text+19267B
npp.dll.text+19266C: CC                    - int 3 
npp.dll.text+19266D: CC                    - int 3 
npp.dll.text+19266E: CC                    - int 3 
npp.dll.text+19266F: CC                    - int 3 
npp.dll.text+192670: 55                    - push ebp
npp.dll.text+192671: 8B EC                 - mov ebp,esp
npp.dll.text+192673: 83 EC 14              - sub esp,14
npp.dll.text+192676: 33 C0                 - xor eax,eax
npp.dll.text+192678: 56                    - push esi
npp.dll.text+192679: 8B F1                 - mov esi,ecx
// ---------- INJECTING HERE ----------
npp.dll.text+19267B: 8B 0E                 - mov ecx,[esi]
// ---------- DONE INJECTING  ----------
npp.dll.text+19267D: 83 F9 08              - cmp ecx,08
npp.dll.text+192680: 73 12                 - jae npp.dll.text+192694
npp.dll.text+192682: A1 B8 E4 80 72        - mov eax,[npp.dll+E8E4B8]
npp.dll.text+192687: 8B 80 10 08 00 00     - mov eax,[eax+00000810]
npp.dll.text+19268D: 8B 84 88 10 B7 B3 06  - mov eax,[eax+ecx*4+06B3B710]
npp.dll.text+192694: 3B 86 40 0B 00 00     - cmp eax,[esi+00000B40]
npp.dll.text+19269A: 74 0D                 - je npp.dll.text+1926A9
npp.dll.text+19269C: 8B CE                 - mov ecx,esi
npp.dll.text+19269E: 89 86 40 0B 00 00     - mov [esi+00000B40],eax
npp.dll.text+1926A4: E8 27 04 00 00        - call npp.dll.text+192AD0 }

 

Сравнение есть а прыжка нету.

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

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

забыл дописать

Специально не дописал, вдруг кто заметит))
А так, работает и ладно)
К тому же я лог оставил, так что найти не проблема)

9 часов назад, Partizan сказал:
GodMod:
db EB 12

Ты через код сделал, я так не умею)
Я сделал как мне проще)

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

Сравнение есть а прыжка нету.

Ещё некоторые ошибки свои заметил, из-за чего игра крашется при вкл скрипта, до конца месяца может для steam переделаю...

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

9 часов назад, Partizan сказал:

0=жив; 6-7=мёртв

Тоже кстати такое находил, только мины, но всё остальное убивало.
P.S. Вспомнил как на бессмертие выйти проще всего)) Через таймер уровня XD

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

В 20.11.2022 в 17:59, Partizan сказал:

Бряк на запись. При смерти срабатывает 2 инструкции.

Круто конечно, но местные PS4 Артмани на такое не способны. Максимум менять значения.

Спойлер

spacer.png

 

 

Спойлер

 

Но как я понимаю, через второй инструмент можно как раз оформить бесмертие?

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

22 часа назад, Partizan сказал:

ГГ не от чего не умирает

Я толком не помню, но либо я не смог заскриптовать данный адрес, либо находил подобное и работало только на одном уровне.
Если работает на всём, это хорошо.
Всё равно искать снова и проверять я б не стал.

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

Mazeltov Я не знаю как устроена структура этой игры на пс. Но на пк игровое бессмертие лежит в начале структуры игрока.

Спойлер
0000 - 4 Bytes    12E731E0 : 0    
0004 - GodMode=1  12E731E4 : 0    
0008 - 4 Bytes    12E731E8 : 1    
000C - 4 Bytes    12E731EC : 0    
0010 - Double     12E731F0 : 396  
0018 - Double     12E731F8 : 156  
0020 - Coord_X    12E73200 : 445.606160083037   
0028 - Coord_Y    12E73208 : 86   
00E8 - Jump_Hight 12E732C8 : 1   

 

Можно попробовать найти координату Х и уже от неё бессмертие.

Как найти координату Х. Бежишь влево уменьшилось вправо увеличилось.(double)

И уже координата Х -1C. Это и будет адресс бессмертия(игрового)

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

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

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

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