-
Постов
5 750 -
Зарегистрирован
-
Победитель дней
292
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Garik66
-
-
6 минут назад, ShaoShur сказал:
Долго и муторно. Мол изменилось/не изменилось. Получилось 1300 значений. Ну и по половине отсеивал "замораживая" адреса) Муторно
Как в CE это делается понятно, что в игре делал?
-
1 минуту назад, ShaoShur сказал:
Там прилепил картинку. Повесил на "стрелочки" горячие клавиши, увеличивающие и уменьшающие позицию на 150) Я пока даже не пытался в скрипты
Понятно, просто нашел твою инструкцию, чтобы не искать координаты камеры, но она работает с Кило адресов,
А как искал координаты камеры? -
2 минуты назад, ShaoShur сказал:
камера отвязывалась от персонажа и показывала другие области экрана
а как камерой управлял? a и d?
-
В 24.01.2020 в 15:05, ShaoShur сказал:
Комрады привет всем!
Привет!
видео (не свободная камера):}
скрипт:
Спойлер{ Game : DarkDevotion.exe Version: Date : 2020-01-25 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(COORD,DarkDevotion.exe,8B 4F 4C 8B 77 58) // should be unique alloc(newmem,$1000) label(code) label(return) label(T_coord) label(T_flag) registersymbol(T_flag) registersymbol(COORD) newmem: cmp [T_flag],2 je @f mov ecx,[edi+4C] cmp [T_flag],1 jne code mov [T_flag],0 mov [T_coord],ecx jmp code @@: cmp [T_coord],0 je code mov ecx,[T_coord] mov [edi+4C],ecx mov [T_flag],0 code: mov esi,[edi+58] jmp return T_coord: dd 0 T_flag: dd 0 COORD: jmp newmem db 90 return: [DISABLE] COORD: db 8B 4F 4C 8B 77 58 unregistersymbol(T_flag) unregistersymbol(COORD) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "DarkDevotion.exe"+74824 "DarkDevotion.exe"+747FB: 89 88 EC 00 00 00 - mov [eax+000000EC],ecx "DarkDevotion.exe"+74801: 0F B7 47 18 - movzx eax,word ptr [edi+18] "DarkDevotion.exe"+74805: 0D 00 00 F5 FF - or eax,FFF50000 "DarkDevotion.exe"+7480A: 50 - push eax "DarkDevotion.exe"+7480B: 57 - push edi "DarkDevotion.exe"+7480C: E8 7F 08 00 00 - call DarkDevotion.exe+75090 "DarkDevotion.exe"+74811: A1 0C 3C 17 00 - mov eax,[DarkDevotion.exe+103C0C] "DarkDevotion.exe"+74816: 83 C4 08 - add esp,08 "DarkDevotion.exe"+74819: 89 B0 EC 00 00 00 - mov [eax+000000EC],esi "DarkDevotion.exe"+7481F: A1 0C 3C 17 00 - mov eax,[DarkDevotion.exe+103C0C] // ---------- INJECTING HERE ---------- "DarkDevotion.exe"+74824: 8B 4F 4C - mov ecx,[edi+4C] "DarkDevotion.exe"+74827: 8B 77 58 - mov esi,[edi+58] // ---------- DONE INJECTING ---------- "DarkDevotion.exe"+7482A: 8B 7F 5C - mov edi,[edi+5C] "DarkDevotion.exe"+7482D: 8B 90 A8 00 00 00 - mov edx,[eax+000000A8] "DarkDevotion.exe"+74833: 8B C1 - mov eax,ecx "DarkDevotion.exe"+74835: 2B C6 - sub eax,esi "DarkDevotion.exe"+74837: 89 4D F0 - mov [ebp-10],ecx "DarkDevotion.exe"+7483A: 33 C9 - xor ecx,ecx "DarkDevotion.exe"+7483C: 89 55 F8 - mov [ebp-08],edx "DarkDevotion.exe"+7483F: 3B C2 - cmp eax,edx "DarkDevotion.exe"+74841: 8B 45 FC - mov eax,[ebp-04] "DarkDevotion.exe"+74844: 0F 9D C1 - setge cl }
табличку выложил - ТУТ
-
-
4 минуты назад, Pitronic сказал:
непонятки
Вот и у меня теперь непонятки - как ты написал трейнер
-
30 минут назад, Pitronic сказал:
Очень надо
Может нужно почитать?
-
В 13.01.2020 в 21:45, Babyls сказал:
хотел кое что узнать?
Плохо объясняешь.
Лучше напиши:1. С этим адресом работает какая-нибудь инструкция во время игры?
2. Что ты хочешь сделать:2.1 Изменить значение в этом адресе?
Если да и нет инструкции, то делается просто
на любой часто читающей игровой инструкции делаешь инъекцию и записываешь в этот адрес нужное тебе значение.
mov [01002100],a // где a - нужное тебе значение.
-
5 часов назад, vitalijtuz сказал:
Так проблема в том что значение нахожу во float но если заморозить игра вылетает!
ты нашел одно из значений, которое по - коду игры потом скорее всего сверяется и сверяется скорее всего с шифрованным значением - поэтому и вылет.
Нужно искать неизвестное 4 байта, изменилось(это 100 % )/не изменилось (тут уже нужно смотреть игру).
Есть игры. где не изменилось приведет к потери искомого значения. -
15 часов назад, Pitronic сказал:
Нужен такой скрипт
ЗЫ1;
ответ на твой вопрос под спойлером:
Спойлерnewmem: cmp [address],#25 jb code mov [address],#100 //(если > или = 25) code:
- 1
-
ЗЫ:
4. А если равно 25, то что нужно сделать? Нажать Alt + F4?
- 1
-
14 часов назад, Pitronic сказал:
Нужен такой скрипт
1. Название игры.
2. Что за опция (характеристика).3. СЕ-ный скрипт с ЛОГами.
Без вот этих 3-х пунктов, лично я больше отвечать не буду.
Результат таких запросов - простая тема разрастается на несколько страниц.
Ты проде выкладывал несколько трейнеров?
И при этом не можешь написать элементарный скрипт?- 1
-
3 минуты назад, ЛАГАРИУМ сказал:
там нельзя скачивать
Сколько тебе нужно выложить предов, чтобы ты почитал правила форума? ПРАВИЛА
СпойлерПри ответе на какой-либо пост необходимо цитировать только ту часть, на которую дается ответ, но не все сообщение целиком. Это делается для того, чтобы не приходилось проматывать громадные портянки цитат больших сообщений.
Табличка:
-
PS: Табличку выложил здесь ->
-
В 31.12.2019 в 22:53, ЛАГАРИУМ сказал:
Как поточней может сказать ти нашёл невидимость ?
10 часов назад, ЛАГАРИУМ сказал:А как ты вышел на Fallout3.exe+180EF3
Ответы смотри здесь ->
-
1 час назад, Carrion сказал:
Как можно добавлять такой адрес в таблицу при каждом заходе в игру автоматически?
Все \то уже есть и в видосах, и в темах, и в статьях форума.
Вкратце:
1. Сохраняешь rbx с помощью скрипта в переменной.
2. добавляешь адрес в таблицу с поинтером (твоя переменная) и смещением 1С.
3. При активации скрипта из п. 1 и срабатывании твоей инструкции в игре -> в адресе из п. 2 будет нужное тебе значение. -
10 часов назад, Lqer сказал:
Собственно,посоветует кто-то литературу,гайды,уроки и тд по ассемблеру
Начни отсюда, с "Дневников чайника" - ТЫК
-
1 час назад, partoftheworlD сказал:
Хотя лучше потратить чуть больше времени, и восстановить алгоритм получения указателей на блоки, хотя бы до инструкции работающей с массивами и уже на этом куске кода вешать скрипт.
Может трассировкой попробовать?
-
ЗЫ: тогда можно и в приемник писать:
Спойлер[ENABLE] alloc(newmem,2048,"VCRUNTIME140.dll"+122E) label(returnhere) label(code) newmem: repe movsb cmp [flag],1 jne code mov [rdi+2],#50 mov [rdi+c],#21 ////////////// т.д. ////////////// code: pop rsi pop rdi ret jmp returnhere /////////////////////// "VCRUNTIME140.dll"+122E: jmp newmem returnhere: [DISABLE] dealloc(newmem) "VCRUNTIME140.dll"+122E: repe movsb pop rsi pop rdi ret { // ORIGINAL CODE - INJECTION POINT: "VCRUNTIME140.dll"+122E "VCRUNTIME140.dll"+1213: CC - int 3 "VCRUNTIME140.dll"+1214: CC - int 3 "VCRUNTIME140.dll"+1215: CC - int 3 "VCRUNTIME140.dll"+1216: 66 66 0F 1F 84 00 00 00 00 00 - nop [rax+rax+00000000] "VCRUNTIME140.dll"+1220: 57 - push rdi "VCRUNTIME140.dll"+1221: 56 - push rsi "VCRUNTIME140.dll"+1222: 49 8B C3 - mov rax,r11 "VCRUNTIME140.dll"+1225: 48 8B F9 - mov rdi,rcx "VCRUNTIME140.dll"+1228: 49 8B C8 - mov rcx,r8 "VCRUNTIME140.dll"+122B: 49 8B F2 - mov rsi,r10 // ---------- INJECTING HERE ---------- "VCRUNTIME140.dll"+122E: F3 A4 - repe movsb "VCRUNTIME140.dll"+1230: 5E - pop rsi "VCRUNTIME140.dll"+1231: 5F - pop rdi "VCRUNTIME140.dll"+1232: C3 - ret // ---------- DONE INJECTING ---------- "VCRUNTIME140.dll"+1233: CC - int 3 "VCRUNTIME140.dll"+1234: CC - int 3 "VCRUNTIME140.dll"+1235: CC - int 3 "VCRUNTIME140.dll"+1236: CC - int 3 "VCRUNTIME140.dll"+1237: CC - int 3 "VCRUNTIME140.dll"+1238: CC - int 3 "VCRUNTIME140.dll"+1239: 0F 1F 80 00 00 00 00 - nop [rax+00000000] "VCRUNTIME140.dll"+1240: 4C 8B D9 - mov r11,rcx "VCRUNTIME140.dll"+1243: 4C 8B D2 - mov r10,rdx "VCRUNTIME140.dll"+1246: 49 83 F8 10 - cmp r8,10 }
-
Только что, Antonshka сказал:
Например из 1000 адресов, только 10 нужно отключить на время.
Не ну, если 10 тогда можно просто вручную их прописать. это не сложно
-
3 минуты назад, Antonshka сказал:
А идея отличная у тебя, если бы не ассинхронизация, я бы её и использовал.
Хотя не, скорее всего яне смогу это реализовать, я не знаю сколько у тебя адресов, в какой они очередности.
В источник (именно) по-идее можно будет записать, отключив на время repe movsbСпойлер[ENABLE] alloc(newmem,2048,"VCRUNTIME140.dll"+122E) label(returnhere) label(code) newmem: cmp [flag],1 // флаг объявить и регулировать в своём скрипте с потоком je code // при флаге = 1 записать в источник нужные данные repe movsb // как все запишется (флаг = 0) пропустить эту инструкцию. code: pop rsi pop rdi ret jmp returnhere /////////////////////// "VCRUNTIME140.dll"+122E: jmp newmem returnhere: [DISABLE] dealloc(newmem) "VCRUNTIME140.dll"+122E: repe movsb pop rsi pop rdi ret { // ORIGINAL CODE - INJECTION POINT: "VCRUNTIME140.dll"+122E "VCRUNTIME140.dll"+1213: CC - int 3 "VCRUNTIME140.dll"+1214: CC - int 3 "VCRUNTIME140.dll"+1215: CC - int 3 "VCRUNTIME140.dll"+1216: 66 66 0F 1F 84 00 00 00 00 00 - nop [rax+rax+00000000] "VCRUNTIME140.dll"+1220: 57 - push rdi "VCRUNTIME140.dll"+1221: 56 - push rsi "VCRUNTIME140.dll"+1222: 49 8B C3 - mov rax,r11 "VCRUNTIME140.dll"+1225: 48 8B F9 - mov rdi,rcx "VCRUNTIME140.dll"+1228: 49 8B C8 - mov rcx,r8 "VCRUNTIME140.dll"+122B: 49 8B F2 - mov rsi,r10 // ---------- INJECTING HERE ---------- "VCRUNTIME140.dll"+122E: F3 A4 - repe movsb "VCRUNTIME140.dll"+1230: 5E - pop rsi "VCRUNTIME140.dll"+1231: 5F - pop rdi "VCRUNTIME140.dll"+1232: C3 - ret // ---------- DONE INJECTING ---------- "VCRUNTIME140.dll"+1233: CC - int 3 "VCRUNTIME140.dll"+1234: CC - int 3 "VCRUNTIME140.dll"+1235: CC - int 3 "VCRUNTIME140.dll"+1236: CC - int 3 "VCRUNTIME140.dll"+1237: CC - int 3 "VCRUNTIME140.dll"+1238: CC - int 3 "VCRUNTIME140.dll"+1239: 0F 1F 80 00 00 00 00 - nop [rax+00000000] "VCRUNTIME140.dll"+1240: 4C 8B D9 - mov r11,rcx "VCRUNTIME140.dll"+1243: 4C 8B D2 - mov r10,rdx "VCRUNTIME140.dll"+1246: 49 83 F8 10 - cmp r8,10 }
Короче нужно тестить.
Чёй-то у меня голова не варит. :) -
1 минуту назад, Antonshka сказал:
Мой собственный поток это будет просто обычная инструкция MOV и переменная счетчик.
Это понятно.
Выложи скрипт СЕ рядом с
VCRUNTIME140.memcmp+EE - F3 A4 - repe movsb
попробую свою мысль скриптом выразить. а то писать долго.
-
Вот куда-то сюда м/у
VCRUNTIME140.memcmp+EE - F3 A4 - repe movsb VCRUNTIME140.memcmp+F0 - 5E - pop rsi
-
зы: в приемник можно записать после отработки цикла Repe movsb
[DarkDevotion] Поиск статичного указателя для камеры
in Вопросы по созданию читов в одиночных играх
Опубликовано
алт таб - понятно.
Попробую помочь