Garik66 Опубликовано 3 июня, 2017 Поделиться Опубликовано 3 июня, 2017 Скрипт: Скрытый текст { Game : DARKSOULS.exe Version: Date : 2017-06-03 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(INJECT,DARKSOULS.exe,F3 0F 7E 40 10 8B 16) // should be unique alloc(newmem,$1000) label(code) label(return) label(X) // Для других координат повторить label(Y) label(Z) label(Load) label(flag) registersymbol(flag) registersymbol(INJECT) newmem: cmp [flag],1 // При 1 считываем координаты jne Load mov edx,[eax+10] mov [X],edx mov edx,[eax+14] mov [Z],edx mov edx,[eax+18] mov [Y],edx jmp code Load: cmp [X],0 // Защита от телепорта на нулевые координаты je code cmp [flag],2 // При 2 записываем координаты jne code mov edx,[X] mov [eax+10],edx mov edx,[Z] mov [eax+14],edx mov edx,[Y] mov [eax+18],edx code: mov [flag],0 // Чтобы записать/чтение происходило один раз. movq xmm0,[eax+10] jmp return X: dd 0 Y: dd 0 Z: dd 0 flag: dd 0 INJECT: jmp newmem return: [DISABLE] INJECT: db F3 0F 7E 40 10 unregistersymbol(flag) unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "DARKSOULS.exe"+96CC1A "DARKSOULS.exe"+96CBFF: 74 45 - je DARKSOULS.exe+96CC46 "DARKSOULS.exe"+96CC01: 8B 70 10 - mov esi,[eax+10] "DARKSOULS.exe"+96CC04: 85 F6 - test esi,esi "DARKSOULS.exe"+96CC06: 74 3E - je DARKSOULS.exe+96CC46 "DARKSOULS.exe"+96CC08: 8B 45 08 - mov eax,[ebp+08] "DARKSOULS.exe"+96CC0B: E8 10 E4 FF FF - call DARKSOULS.exe+96B020 "DARKSOULS.exe"+96CC10: 85 C0 - test eax,eax "DARKSOULS.exe"+96CC12: 74 32 - je DARKSOULS.exe+96CC46 "DARKSOULS.exe"+96CC14: 8B 40 28 - mov eax,[eax+28] "DARKSOULS.exe"+96CC17: 8B 40 1C - mov eax,[eax+1C] // ---------- INJECTING HERE ---------- "DARKSOULS.exe"+96CC1A: F3 0F 7E 40 10 - movq xmm0,[eax+10] // ---------- DONE INJECTING ---------- "DARKSOULS.exe"+96CC1F: 8B 16 - mov edx,[esi] "DARKSOULS.exe"+96CC21: 8B 52 08 - mov edx,[edx+08] "DARKSOULS.exe"+96CC24: 66 0F D6 44 24 10 - movq [esp+10],xmm0 "DARKSOULS.exe"+96CC2A: F3 0F 7E 40 18 - movq xmm0,[eax+18] "DARKSOULS.exe"+96CC2F: 8D 44 24 10 - lea eax,[esp+10] "DARKSOULS.exe"+96CC33: 50 - push eax "DARKSOULS.exe"+96CC34: 8B CE - mov ecx,esi "DARKSOULS.exe"+96CC36: 66 0F D6 44 24 1C - movq [esp+1C],xmm0 "DARKSOULS.exe"+96CC3C: FF D2 - call edx "DARKSOULS.exe"+96CC3E: 5E - pop esi } Видео: Таблица: DARKSOULS_03062017.CT 6 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 4 июня, 2017 Автор Поделиться Опубликовано 4 июня, 2017 ЗЫ: Забыл добавить защиту от случайного нажатия пользователем на 2 (телепорт), без предварительной записи координат (1) -> поправил в скрипте, табличку перезалил. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 4 июня, 2017 Автор Поделиться Опубликовано 4 июня, 2017 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 22 августа, 2017 Автор Поделиться Опубликовано 22 августа, 2017 Телепорт на много точек Скрипт "Teleport Many Points": Скрытый текст { Game : DARKSOULS.exe Version: Date : 2017-06-03 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(INJECT,DARKSOULS.exe,F3 0F 7E 40 10 8B 16) // should be unique alloc(newmem,$1000) label(code) label(return) alloc(X,$400) alloc(Y,$400) alloc(Z,$400) label(Load) label(FlagSave) registersymbol(FlagSave) label(FlagLoad) registersymbol(FlagLoad) registersymbol(INJECT) newmem: push ebx cmp [FlagSave],0 je Load mov ebx,[FlagSave] dec ebx mov edx,[eax+10] mov [X+ebx*4],edx mov edx,[eax+14] mov [Z+ebx*4],edx mov edx,[eax+18] mov [Y+ebx*4],edx mov [FlagSave],0 // Для того, чтобы было один раз. jmp code Load: cmp [FlagLoad],0 je code mov ebx,[FlagLoad] dec ebx cmp [X+ebx*4],0 // Защита от телепорта на нулевые координаты je code mov edx,[X+ebx*4] mov [eax+10],edx mov edx,[Z+ebx*4] mov [eax+14],edx mov edx,[Y+ebx*4] mov [eax+18],edx mov [FlagLoad],0 // Для того, чтобы было один раз. code: pop ebx movq xmm0,[eax+10] jmp return FlagSave: dd 0 FlagLoad: dd 0 INJECT: jmp newmem return: [DISABLE] INJECT: db F3 0F 7E 40 10 unregistersymbol(FlagSave) unregistersymbol(FlagLoad) unregistersymbol(INJECT) dealloc(X) dealloc(Y) dealloc(Z) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "DARKSOULS.exe"+96CC1A "DARKSOULS.exe"+96CBFF: 74 45 - je DARKSOULS.exe+96CC46 "DARKSOULS.exe"+96CC01: 8B 70 10 - mov esi,[eax+10] "DARKSOULS.exe"+96CC04: 85 F6 - test esi,esi "DARKSOULS.exe"+96CC06: 74 3E - je DARKSOULS.exe+96CC46 "DARKSOULS.exe"+96CC08: 8B 45 08 - mov eax,[ebp+08] "DARKSOULS.exe"+96CC0B: E8 10 E4 FF FF - call DARKSOULS.exe+96B020 "DARKSOULS.exe"+96CC10: 85 C0 - test eax,eax "DARKSOULS.exe"+96CC12: 74 32 - je DARKSOULS.exe+96CC46 "DARKSOULS.exe"+96CC14: 8B 40 28 - mov eax,[eax+28] "DARKSOULS.exe"+96CC17: 8B 40 1C - mov eax,[eax+1C] // ---------- INJECTING HERE ---------- "DARKSOULS.exe"+96CC1A: F3 0F 7E 40 10 - movq xmm0,[eax+10] // ---------- DONE INJECTING ---------- "DARKSOULS.exe"+96CC1F: 8B 16 - mov edx,[esi] "DARKSOULS.exe"+96CC21: 8B 52 08 - mov edx,[edx+08] "DARKSOULS.exe"+96CC24: 66 0F D6 44 24 10 - movq [esp+10],xmm0 "DARKSOULS.exe"+96CC2A: F3 0F 7E 40 18 - movq xmm0,[eax+18] "DARKSOULS.exe"+96CC2F: 8D 44 24 10 - lea eax,[esp+10] "DARKSOULS.exe"+96CC33: 50 - push eax "DARKSOULS.exe"+96CC34: 8B CE - mov ecx,esi "DARKSOULS.exe"+96CC36: 66 0F D6 44 24 1C - movq [esp+1C],xmm0 "DARKSOULS.exe"+96CC3C: FF D2 - call edx "DARKSOULS.exe"+96CC3E: 5E - pop esi } Видео: Табличка - здесь. 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 16 января, 2018 Поделиться Опубликовано 16 января, 2018 (изменено) А как сделать телепорт через выпадающий список ? Точнее как будет правильно его сделать ? Хочу вбить координаты, что бы по ним потом быстро телепортироватся через выпадающий список. Что то такого плана Скрытый текст Изменено 16 января, 2018 пользователем DeadCraft Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 16 января, 2018 Поделиться Опубликовано 16 января, 2018 2 часа назад, DeadCraft сказал: Хочу вбить координаты, что бы по ним потом быстро телепортироватся А как ты угадаешь, что координаты правильные и ты сквозь текстуру после телепорта не провалишься? Ссылка на комментарий Поделиться на другие сайты Поделиться
MParker Опубликовано 16 января, 2018 Поделиться Опубликовано 16 января, 2018 16 минут назад, Xipho сказал: А как ты угадаешь, что координаты правильные и ты сквозь текстуру после телепорта не провалишься? Добавить проверку на результат вызова функции расчета коллизии. Она же постоянно вычисляется, если добавить свои координаты и вызывать функцию, то получим что-то типа 1 за пределами карты, 0 в пределах карты. Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 16 января, 2018 Поделиться Опубликовано 16 января, 2018 29 минут назад, Xipho сказал: А как ты угадаешь, что координаты правильные и ты сквозь текстуру после телепорта не провалишься? Так есть же координаты X Y Z, я их сохраню на точке которой надо. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 16 января, 2018 Автор Поделиться Опубликовано 16 января, 2018 3 часа назад, DeadCraft сказал: А как сделать телепорт через выпадающий список ? Скрипт: Скрытый текст { Game : DARKSOULS.exe Version: Date : 2017-06-03 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(INJECT,DARKSOULS.exe,F3 0F 7E 40 10 8B 16) // should be unique alloc(newmem,$1000) label(code) label(return) alloc(X,$400) alloc(Y,$400) alloc(Z,$400) label(Load) label(FlagSave) registersymbol(FlagSave) label(FlagSave1) registersymbol(FlagSave1) label(FlagLoad) registersymbol(FlagLoad) registersymbol(INJECT) newmem: push ebx cmp [FlagSave],0 je @f mov ebx,[FlagSave] dec ebx mov edx,[eax+10] mov [X+ebx*4],edx mov edx,[eax+14] mov [Z+ebx*4],edx mov edx,[eax+18] mov [Y+ebx*4],edx mov [FlagSave],0 // Для того, чтобы было один раз. jmp code @@: // 1 точка - FireLink cmp [FlagSave1],1 jne @f mov ebx,[FlagSave1] dec ebx mov [X+ebx*4],(float)-51.62 mov [Z+ebx*4],(float)-60.58 mov [Y+ebx*4],(float)54.44 mov [FlagSave1],0 // Для того, чтобы было один раз. jmp code @@: // 2 точка - Screw cmp [FlagSave1],2 jne @f mov ebx,[FlagSave1] dec ebx mov [X+ebx*4],(float)-24.38 mov [Z+ebx*4],(float)-51.54 mov [Y+ebx*4],(float)107.53 mov [FlagSave1],0 // Для того, чтобы было один раз. jmp code @@: // 3 точка - Soul cmp [FlagSave1],3 jne Load mov ebx,[FlagSave1] dec ebx mov [X+ebx*4],(float)18.11 mov [Z+ebx*4],(float)-157.35 mov [Y+ebx*4],(float)75.00 mov [FlagSave1],0 // Для того, чтобы было один раз. jmp code Load: cmp [FlagLoad],0 je code mov ebx,[FlagLoad] dec ebx cmp [X+ebx*4],0 // Защита от телепорта на нулевые координаты je code mov edx,[X+ebx*4] mov [eax+10],edx mov edx,[Z+ebx*4] mov [eax+14],edx mov edx,[Y+ebx*4] mov [eax+18],edx mov [FlagLoad],0 // Для того, чтобы было один раз. code: pop ebx movq xmm0,[eax+10] jmp return FlagSave: dd 0 FlagSave1: dd 0 FlagLoad: dd 0 INJECT: jmp newmem return: [DISABLE] INJECT: db F3 0F 7E 40 10 unregistersymbol(FlagSave) unregistersymbol(FlagSave1) unregistersymbol(FlagLoad) unregistersymbol(INJECT) dealloc(X) dealloc(Y) dealloc(Z) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "DARKSOULS.exe"+96CC1A "DARKSOULS.exe"+96CBFF: 74 45 - je DARKSOULS.exe+96CC46 "DARKSOULS.exe"+96CC01: 8B 70 10 - mov esi,[eax+10] "DARKSOULS.exe"+96CC04: 85 F6 - test esi,esi "DARKSOULS.exe"+96CC06: 74 3E - je DARKSOULS.exe+96CC46 "DARKSOULS.exe"+96CC08: 8B 45 08 - mov eax,[ebp+08] "DARKSOULS.exe"+96CC0B: E8 10 E4 FF FF - call DARKSOULS.exe+96B020 "DARKSOULS.exe"+96CC10: 85 C0 - test eax,eax "DARKSOULS.exe"+96CC12: 74 32 - je DARKSOULS.exe+96CC46 "DARKSOULS.exe"+96CC14: 8B 40 28 - mov eax,[eax+28] "DARKSOULS.exe"+96CC17: 8B 40 1C - mov eax,[eax+1C] // ---------- INJECTING HERE ---------- "DARKSOULS.exe"+96CC1A: F3 0F 7E 40 10 - movq xmm0,[eax+10] // ---------- DONE INJECTING ---------- "DARKSOULS.exe"+96CC1F: 8B 16 - mov edx,[esi] "DARKSOULS.exe"+96CC21: 8B 52 08 - mov edx,[edx+08] "DARKSOULS.exe"+96CC24: 66 0F D6 44 24 10 - movq [esp+10],xmm0 "DARKSOULS.exe"+96CC2A: F3 0F 7E 40 18 - movq xmm0,[eax+18] "DARKSOULS.exe"+96CC2F: 8D 44 24 10 - lea eax,[esp+10] "DARKSOULS.exe"+96CC33: 50 - push eax "DARKSOULS.exe"+96CC34: 8B CE - mov ecx,esi "DARKSOULS.exe"+96CC36: 66 0F D6 44 24 1C - movq [esp+1C],xmm0 "DARKSOULS.exe"+96CC3C: FF D2 - call edx "DARKSOULS.exe"+96CC3E: 5E - pop esi } Видео: Табличка: DARKSOULS_220817.CT 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 16 января, 2018 Автор Поделиться Опубликовано 16 января, 2018 4 минуты назад, DeadCraft сказал: Так есть же координаты X Y Z, я их сохраню на точке которой надо. Подожди видео. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
DeadCraft Опубликовано 16 января, 2018 Поделиться Опубликовано 16 января, 2018 В очередной раз спасибо ! То что надо. Концовка видео эпичная 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
IX8 Опубликовано 2 августа, 2020 Поделиться Опубликовано 2 августа, 2020 Я не могу понять как он понял что это *Соответственно +10 а это +14 Время на видео 22:23https://www.youtube.com/watch?time_continue=319&v=8RmtjjuDnAY&feature=emb_logo Подскажите пожалуйста. Мои данны вот.https://i.imgur.com/TwBhRZB.png Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 2 августа, 2020 Автор Поделиться Опубликовано 2 августа, 2020 1 час назад, IX8 сказал: Я не могу понять как он понял что это *Соответственно +10 а это +14 Время на видео 22:23 По 4 байта - размер координат. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения