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

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

Привет всем, решил немного поломать игру State of Decay YOSE Day One Edition-Update 4 сделал скрипт на инвентарь чтобы можно было вставлять какие ни будь предметы, и столкнулся с такой проблемой, 

когда вводишь код на оружия чтобы оно появилось в инвентаре, например  40000033-AK47 автомат, появляется в инвентаре, но взять его почему то нельзя, нажимаешь экипировать но оружия в руках не появляется, кто муже оно появляется в инвентаре без патронов, ну дак вот как из править эту проблему, чтобы оружия доставалось нормально и в руках появилась,

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

Вот сам скрипт на инвентарь 

Скрытый текст

[ENABLE]

aobscanmodule(Inventory,StateOfDecay.exe,10 8B 04 90 C2 04 00)
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(Slot1)
registersymbol(Slot1)

newmem:
cmp [eax+edx*4+50],00000001
jne originalcode
mov dword ptr [Slot1],eax

originalcode:
mov eax,[eax+edx*4]
ret 0004
jmp returnhere

Slot1:
dd 0

Inventory+01:
jmp newmem
nop
returnhere:
registersymbol(Inventory)

[DISABLE]
Inventory+01:
db 8B 04 90 C2 04 00

unregistersymbol(Inventory)
unregistersymbol(Slot1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "StateOfDecay.exe"+11DE65C

"StateOfDecay.exe"+11DE64A: CC                    -  int 3
"StateOfDecay.exe"+11DE64B: CC                    -  int 3
"StateOfDecay.exe"+11DE64C: CC                    -  int 3
"StateOfDecay.exe"+11DE64D: CC                    -  int 3
"StateOfDecay.exe"+11DE64E: CC                    -  int 3
"StateOfDecay.exe"+11DE64F: CC                    -  int 3
"StateOfDecay.exe"+11DE650: 8B 54 24 04           -  mov edx,[esp+04]
"StateOfDecay.exe"+11DE654: 3B 51 04              -  cmp edx,[ecx+04]
"StateOfDecay.exe"+11DE657: 73 09                 -  jae StateOfDecay.exe+11DE662
"StateOfDecay.exe"+11DE659: 8B 41 10              -  mov eax,[ecx+10]
// ---------- INJECTING HERE ----------
"StateOfDecay.exe"+11DE65C: 8B 04 90              -  mov eax,[eax+edx*4]
"StateOfDecay.exe"+11DE65F: C2 04 00              -  ret 0004
// ---------- DONE INJECTING  ----------
"StateOfDecay.exe"+11DE662: 33 C0                 -  xor eax,eax
"StateOfDecay.exe"+11DE664: C2 04 00              -  ret 0004
"StateOfDecay.exe"+11DE667: CC                    -  int 3
"StateOfDecay.exe"+11DE668: CC                    -  int 3
"StateOfDecay.exe"+11DE669: CC                    -  int 3
"StateOfDecay.exe"+11DE66A: CC                    -  int 3
"StateOfDecay.exe"+11DE66B: CC                    -  int 3
"StateOfDecay.exe"+11DE66C: CC                    -  int 3
"StateOfDecay.exe"+11DE66D: CC                    -  int 3
"StateOfDecay.exe"+11DE66E: CC                    -  int 3
}

 

 

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

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

автомат, появляется в инвентаре, но взять его почему то нельзя,

Baracuda, ты смотрел моё видео? Может вопросов и не возникло.

 

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

Попробуй использовать flag, чтобы добавление автомата происходило один раз, например так:

Скрытый текст

;


[ENABLE]
aobscanmodule(Inventory,StateOfDecay.exe,10 8B 04 90 C2 04 00)
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(flag)
label(Slot1)
registersymbol(Slot1)
registersymbol(Inventory)

newmem:
cmp [eax+edx*4+50],00000001
jne originalcode
cmp [flag],1
jne originalcode
mov dword ptr [Slot1],eax
mov [flag],0

originalcode:
mov eax,[eax+edx*4]
ret 0004
jmp returnhere

flag:
dd 1
Slot1:
dd 0

Inventory+01:
jmp newmem
nop
returnhere:

[DISABLE]
Inventory+01:
db 8B 04 90 C2 04 00

unregistersymbol(Inventory)
unregistersymbol(Slot1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "StateOfDecay.exe"+11DE65C

"StateOfDecay.exe"+11DE64A: CC                    -  int 3
"StateOfDecay.exe"+11DE64B: CC                    -  int 3
"StateOfDecay.exe"+11DE64C: CC                    -  int 3
"StateOfDecay.exe"+11DE64D: CC                    -  int 3
"StateOfDecay.exe"+11DE64E: CC                    -  int 3
"StateOfDecay.exe"+11DE64F: CC                    -  int 3
"StateOfDecay.exe"+11DE650: 8B 54 24 04           -  mov edx,[esp+04]
"StateOfDecay.exe"+11DE654: 3B 51 04              -  cmp edx,[ecx+04]
"StateOfDecay.exe"+11DE657: 73 09                 -  jae StateOfDecay.exe+11DE662
"StateOfDecay.exe"+11DE659: 8B 41 10              -  mov eax,[ecx+10]
// ---------- INJECTING HERE ----------
"StateOfDecay.exe"+11DE65C: 8B 04 90              -  mov eax,[eax+edx*4]
"StateOfDecay.exe"+11DE65F: C2 04 00              -  ret 0004
// ---------- DONE INJECTING  ----------
"StateOfDecay.exe"+11DE662: 33 C0                 -  xor eax,eax
"StateOfDecay.exe"+11DE664: C2 04 00              -  ret 0004
"StateOfDecay.exe"+11DE667: CC                    -  int 3
"StateOfDecay.exe"+11DE668: CC                    -  int 3
"StateOfDecay.exe"+11DE669: CC                    -  int 3
"StateOfDecay.exe"+11DE66A: CC                    -  int 3
"StateOfDecay.exe"+11DE66B: CC                    -  int 3
"StateOfDecay.exe"+11DE66C: CC                    -  int 3
"StateOfDecay.exe"+11DE66D: CC                    -  int 3
"StateOfDecay.exe"+11DE66E: CC                    -  int 3
}

 

По поводу патронов - их тоже нужно добавлять.

Посмотри моё видео, там вместо патронов, прочность предмета.

 

Короче план такой:

1. Проверь скрипт - берётся ли автомат.

2. Посмотри моё видео.

3. Посмотри внимательнее структуру инвентаря.

4. добавь в скрипте и патроны.

 

Удачи!!!

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

  • 4 недели спустя...

Возможно ли записать в скрипт AA вот такие 2 указателя, что бы они работали в ну три скрипта, а не снаружи, то есть не в таблицы Cheat Engine, в внутри скрипта АА. Я пробовал записывать, но игра сразу закрывается с ошибкой.

Скрытый текст

[ENABLE]

aobscanmodule(item,EoCApp.exe,41 3B BE D4 00 00 00)
alloc(newmem,2048,item)
label(returnhere)
label(originalcode)
label(item_ptr)
registersymbol(item_ptr)

newmem:
mov [item_ptr],r14

originalcode:
cmp edi,[r14+000000D4]
jmp returnhere

item_ptr:
dq 0

item:
jmp newmem
nop
nop
returnhere:
registersymbol(item)

[DISABLE]
item:
db 41 3B BE D4 00 00 00

unregistersymbol(item)
unregistersymbol(item_ptr)
dealloc(newmem)

 

http://rgho.st/6HlGypyZN.view http://rgho.st/6dYZWqgXL.view

 

http://rgho.st/8hsP6w9tQ.view вот тут показаны два базовых Адреса, вот их можно ли засунуть в скрипт, что бы они из ну три работали скрипта, проблема в том что если отсоединить, прочность и уровень игрока от базовых Адреса то прочность и уровень игрока перестают работать. БАЗОВЫЙ АДРЕС я их так назвал, из за них работает прочность и уровень игрока

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

11 минуту назад, Baracuda сказал:

Возможно ли записать в скрипт AA вот такие 2 указателя, что бы они работали в ну три скрипта, а не снаружи, то есть не в таблицы Cheat Engine, в внутри скрипта АА. Я пробовал записывать, но игра сразу закрывается с ошибкой.

Вопрос не понял.

1. Какие 2 указателя?

2. Какие в игре адреса 8 байт или 4 байта?

3. Что означает - 

13 минуты назад, Baracuda сказал:

что бы они работали в ну три скрипта

4. 

 

13 минуты назад, Baracuda сказал:

Я пробовал записывать, но игра сразу закрывается с ошибкой.

Выложи пример - как пробовал, может тогда будет более понятно, что ты хочешь сделать. 

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

Вот такое адреса в игре, 2A434432CB0 [4 Байта]

А пример, на скриншотах показан.

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

Короче всё равно не понял тебя. 

 

А скрипт попробуй так:

Скрытый текст

[ENABLE]
aobscanmodule(Item,EoCApp.exe,41 3B BE D4 00 00 00)
alloc(newmem,2048,Item)
label(returnhere)
label(originalcode)
label(item_ptr)
registersymbol(item_ptr)
registersymbol(Item)

newmem:
mov [item_ptr],r14

originalcode:
cmp edi,[r14+000000D4]
jmp returnhere

item_ptr:
dq (double)0

Item:
jmp newmem
db 90 90
returnhere:

[DISABLE]
Item:
db 41 3B BE D4 00 00 00

unregistersymbol(Item)
unregistersymbol(item_ptr)
dealloc(newmem)

 

 

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

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

Поэтому запиши видео, что ты делаешь и как. 

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

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

4 минуты назад, Baracuda сказал:

сейчас пере залью видео

offtopic.gif

ОК!

Я пока - покушаю.

У меня тоже сейчас как раз видео на Тюб загружается.

 

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

к стати привет Игорь, забыл поздороваться, и приятного аппетита

 

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

Ответ для тех, кто будет читать эту тему. 

Разобрали вопрос с ним в ЛС.

Скрипт у Baracuda абсолютно верен и рабочий.

Неправильно были забиты сами адреса в табличку, т.е. смещения, адреса Базовый и Базовый 2 - лишние.

адрес уровня      - [[item-ptr]+b0]+008

адрес прочности - [[item-ptr]+b0]+154

 

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

Привет всем, хотел сделать что-бы можно было прибавлять один уровень, 2 игрокам сразу при нажатии, поставил Flag в скрипт, что бы он при нажатии прибавлял 1 уровень, но 

он по чему, то не работает.

Вот скрипт

Скрытый текст

[ENABLE]

aobscanmodule(Level,EoCApp.exe,8B 46 08 44 8B AE 3C 01 00 00)
alloc(newmem,2048,Level)
label(returnhere)
label(flag)
registersymbol(flag)

newmem:
mov eax,[rsi+08]
mov r13d,[rsi+0000013C]
cmp [flag],1
add [rsi+08],#1
mov [flag],0
jmp returnhere

flag:
dd 0

Level:
jmp newmem
nop
nop
nop
nop
nop
returnhere:
registersymbol(Level)

[DISABLE]
Level:
db 8B 46 08 44 8B AE 3C 01 00 00

unregistersymbol(Level)
unregistersymbol(flag)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "EoCApp.exe"+9CB867

"EoCApp.exe"+9CB843: BA 80 00 00 00        -  mov edx,00000080
"EoCApp.exe"+9CB848: 49 8B CC              -  mov rcx,r12
"EoCApp.exe"+9CB84B: FF 90 88 00 00 00     -  call qword ptr [rax+00000088]
"EoCApp.exe"+9CB851: 84 C0                 -  test al,al
"EoCApp.exe"+9CB853: 74 12                 -  je EoCApp.exe+9CB867
"EoCApp.exe"+9CB855: 4D 8B C4              -  mov r8,r12
"EoCApp.exe"+9CB858: 48 8B D7              -  mov rdx,rdi
"EoCApp.exe"+9CB85B: 49 8B CD              -  mov rcx,r13
"EoCApp.exe"+9CB85E: E8 2D 02 F2 FF        -  call EoCApp.exe+8EBA90
"EoCApp.exe"+9CB863: 44 0F B6 F8           -  movzx r15d,al
// ---------- INJECTING HERE ----------
"EoCApp.exe"+9CB867: 8B 46 08              -  mov eax,[rsi+08]
"EoCApp.exe"+9CB86A: 44 8B AE 3C 01 00 00  -  mov r13d,[rsi+0000013C]
// ---------- DONE INJECTING  ----------
"EoCApp.exe"+9CB871: BA 0F 00 00 00        -  mov edx,0000000F
"EoCApp.exe"+9CB876: 8B C8                 -  mov ecx,eax
"EoCApp.exe"+9CB878: 0F AF C8              -  imul ecx,eax
"EoCApp.exe"+9CB87B: FF C9                 -  dec ecx
"EoCApp.exe"+9CB87D: 0F AF C8              -  imul ecx,eax
"EoCApp.exe"+9CB880: 66 0F 6E C1           -  movd xmm0,ecx
"EoCApp.exe"+9CB884: F3 0F E6 C0           -  cvtdq2pd xmm0,xmm0
"EoCApp.exe"+9CB888: F2 41 0F 59 C2        -  mulsd xmm0,xmm10
"EoCApp.exe"+9CB88D: F2 41 0F 5E C1        -  divsd xmm0,xmm9
"EoCApp.exe"+9CB892: F2 44 0F 2C E0        -  cvttsd2si r12d,xmm0
}

 

 

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

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

он по чему, то не работает.

При изменении значения в самом адресе уровня - в игре уровень меняется? Ты проверял это?

Если проверял и значение меняется, то попробуй так:

Скрытый текст

[ENABLE]

aobscanmodule(Level,EoCApp.exe,8B 46 08 44 8B AE 3C 01 00 00)
alloc(newmem,2048,Level)
label(returnhere)
label(flag)
registersymbol(flag)

newmem:
cmp [flag],1
add [rsi+08],#1
mov [flag],0
mov eax,[rsi+08]        // передать новое значение уровня в регистр eax
mov r13d,[rsi+0000013C]
jmp returnhere

flag:
dd 0

Level:
jmp newmem
nop
nop
nop
nop
nop
returnhere:
registersymbol(Level)

[DISABLE]
Level:
db 8B 46 08 44 8B AE 3C 01 00 00

unregistersymbol(Level)
unregistersymbol(flag)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "EoCApp.exe"+9CB867

"EoCApp.exe"+9CB843: BA 80 00 00 00        -  mov edx,00000080
"EoCApp.exe"+9CB848: 49 8B CC              -  mov rcx,r12
"EoCApp.exe"+9CB84B: FF 90 88 00 00 00     -  call qword ptr [rax+00000088]
"EoCApp.exe"+9CB851: 84 C0                 -  test al,al
"EoCApp.exe"+9CB853: 74 12                 -  je EoCApp.exe+9CB867
"EoCApp.exe"+9CB855: 4D 8B C4              -  mov r8,r12
"EoCApp.exe"+9CB858: 48 8B D7              -  mov rdx,rdi
"EoCApp.exe"+9CB85B: 49 8B CD              -  mov rcx,r13
"EoCApp.exe"+9CB85E: E8 2D 02 F2 FF        -  call EoCApp.exe+8EBA90
"EoCApp.exe"+9CB863: 44 0F B6 F8           -  movzx r15d,al
// ---------- INJECTING HERE ----------
"EoCApp.exe"+9CB867: 8B 46 08              -  mov eax,[rsi+08]
"EoCApp.exe"+9CB86A: 44 8B AE 3C 01 00 00  -  mov r13d,[rsi+0000013C]
// ---------- DONE INJECTING  ----------
"EoCApp.exe"+9CB871: BA 0F 00 00 00        -  mov edx,0000000F
"EoCApp.exe"+9CB876: 8B C8                 -  mov ecx,eax
"EoCApp.exe"+9CB878: 0F AF C8              -  imul ecx,eax
"EoCApp.exe"+9CB87B: FF C9                 -  dec ecx
"EoCApp.exe"+9CB87D: 0F AF C8              -  imul ecx,eax
"EoCApp.exe"+9CB880: 66 0F 6E C1           -  movd xmm0,ecx
"EoCApp.exe"+9CB884: F3 0F E6 C0           -  cvtdq2pd xmm0,xmm0
"EoCApp.exe"+9CB888: F2 41 0F 59 C2        -  mulsd xmm0,xmm10
"EoCApp.exe"+9CB88D: F2 41 0F 5E C1        -  divsd xmm0,xmm9
"EoCApp.exe"+9CB892: F2 44 0F 2C E0        -  cvttsd2si r12d,xmm0
}

 

 

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

нажимаешь активировать скрипт, он автоматически прибавляет не по одному уровню, а сразу 10-30-40 а сам флаг не работает, скрипт выключаешь, перестаёт прибавлять уровни.

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

4 минуты назад, Baracuda сказал:

нажимаешь активировать скрипт, он автоматически прибавляет не по одному уровню, а сразу 10-30-40 а сам флаг не работает, скрипт выключаешь, перестаёт прибавлять уровни.

Я из твоего скрипта делал, а ты прыг не указал.

А так:

Скрытый текст

[ENABLE]

aobscanmodule(Level,EoCApp.exe,8B 46 08 44 8B AE 3C 01 00 00)
alloc(newmem,2048,Level)
label(returnhere)
label(code)
label(flag)
registersymbol(flag)

newmem:
cmp [flag],1
jne code
add [rsi+08],#1
mov [flag],0

code:
mov eax,[rsi+08]        // передать новое значение уровня в регистр eax
mov r13d,[rsi+0000013C]
jmp returnhere

flag:
dd 0

Level:
jmp newmem
nop
nop
nop
nop
nop
returnhere:
registersymbol(Level)

[DISABLE]
Level:
db 8B 46 08 44 8B AE 3C 01 00 00

unregistersymbol(Level)
unregistersymbol(flag)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "EoCApp.exe"+9CB867

"EoCApp.exe"+9CB843: BA 80 00 00 00        -  mov edx,00000080
"EoCApp.exe"+9CB848: 49 8B CC              -  mov rcx,r12
"EoCApp.exe"+9CB84B: FF 90 88 00 00 00     -  call qword ptr [rax+00000088]
"EoCApp.exe"+9CB851: 84 C0                 -  test al,al
"EoCApp.exe"+9CB853: 74 12                 -  je EoCApp.exe+9CB867
"EoCApp.exe"+9CB855: 4D 8B C4              -  mov r8,r12
"EoCApp.exe"+9CB858: 48 8B D7              -  mov rdx,rdi
"EoCApp.exe"+9CB85B: 49 8B CD              -  mov rcx,r13
"EoCApp.exe"+9CB85E: E8 2D 02 F2 FF        -  call EoCApp.exe+8EBA90
"EoCApp.exe"+9CB863: 44 0F B6 F8           -  movzx r15d,al
// ---------- INJECTING HERE ----------
"EoCApp.exe"+9CB867: 8B 46 08              -  mov eax,[rsi+08]
"EoCApp.exe"+9CB86A: 44 8B AE 3C 01 00 00  -  mov r13d,[rsi+0000013C]
// ---------- DONE INJECTING  ----------
"EoCApp.exe"+9CB871: BA 0F 00 00 00        -  mov edx,0000000F
"EoCApp.exe"+9CB876: 8B C8                 -  mov ecx,eax
"EoCApp.exe"+9CB878: 0F AF C8              -  imul ecx,eax
"EoCApp.exe"+9CB87B: FF C9                 -  dec ecx
"EoCApp.exe"+9CB87D: 0F AF C8              -  imul ecx,eax
"EoCApp.exe"+9CB880: 66 0F 6E C1           -  movd xmm0,ecx
"EoCApp.exe"+9CB884: F3 0F E6 C0           -  cvtdq2pd xmm0,xmm0
"EoCApp.exe"+9CB888: F2 41 0F 59 C2        -  mulsd xmm0,xmm10
"EoCApp.exe"+9CB88D: F2 41 0F 5E C1        -  divsd xmm0,xmm9
"EoCApp.exe"+9CB892: F2 44 0F 2C E0        -  cvttsd2si r12d,xmm0
}

 

 

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

у меня ещё есть вопросик, я давно хотел поинтересоваться, взял в пример скрипт сайта http://forum.cheatengine.org/viewtopic.php?t=594022

ты можешь объяснить как этот скрипт работает, он на бесконечные жизни, 

вот обскан мене понятен, это я понял aobscanmodule(health,NMS.exe,F3 0F 2C D8 45 85 E4 75) это тоже понятно db F3 0F 2C D8

а это что такое db 31 DB 90 90 если понимаешь объясни пожалуйста

Скрытый текст

[ENABLE]
aobscanmodule(health,NMS.exe,F3 0F 2C D8 45 85 E4 75)
health:
  db 31 DB 90 90
registersymbol(health)

[DISABLE]
health:
  db F3 0F 2C D8
unregistersymbol(health)

{
// ORIGINAL CODE - INJECTION POINT: "NMS.exe"+A07F29

"NMS.exe"+A07EF4: 4C 8B 74 24 48           -  mov r14,[rsp+48]
"NMS.exe"+A07EF9: F3 44 0F 11 5C 24 44     -  movss [rsp+44],xmm11
"NMS.exe"+A07F00: 41 0F 28 C0              -  movaps xmm0,xmm8
"NMS.exe"+A07F04: F3 0F 5E C6              -  divss xmm0,xmm6
"NMS.exe"+A07F08: 0F 57 05 91 C6 95 00     -  xorps xmm0,[NMS.exe+13645A0]
"NMS.exe"+A07F0F: F3 0F 11 44 24 48        -  movss [rsp+48],xmm0
"NMS.exe"+A07F15: 8B 44 24 48              -  mov eax,[rsp+48]
"NMS.exe"+A07F19: 23 05 9D 72 CB 00        -  and eax,[NMS.exe+16BF1BC]
"NMS.exe"+A07F1F: 09 44 24 44              -  or [rsp+44],eax
"NMS.exe"+A07F23: F3 0F 58 44 24 44        -  addss xmm0,[rsp+44]
// ---------- INJECTING HERE ----------
"NMS.exe"+A07F29: F3 0F 2C D8              -  cvttss2si ebx,xmm0
"NMS.exe"+A07F2D: 45 85 E4                 -  test r12d,r12d
// ---------- DONE INJECTING  ----------
"NMS.exe"+A07F30: 75 45                    -  jne NMS.exe+A07F77
"NMS.exe"+A07F32: 41 01 9F E8 00 00 00     -  add [r15+000000E8],ebx
"NMS.exe"+A07F39: 41 8B 87 E8 00 00 00     -  mov eax,[r15+000000E8]
"NMS.exe"+A07F40: 85 C0                    -  test eax,eax
"NMS.exe"+A07F42: 7F 16                    -  jg NMS.exe+A07F5A
"NMS.exe"+A07F44: 49 FF 87 80 00 00 00     -  inc [r15+00000080]
"NMS.exe"+A07F4B: 41 8B C5                 -  mov eax,r13d
"NMS.exe"+A07F4E: 41 89 87 E8 00 00 00     -  mov [r15+000000E8],eax
"NMS.exe"+A07F55: E9 AD 00 00 00           -  jmp NMS.exe+A08007
"NMS.exe"+A07F5A: B9 64 00 00 00           -  mov ecx,00000064
}

 

допустим это 90 90 это nop nop получается их 2 это тоже понятно, а это что db      31 DB

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

11 минуту назад, Baracuda сказал:

а это что такое db 31 DB 90 90 если понимаешь объясни пожалуйста

90 90  - это два nop для выравнивания кода.

31 DB  - это  xor ebx,ebx; т.е. обнуление регистра ebx, а так как в ebx на данном участке кода находится урон, то это обнуление урона.

 

Вот посмотри дальше по коду строчка:

add [r15+000000E8],ebx

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

[r15+000000E8]

.

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

2 минуты назад, Baracuda сказал:

НЕХ 31 DB  это 12763 Dec интересно, почему именно 31 DB а не что-то другое.

Я же написал уже: 

18 минуту назад, Garik66 сказал:

31 DB  - это  xor ebx,ebx

 

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

только сейчас увидел, скрипт работает, добавляет уровень, но только одному герою, а не двоим сразу, это почему так, 

хотя сам скрипт работает со всеми игроками.

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

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

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

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