Пользователь @Mr-Xleb написал в Функция mono Cheat engine:
стоит ли им пользоваться и в каких случаях?
Forum wide moderators
Пользователь @Mr-Xleb написал в Функция mono Cheat engine:
стоит ли им пользоваться и в каких случаях?
Пользователь @Ariondragon написал в Обход анти-чита:
правда у меня Mac OS и Cheat Engine на нём чуть другой
Ну то понятно... Самое главное... - это к примеру автомат. Патрон в нём "30" на экране. Значит ищем диапазон с "25 по 35" и после каждого выстрела, отсеиваем на уменьшилось и всё найдется.
@Ariondragon
Ну в моё время, а это 5 лет назад ( когда смотрел эту игру ) патроны были тут!
Попробуй, затри вычитание. Я думаю, что там не чего не изменилось.
{
// ORIGINAL CODE - INJECTION POINT: "MetroExodus.exe"+ACC2A4C
"MetroExodus.exe"+ACC2A24: 48 89 F9 - mov rcx,rdi
"MetroExodus.exe"+ACC2A27: E8 64 97 7E F5 - call MetroExodus.exe+4AC190
"MetroExodus.exe"+ACC2A2C: 45 31 E4 - xor r12d,r12d
"MetroExodus.exe"+ACC2A2F: 84 C0 - test al,al
"MetroExodus.exe"+ACC2A31: 75 32 - jne MetroExodus.exe+ACC2A65
"MetroExodus.exe"+ACC2A33: 48 8B 84 24 80 00 00 00 - mov rax,[rsp+00000080]
"MetroExodus.exe"+ACC2A3B: 4C 8B 00 - mov r8,[rax]
"MetroExodus.exe"+ACC2A3E: 4D 85 C0 - test r8,r8
"MetroExodus.exe"+ACC2A41: 49 8D 88 88 04 00 00 - lea rcx,[r8+00000488]
"MetroExodus.exe"+ACC2A48: 48 0F 44 CB - cmove rcx,rbx
// ---------- INJECTING HERE ----------
"MetroExodus.exe"+ACC2A4C: 66 41 29 F6 - sub r14w,si
"MetroExodus.exe"+ACC2A50: 45 31 C0 - xor r8d,r8d
// ---------- DONE INJECTING ----------
"MetroExodus.exe"+ACC2A53: 41 0F B7 D6 - movzx edx,r14w
"MetroExodus.exe"+ACC2A57: 48 8B 01 - mov rax,[rcx]
"MetroExodus.exe"+ACC2A5A: FF 90 38 03 00 00 - call qword ptr [rax+00000338]
"MetroExodus.exe"+ACC2A60: E9 8E 00 00 00 - jmp MetroExodus.exe+ACC2AF3
"MetroExodus.exe"+ACC2A65: 48 8B 9F 78 05 00 00 - mov rbx,[rdi+00000578]
"MetroExodus.exe"+ACC2A6C: 48 8D 8F 60 05 00 00 - lea rcx,[rdi+00000560]
"MetroExodus.exe"+ACC2A73: 48 8B 01 - mov rax,[rcx]
"MetroExodus.exe"+ACC2A76: FF 90 88 03 00 00 - call qword ptr [rax+00000388]
"MetroExodus.exe"+ACC2A7C: 4C 89 64 24 30 - mov [rsp+30],r12
"MetroExodus.exe"+ACC2A81: 48 8D 94 24 90 00 00 00 - lea rdx,[rsp+00000090]
}
Восставить функцию, вроде не сложно!
Да и на счет патрон. Если ищешь ( то что на экране показывает ) то можешь не найти. Там значение по моему, не то на единицу больше, не то на две. Это реальное. От того может и не меняется, так как оно экранное.
Ищи просто ( если автомат на 30 ) диапазон от 25-35 и по выстрелу отсеивай - типа уменьшилось!
Пользователь @Ariondragon написал в Обход анти-чита:
StealthEdit
А что, разве "StealthEdit" сделан для того, что бы значения в игре менялись ?
И в "Metro Exodus" какой же там античит, для чего ? Если в игре что то не меняется, значит что то перезаписывает в приоритете ваши данные. На какой хоть функции, не получается что либо сделать ?
@vaqif На Ru если можно, повторите запрос. А то у нас тут EN плохо понимают люди!
Пользователь @Templar написал в Stalker Shadow of Chernobyl - движок OGSR - функция без перезарядки:
add qword ptr [rbx+00000BB8],-60
По принципу делай как я и всё будет хорошо, многому не научишься.
mem:
cmp [ поинтер оружия],rbx
jne code
add qword ptr [rbx+00000BB8],60
jmp @1f
code:
add [rbx+00000B58],esi // тут поди dec 'экранных патрон.
@1:
ret
Так сделать проще всего... Но ведь, даже поди и не понял, почему именно так ?
Какая версия игры? Ломаная или со старфорсом?
1BA29A52: F2 0F 5E C1 - divsd xmm0,xmm1
1BA29A56: 66 0F D6 45 D0 - movq [ebp-30],xmm0
а тут что ? Это как раз то, что вычитает... Это в обще может функция то на отображение полоски или же адрес если крутить, то работает как надо ?
Если бы наверно адрес был действительный, то наверное и так бы прокатило в патче.
subsd xmm0,xmm0
а то xmm1 всё равно кроме как вычитания и не нужен.
Хз что за версия.....
[ENABLE]
aobscanmodule(ogran,Stronghold Crusader.exe,0F ? ? ? ? ? ? 01 ? 0F ? ? ? ? ? ? 8B ? ? ? ? ? ? FF)
alloc(newmem,$1000)
label(return)
registersymbol(ogran)
newmem:
mov word ptr [eax+000001AA],#100
movsx edx,word ptr [eax+000001AA]
jmp return
ogran:
jmp newmem
nop 2
return:
[DISABLE]
ogran:
db 0F BF 90 AA 01 00 00
unregistersymbol(ogran)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Stronghold Crusader.exe+230A7
Stronghold Crusader.exe+23077: 66 39 9C 31 A8 01 00 00 - cmp [ecx+esi+000001A8],bx
Stronghold Crusader.exe+2307F: 8D 8C 31 A8 01 00 00 - lea ecx,[ecx+esi+000001A8]
Stronghold Crusader.exe+23086: 7E 09 - jle "Stronghold Crusader.exe"+23091
Stronghold Crusader.exe+23088: 66 83 01 FF - add word ptr [ecx],-01
Stronghold Crusader.exe+2308C: A1 E8 63 B9 00 - mov eax,["Stronghold Crusader.exe"+7963E8]
Stronghold Crusader.exe+23091: 69 C0 2C 03 00 00 - imul eax,eax,0000032C
Stronghold Crusader.exe+23097: 8B D5 - mov edx,ebp
Stronghold Crusader.exe+23099: 69 D2 F4 39 00 00 - imul edx,edx,000039F4
Stronghold Crusader.exe+2309F: 03 C6 - add eax,esi
Stronghold Crusader.exe+230A1: 8D 8A B4 82 19 01 - lea ecx,[edx+"Stronghold Crusader.exe"+D982B4]
// ---------- INJECTING HERE ----------
Stronghold Crusader.exe+230A7: 0F BF 90 AA 01 00 00 - movsx edx,word ptr [eax+000001AA]
// ---------- DONE INJECTING ----------
Stronghold Crusader.exe+230AE: 01 11 - add [ecx],edx
Stronghold Crusader.exe+230B0: 0F BF 80 E6 00 00 00 - movsx eax,word ptr [eax+000000E6]
Stronghold Crusader.exe+230B7: 8B 0C 85 A8 89 5B 00 - mov ecx,[eax*4+"Stronghold Crusader.exe"+1B89A8]
Stronghold Crusader.exe+230BE: FF D1 - call ecx
Stronghold Crusader.exe+230C0: 8B 0D E8 63 B9 00 - mov ecx,["Stronghold Crusader.exe"+7963E8]
Stronghold Crusader.exe+230C6: 8B D1 - mov edx,ecx
Stronghold Crusader.exe+230C8: 69 D2 2C 03 00 00 - imul edx,edx,0000032C
Stronghold Crusader.exe+230CE: 66 39 9C 32 E4 00 00 00 - cmp [edx+esi+000000E4],bx
Stronghold Crusader.exe+230D6: 8D 04 32 - lea eax,[edx+esi]
Stronghold Crusader.exe+230D9: 0F 84 2A 02 00 00 - je "Stronghold Crusader.exe"+23309
}