-
Постов
228 -
Зарегистрирован
-
Посещение
-
Победитель дней
25
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные JIeXA
-
-
я ошибся не ксипо а лирв красавчег
это он делает *.cpl
-
какое првило я нарушил? про неэтичное поведение не надо.
-
Записать видео чтоли как трейнеры гладить
-
ААааааа вы начали стесняться что я начал расскзывать как трейнер расковырять на функционал.
В этом плане ксипо красавчег.
хрен знает как его трейнеры расковырять.
И зачем мне 1 бал сняли за что??????
-
-
Почему
addr = 0x60B65B ИИИИ array_size = (Dword(0x60B64A) >> 3) + 4
-
напутствие
Спойлеры пустые. Или это у меня что-то с хромом
-
Нецензурщину вырезал
-
[CENSORED]
// Xipho: видео пришлось удалить из-за присутствия ненормативной лексики.
-
Игра на юнити
В структуре игрока есть это
Тоесть наш ГГ всегда (вроде) =13. Остальное не то
Скрипт будет такой
Спойлер[ENABLE]
aobscan(INJECT,D9 5B 18 85 DB 0F 84 47 00 00 00 0F B6 47 41 85 C0 0F 84 3B 00 00 00 89 1C 24)
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(INJECT)newmem:
push eax
mov eax,[ebx+08]
add eax,08
cmp [eax],#13
je short code
fstp dword ptr [ebx+18]
code:
pop eax
test ebx,ebx
jmp returnINJECT:
jmp newmem
return:[DISABLE]
INJECT:
db D9 5B 18 85 DB
unregistersymbol(INJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+133HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+117: 8B 47 34 - mov eax,[edi+34]
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+11a: 89 04 24 - mov [esp],eax
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+11d: 39 00 - cmp [eax],eax
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+11f: E8 9C B9 2A 0A - call HutongGames.PlayMaker:FsmFloat:get_Value
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+124: DD 45 E0 - fld qword ptr [ebp-20]
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+127: D9 C9 - fxch st(1)
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+129: DE E9 - fsubp st(1),st(0)
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+12b: D9 5D F0 - fstp dword ptr [ebp-10]
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+12e: 39 1B - cmp [ebx],ebx
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+130: D9 45 F0 - fld dword ptr [ebp-10]
// ---------- INJECTING HERE ----------
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+133: D9 5B 18 - fstp dword ptr [ebx+18]
// ---------- DONE INJECTING ----------
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+136: 85 DB - test ebx,ebx
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+138: 0F 84 47 00 00 00 - je HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+185
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+13e: 0F B6 47 41 - movzx eax,byte ptr [edi+41]
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+142: 85 C0 - test eax,eax
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+144: 0F 84 3B 00 00 00 - je HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+185
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+14a: 89 1C 24 - mov [esp],ebx
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+14d: 39 1B - cmp [ebx],ebx
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+14f: E8 2C F1 EB 09 - call 1210F280
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+154: DD 5D E0 - fstp qword ptr [ebp-20]
HutongGames.PlayMaker.Actions:SubtractFsmFloat:DoSubtractFsmFloat+157: 8B 47 34 - mov eax,[edi+34]
}СпойлерИгра пиратка
The TakeOver v10.11.2019
Перед тем как влючать скрипт нужно чтоб по ГГ ударили иначе сигнатуру не найдёт
-
Собственно как защититься от того же apimonitor
ReadProcessMemory
WriteProcessMemory
-
Согласен с KRYPTOPUNK. Ориентируюсь по мусору в структуре
Кто б рассказал размер структуры.
Ну не, может изучить особенности движка ну или полёт мысли разрабов
-
начну с далека. У меня плохое зрение и поэтому пользуюсь разрешением 1280х720 плюс слегка увеличенный шрифт.
И вот отсюда и начинаются проблемы с некоторыми прогами в том числе и СЕ.
Суть проблемы в том что при таком разрешение мне не хватает размера области с скриптами.
При протяжке мышью оно мало вытягивается. Как протянуть его дальше????
Спойлер -
Трейнми сдался
-
-
Тему можно закрыть.
Вопрос решён!
-
В 16.08.2020 в 23:03, Pitronic сказал:
Даю плюс как аванс, только расскажи как ты это понял?
Плоховато слышно но суть понять можно
-
28 минут назад, FENIX145 сказал:
Ребят, всем спасибо огромное за помощь.
И как скрипт у Вас заработал???
Где мой лайк
-
Переделал скрипт так что если житель достигает 30 лет то его возраст скидывается на 18 лет
Спойлер[ENABLE]
aobscanmodule(Age,Application-x64.exe,f3xxxxxxxx0f2fxxxx72xx48xxxxxxxxxxxxxx75xxb1)
alloc(newmem,$1000,"Application-x64.exe"+112EC5)
label(return)
label(code)
registersymbol(Age)newmem:
cmp [rdi+3C],(float)6
jle short code
mov [rdi+3C],(float)3.6
code:
movss xmm1,[rdi+3C]
jmp returnAge:
jmp newmem
return:[DISABLE]
Age:
db F3 0F 10 4F 3C
unregistersymbol(Age)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "Application-x64.exe"+112EC5"Application-x64.exe"+112E94: 0F 29 78 A8 - movaps [rax-58],xmm7
"Application-x64.exe"+112E98: 44 0F 29 40 98 - movaps [rax-68],xmm8
"Application-x64.exe"+112E9D: 48 8B F2 - mov rsi,rdx
"Application-x64.exe"+112EA0: 48 8B F9 - mov rdi,rcx
"Application-x64.exe"+112EA3: 48 8B 1D 2E 0F 0B 00 - mov rbx,[Application-x64.exe+1C3DD8]
"Application-x64.exe"+112EAA: 4C 8B B3 30 01 00 00 - mov r14,[rbx+00000130]
"Application-x64.exe"+112EB1: 48 8B CA - mov rcx,rdx
"Application-x64.exe"+112EB4: FF 15 5E E4 03 00 - call qword ptr [Application-x64.exe+151318]
"Application-x64.exe"+112EBA: 44 0F 28 C0 - movaps xmm8,xmm0
"Application-x64.exe"+112EBE: 48 8B 87 88 02 00 00 - mov rax,[rdi+00000288]
// ---------- INJECTING HERE ----------
"Application-x64.exe"+112EC5: F3 0F 10 4F 3C - movss xmm1,[rdi+3C]
// ---------- DONE INJECTING ----------
"Application-x64.exe"+112ECA: 0F 2F 48 44 - comiss xmm1,[rax+44]
"Application-x64.exe"+112ECE: 72 0E - jb Application-x64.exe+112EDE
"Application-x64.exe"+112ED0: 48 83 BF 08 02 00 00 00 - cmp qword ptr [rdi+00000208],00
"Application-x64.exe"+112ED8: 75 04 - jne Application-x64.exe+112EDE
"Application-x64.exe"+112EDA: B1 01 - mov cl,01
"Application-x64.exe"+112EDC: EB 02 - jmp Application-x64.exe+112EE0
"Application-x64.exe"+112EDE: 32 C9 - xor cl,cl
"Application-x64.exe"+112EE0: 41 0F 28 C0 - movaps xmm0,xmm8
"Application-x64.exe"+112EE4: F3 0F 59 40 40 - mulss xmm0,[rax+40]
"Application-x64.exe"+112EE9: F3 0F 58 C1 - addss xmm0,xmm1
} -
Application-x64.exe
Версия 1.07 ru (пиратка)
Оказалось очень даже интересно
Возраст жителей хранится как видимое значение делённое на 5 (тип float)
То-есть если жителю 18 лет то 18 делим на 5 и получаем 3.6
Ищем как 4 байта с точкой. Диапазон от 3.4 до 3.8
Собственно скрипт для моей версии
Спойлер[ENABLE]
aobscanmodule(Age,Application-x64.exe,f3xxxxxxxx0f2fxxxx72xx48xxxxxxxxxxxxxx75xxb1)
alloc(newmem,$1000,"Application-x64.exe"+112EC5)
label(return)
registersymbol(Age)newmem:
mov [rdi+3C],(float)3.6
movss xmm1,[rdi+3C]
jmp returnAge:
jmp newmem
return:[DISABLE]
Age:
db F3 0F 10 4F 3C
unregistersymbol(Age)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "Application-x64.exe"+112EC5"Application-x64.exe"+112E94: 0F 29 78 A8 - movaps [rax-58],xmm7
"Application-x64.exe"+112E98: 44 0F 29 40 98 - movaps [rax-68],xmm8
"Application-x64.exe"+112E9D: 48 8B F2 - mov rsi,rdx
"Application-x64.exe"+112EA0: 48 8B F9 - mov rdi,rcx
"Application-x64.exe"+112EA3: 48 8B 1D 2E 0F 0B 00 - mov rbx,[Application-x64.exe+1C3DD8]
"Application-x64.exe"+112EAA: 4C 8B B3 30 01 00 00 - mov r14,[rbx+00000130]
"Application-x64.exe"+112EB1: 48 8B CA - mov rcx,rdx
"Application-x64.exe"+112EB4: FF 15 5E E4 03 00 - call qword ptr [Application-x64.exe+151318]
"Application-x64.exe"+112EBA: 44 0F 28 C0 - movaps xmm8,xmm0
"Application-x64.exe"+112EBE: 48 8B 87 88 02 00 00 - mov rax,[rdi+00000288]
// ---------- INJECTING HERE ----------
"Application-x64.exe"+112EC5: F3 0F 10 4F 3C - movss xmm1,[rdi+3C]
// ---------- DONE INJECTING ----------
"Application-x64.exe"+112ECA: 0F 2F 48 44 - comiss xmm1,[rax+44]
"Application-x64.exe"+112ECE: 72 0E - jb Application-x64.exe+112EDE
"Application-x64.exe"+112ED0: 48 83 BF 08 02 00 00 00 - cmp qword ptr [rdi+00000208],00
"Application-x64.exe"+112ED8: 75 04 - jne Application-x64.exe+112EDE
"Application-x64.exe"+112EDA: B1 01 - mov cl,01
"Application-x64.exe"+112EDC: EB 02 - jmp Application-x64.exe+112EE0
"Application-x64.exe"+112EDE: 32 C9 - xor cl,cl
"Application-x64.exe"+112EE0: 41 0F 28 C0 - movaps xmm0,xmm8
"Application-x64.exe"+112EE4: F3 0F 59 40 40 - mulss xmm0,[rax+40]
"Application-x64.exe"+112EE9: F3 0F 58 C1 - addss xmm0,xmm1
} -
Игра сделана в GameMaker`e посему всё весит на одной инструкции.
Надо работать со стеком и писать всё в один скрипт.
Всё храниться в double.
Дерзай.
Могу подкинуть ссылочку по ломанию этого конструктора
-
Всё в Double и висит всё на одной инструкции
-
У кого норм работает графическое представление памяти,,,
https://drive.google.com/file/d/19suoIXIJzk288S5HNsfnKxxdCxwYO8BY/view?usp=sharing
-
Уберите пакер плиз
Diablo 1 HD mod
in Вопросы по созданию читов в одиночных играх
Опубликовано
Вот