@fnzy есть - не включать СЕ 1 апреля.
Лучшие сообщения garik66
-
RE: Как закрыть Кончилась лицензия в CE подсказывать
-
RE: Mafia II-DE v.1.0.1 вращение колёс
Пользователь @Partizan1078 написал в Mafia II-DE v.1.0.1 вращение колёс:
И он не работает.
Попробуй так:
newmem: cmp [hot_key],01 jne @F mov [r14+000003BC],(float)100 add [check],01 cmp [check],03 jne @F mov [hot_key],00 mov [check],00 @@: mulss xmm14,[r14+000003BC] jmp return
К сожалению не знаю. как здесь юзать теги, прошу прощения.
Поправь скрипт, попробуй и отпишись пожалуйста - работает или нет. -
RE: Pocket Rogues 1 убийство = +1 лвл
@CoinsDMG так как 1 целая и флоат равны, а в квадратных скобках в СЕ по-умолчанию 4 байта, то думаю можно сделать так, попробуй:
`newmem: pash ebx mov ebx,[rax+00000628] sub ebx,1 mov [rax+00000624]ebx pop ebx code: movss xmm1,[rax+00000624] ``
-
RE: Pocket Rogues 1 убийство = +1 лвл
@CoinsDMG хотя прыжок нужен, меня сбила твоя фраза "мне нужно, чтобы после каждого повышения уровня у меня был текущий опыт на единицу меньше от максимального". Иначе всегда опыт меньше на 1 будет.
newmem: pash ebx mov ebx,[rax+00000628] sub ebx,1 cmp [rax+00000624]ebx jnl code mov [rax+00000624]ebx code: pop ebx movss xmm1,[rax+00000624]
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih без кода игры (хотя бы логов. которые создает СЕ по умолчанию, при создании скрипта) тяжело что-то посоветовать. Но попробуй не записывать в нужный адрес игры значение, а подгружать его извне, короче попробуй так и отпишись о результатах.
[ENABLE] alloc(newmem,2048,Player:UpdatePlacement+b23) label(returnhere) label(originalcode) label(exit) label(odin) newmem: //mov [rdi+00000790] ,#1 originalcode: //movzx eax,byte ptr [rdi+00000790] movzx eax,byte ptr [odin] exit: jmp returnhere odin: dd 1 Player:UpdatePlacement+b23: jmp newmem nop 2 returnhere: [DISABLE] dealloc(newmem) Player:UpdatePlacement+b23: db 0F B6 87 90 07 00 00
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih да и забыл, все-таки проверь первый мой скрипт, загрузив игру заново, есть подозрение, что ты проверял его с уже измененным значением в адресе игры.
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@LIRW первый скрипт, это и есть запись напрямую, со слов ТС это не сработало, видимо дальше по коду перезаписывается.
с флагами более большой скрипт планировал предложить 3 вариантом.
Второй мой скрипт это уже прыжок куда-надо, но ТС пока не отписался сработало или нет. -
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih отпишись, после проверки - интересно.
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih и еще вариант:
Найти указатели на адрес и написать простейший скрипт[ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat mov[адрес с указателями],1 [DISABLE] //code from here till the end of the code will be used to disable the cheat mov[адрес с указателями],0
Недавние сообщения garik66
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih и еще вариант:
Найти указатели на адрес и написать простейший скрипт[ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat mov[адрес с указателями],1 [DISABLE] //code from here till the end of the code will be used to disable the cheat mov[адрес с указателями],0
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih для того чтобы сделать все в одном скрипте нужно изучать игровой код. В этом случае СЕ-ных логов не достаточно.
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih отпишись, после проверки - интересно.
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih судя, по описанному тобой, скрипт с флагом тоже скорее всего тебе не поможет.
Но давай попробуем- добавь скрипт в таблицу
[ENABLE] alloc(newmem,2048,Player:UpdatePlacement+b23) label(returnhere) label(originalcode) label(exit) label(Flag) registersymbol(Flag) newmem: cmp [Flag],1 jne @f mov [rdi+00000790] ,#1 jmp originalcode @@: mov [rdi+00000790] ,0 originalcode: movzx eax,byte ptr [rdi+00000790] exit: jmp returnhere Flag: dd 1 Player:UpdatePlacement+b23: jmp newmem nop 2 returnhere: [DISABLE] unregistersymbol(Flag) dealloc(newmem) Player:UpdatePlacement+b23: db 0F B6 87 90 07 00 00
- теперь нужно добавить в таблицу адрес Flag, после активации скрипта.
По умолчанию будет в нем 1, перед отключением скрипта в адресе нужно поставить в адресе Flag 0.
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@LIRW первый скрипт, это и есть запись напрямую, со слов ТС это не сработало, видимо дальше по коду перезаписывается.
с флагами более большой скрипт планировал предложить 3 вариантом.
Второй мой скрипт это уже прыжок куда-надо, но ТС пока не отписался сработало или нет. -
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih да и забыл, все-таки проверь первый мой скрипт, загрузив игру заново, есть подозрение, что ты проверял его с уже измененным значением в адресе игры.
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih попробуй так
define(address,Player:UpdatePlacement+b23) define(bytes,0F B6 87 90 07 00 00) [ENABLE] assert(address,bytes) alloc(newmem,$1000,Player:UpdatePlacement+b23) label(code) label(return) newmem: code: jmp Player:UpdatePlacement+b53 jmp return address: jmp newmem nop 2 return: [DISABLE] address: db bytes // movzx eax,byte ptr [rdi+00000790] dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Player:UpdatePlacement+b23 Player:UpdatePlacement+aee: 49 BB 5C 35 61 23 DA 02 00 00 - mov r11,000002DA2361355C Player:UpdatePlacement+af8: 41 FF D3 - call r11 Player:UpdatePlacement+afb: E9 33 03 00 00 - jmp Player:UpdatePlacement+e33 Player:UpdatePlacement+b00: 48 8B 8F 38 06 00 00 - mov rcx,[rdi+00000638] Player:UpdatePlacement+b07: 33 D2 - xor edx,edx Player:UpdatePlacement+b09: 48 8D 64 24 00 - lea rsp,[rsp+00] Player:UpdatePlacement+b0e: 49 BB 10 07 AE 93 DB 02 00 00 - mov r11,UnityEngine.Object:op_Inequality Player:UpdatePlacement+b18: 41 FF D3 - call r11 Player:UpdatePlacement+b1b: 85 C0 - test eax,eax Player:UpdatePlacement+b1d: 0F 84 10 03 00 00 - je Player:UpdatePlacement+e33 // ---------- INJECTING HERE ---------- Player:UpdatePlacement+b23: 0F B6 87 90 07 00 00 - movzx eax,byte ptr [rdi+00000790] // ---------- DONE INJECTING ---------- Player:UpdatePlacement+b2a: 85 C0 - test eax,eax Player:UpdatePlacement+b2c: 75 25 - jne Player:UpdatePlacement+b53 Player:UpdatePlacement+b2e: 48 8B CF - mov rcx,rdi Player:UpdatePlacement+b31: 48 8B 95 C8 FE FF FF - mov rdx,[rbp-00000138] Player:UpdatePlacement+b38: 45 33 C0 - xor r8d,r8d Player:UpdatePlacement+b3b: 66 66 90 - nop 3 Player:UpdatePlacement+b3e: 49 BB 50 41 1B 25 DA 02 00 00 - mov r11,Player:HaveRequirements Player:UpdatePlacement+b48: 41 FF D3 - call r11 Player:UpdatePlacement+b4b: 85 C0 - test eax,eax Player:UpdatePlacement+b4d: 0F 84 95 02 00 00 - je Player:UpdatePlacement+de8 }
-
RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?
@Asusih без кода игры (хотя бы логов. которые создает СЕ по умолчанию, при создании скрипта) тяжело что-то посоветовать. Но попробуй не записывать в нужный адрес игры значение, а подгружать его извне, короче попробуй так и отпишись о результатах.
[ENABLE] alloc(newmem,2048,Player:UpdatePlacement+b23) label(returnhere) label(originalcode) label(exit) label(odin) newmem: //mov [rdi+00000790] ,#1 originalcode: //movzx eax,byte ptr [rdi+00000790] movzx eax,byte ptr [odin] exit: jmp returnhere odin: dd 1 Player:UpdatePlacement+b23: jmp newmem nop 2 returnhere: [DISABLE] dealloc(newmem) Player:UpdatePlacement+b23: db 0F B6 87 90 07 00 00
-
RE: Роскомнадзор (РКН) заблокировал мессенджер Discord на территории России
@LIRW а я думал, почему он не обновляется, предполагал, что это у меня локально.
ну жаль, удобный был.