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

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

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

я бы сделать, я толком не знаю как базовые адреса делать.

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

я на о бум святых делал, подбирал сидел смешения.

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

Больше лазай в структурах (регионах памяти), раскрывай в структурах поинтеры.

Короче практика. :) 

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

я только этим и занимаюсь, с ID я умею делать, а с таким сталкиваюсь первый раз.

кому-то это просто, а для меня пока я не разобрался, сложно.

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

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

вот скрипт. В пример брал твоё видео где ты dark souls но у тебя сделано с переключением, а я не могу, потому что структура другая.

ты для переключения использовал FFFFFFFF пустые слоты здесь такого нет

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

[ENABLE]

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


newmem:
cmp [flag],1
jne originalcode
push [experience_ptr]
pop [rsi+08]
mov [flag],0

originalcode:
mov eax,[rsi+08]
mov r13d,[rsi+0000013C]
jmp returnhere

experience_ptr:
dq 0

flag:
dd 0

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

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

unregistersymbol(Level2)
unregistersymbol(experience_ptr)
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
}

 

 

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

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

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

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

Если не получится - пиши.

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

Да работает, можешь сам в вписывать какой тебе надо уровень, 

вот скрипт. А как с переключением сделать. 

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

[ENABLE]

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


newmem:
cmp [flag],1
jne @F
push [experience_ptr]
pop [rsi+08]
inc [flag]
jmp originalcode

@@:
cmp [flag],2
jne originalcode
push [experience_ptr]
pop [rsi+08]
mov [flag],0

originalcode:
mov eax,[rsi+08]
mov r13d,[rsi+0000013C]
jmp returnhere

experience_ptr:
dq 0

flag:
dd 0

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

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

unregistersymbol(Level2)
unregistersymbol(experience_ptr)
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
}

 

 

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

Только что, Baracuda сказал:

Да работает,

Молодец!!!

Только что, Baracuda сказал:

А как с переключением сделать. 

Что именно переключать? Вопрос пока не понял.

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

сейчас объясню

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

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

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

сейчас объясню

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

Всё равно не понял. Ладно на сегодня уже пожалуй закончим. Мне нужно уже идти.

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

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

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

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

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(INJECT,StateOfDecay.exe,8B 49 08 8B D1) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov ecx,[ecx+08]
  mov edx,ecx
  jmp return

INJECT:
  jmp code
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
  db 8B 49 08 8B D1

unregistersymbol(INJECT)
dealloc(newmem)

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

"StateOfDecay.exe"+F94736: 8B C2              -  mov eax,edx
"StateOfDecay.exe"+F94738: 5F                 -  pop edi
"StateOfDecay.exe"+F94739: C3                 -  ret 
"StateOfDecay.exe"+F9473A: CC                 -  int 3 
"StateOfDecay.exe"+F9473B: CC                 -  int 3 
"StateOfDecay.exe"+F9473C: CC                 -  int 3 
"StateOfDecay.exe"+F9473D: CC                 -  int 3 
"StateOfDecay.exe"+F9473E: CC                 -  int 3 
"StateOfDecay.exe"+F9473F: CC                 -  int 3 
"StateOfDecay.exe"+F94740: 51                 -  push ecx
// ---------- INJECTING HERE ----------
"StateOfDecay.exe"+F94741: 8B 49 08           -  mov ecx,[ecx+08]
"StateOfDecay.exe"+F94744: 8B D1              -  mov edx,ecx
// ---------- DONE INJECTING  ----------
"StateOfDecay.exe"+F94746: 8B C1              -  mov eax,ecx
"StateOfDecay.exe"+F94748: D1 EA              -  shr edx,1
"StateOfDecay.exe"+F9474A: 25 22 22 22 22     -  and eax,22222222
"StateOfDecay.exe"+F9474F: 81 E1 99 99 99 99  -  and ecx,99999999
"StateOfDecay.exe"+F94755: 03 C0              -  add eax,eax
"StateOfDecay.exe"+F94757: 81 E2 22 22 22 22  -  and edx,22222222
"StateOfDecay.exe"+F9475D: 0B D0              -  or edx,eax
"StateOfDecay.exe"+F9475F: 0B D1              -  or edx,ecx
"StateOfDecay.exe"+F94761: 8B CA              -  mov ecx,edx
"StateOfDecay.exe"+F94763: C1 E9 02           -  shr ecx,02
}

 

 

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

Пробовал как на видео, где Игорь ломал на ресурсы  Видео по взлому Might&Magic Heroes VI от Garik66 4 AddResours

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

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

7 часов назад, Baracuda сказал:

Пробовал как на видео, где Игорь ломал на ресурсы  Видео по взлому Might&Magic Heroes VI от Garik66 4 AddResours

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

Вот видео -> посмотри:

 

 

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

Скрипт:

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

{ Game   : StateOfDecay.exe
  Version: 
  Date   : 2016-09-11
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(INJECT,StateOfDecay.exe,8B 49 08 8B D1) // should be unique
alloc(newmem,$1000)
label(code)
label(pointer)
label(return)
label(Value)
registersymbol(Value)
registersymbol(INJECT)

newmem:
  cmp edi,3C
  je @f
  cmp esi,1E54018
  je @f
  cmp esi,1D80F90
  je @f
  jmp code

@@:
  push eax
  push ebx
  push ecx
  push edx

  mov edx,[StateOfDecay.exe+1A1FDAC]
  xor edx,[StateOfDecay.exe+1A1FB54]
  push esi
  mov ebx,[Value]
  xor edx,ebx
  mov esi,edx
  mov eax,edx
  and eax,0000FF00
  shl eax,08
  mov edi,ecx
  shr esi,08
  and edx,FF0000FF
  and esi,0000FF00
  or esi,eax
  or esi,edx
  mov ecx,esi
  shr ecx,04
  and ecx,StateOfDecay.exe+B000F0
  mov eax,esi
  and eax,StateOfDecay.exe+B000F0
  shl eax,04
  or ecx,eax
  and esi,F00FF00F
  or ecx,esi
  mov edx,ecx
  mov eax,ecx
  shr edx,02
  and eax,0C0C0C0C
  shl eax,02
  and ecx,C3C3C3C3
  and edx,0C0C0C0C
  or edx,eax
  or edx,ecx
  mov ecx,edx
  mov eax,edx
  shr ecx,1
  and eax,22222222
  and ecx,22222222
  add eax,eax
  or ecx,eax
  and edx,99999999
  or ecx,edx
  mov ebx,ecx

  pop esi
  pop edx
  pop ecx
  mov [ecx+08],ebx
  pop ebx
  pop eax

code:
  mov ecx,[ecx+08]
  mov edx,ecx
  jmp return

pointer:
  dd 0
Value:
  dd (float)999

INJECT:
  jmp newmem
return:

[DISABLE]
INJECT:
  db 8B 49 08 8B D1

unregistersymbol(Value)
unregistersymbol(INJECT)
dealloc(newmem)

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

"StateOfDecay.exe"+F94736: 8B C2              -  mov eax,edx
"StateOfDecay.exe"+F94738: 5F                 -  pop edi
"StateOfDecay.exe"+F94739: C3                 -  ret 
"StateOfDecay.exe"+F9473A: CC                 -  int 3 
"StateOfDecay.exe"+F9473B: CC                 -  int 3 
"StateOfDecay.exe"+F9473C: CC                 -  int 3 
"StateOfDecay.exe"+F9473D: CC                 -  int 3 
"StateOfDecay.exe"+F9473E: CC                 -  int 3 
"StateOfDecay.exe"+F9473F: CC                 -  int 3 
"StateOfDecay.exe"+F94740: 51                 -  push ecx
// ---------- INJECTING HERE ----------
"StateOfDecay.exe"+F94741: 8B 49 08           -  mov ecx,[ecx+08]
"StateOfDecay.exe"+F94744: 8B D1              -  mov edx,ecx
// ---------- DONE INJECTING  ----------
"StateOfDecay.exe"+F94746: 8B C1              -  mov eax,ecx
"StateOfDecay.exe"+F94748: D1 EA              -  shr edx,1
"StateOfDecay.exe"+F9474A: 25 22 22 22 22     -  and eax,22222222
"StateOfDecay.exe"+F9474F: 81 E1 99 99 99 99  -  and ecx,99999999
"StateOfDecay.exe"+F94755: 03 C0              -  add eax,eax
"StateOfDecay.exe"+F94757: 81 E2 22 22 22 22  -  and edx,22222222
"StateOfDecay.exe"+F9475D: 0B D0              -  or edx,eax
"StateOfDecay.exe"+F9475F: 0B D1              -  or edx,ecx
"StateOfDecay.exe"+F94761: 8B CA              -  mov ecx,edx
"StateOfDecay.exe"+F94763: C1 E9 02           -  shr ecx,02
}

 

Видео:

 

Таблица:

StateOfDecay.CT

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

Спасибо Garik66 за видео, за старания, что-то понятно что то нет, жалко что у тебя не получилось показать на примере, на скриптах, пришлось объяснять, что-то понятно что-то нет.

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

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

Спасибо Garik66 за видео, за старания, что-то понятно что то нет, жалко что у тебя не получилось показать на примере, на скриптах, пришлось объяснять, что-то понятно что-то нет.

Поковыряйся в коде сам.

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

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

я пока бросил эту игру, потом по ковыряюсь, я на Fallout 4 всё не могу нaйти ID, и почему Cheat Engine не ищет, вот такие адреса 7FF7E0ED0030 водишь в поле поиска, это адрес 7FF7E0ED0030 нажимаешь найти, результатов ноль, я уже настраивал Cheat Engine как тока можно, всё равно не ищет.

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

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

и почему Cheat Engine не ищет, вот такие адреса 7F7d6a475868

Сейчас гляну на СЕ-ном Туториале 64-битном. Но у меня пока СЕ 6,5. На 6.6 буду переходить только после офиц.релиза. (Бетки и промежуточные, как я уже где-то писал - не люблю.) 

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

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

Сейчас гляну на СЕ-ном Туториале 64-битном.

а не не получится - в Туториале адреса 4 байтные. 

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

У меня СЕ 6,5 ищет 8 байтные адреса нормально. 

Сейчас подключился к Assassins Creed Unity и нашёл адреса 00000100000000000.

 

Ты не забыл перед поиском поставить тип 8 байт и галочку Hex?

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

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

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

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