Garik66 Опубликовано 14 июля, 2016 Автор Поделиться Опубликовано 14 июля, 2016 В 14.07.2016 в 14:57, ZoraVl сказал: Могу записать видео как сделать топор в начале игры, если хочешь) Показать Да не зачем. Я в неё играть всё-равно не буду. А видео по крафту и прохождение - думаю полный ТЮБ, т.е. куча. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 14 июля, 2016 Поделиться Опубликовано 14 июля, 2016 (изменено) В 14.07.2016 в 14:58, Garik66 сказал: Да не зачем. Я в неё играть всё-равно не буду. А видео по крафту и прохождение - думаю полный ТЮБ, т.е. куча. Показать Ну короче что-бы сделать первый инструмент тоесть топор, нужно подойти к дереву постучать по нему, подойти к камню постучать по нему и постучать по траве... лучше включить скрипт для ломания с одного удара... дальше нажимаешь ТАВ и там белым цветом будет Stone Axe это каменный топор, нажимаешь на него и нажимаешь Craft (собрать)... Вуаля Изменено 14 июля, 2016 пользователем ZoraVl Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 июля, 2016 Автор Поделиться Опубликовано 14 июля, 2016 ZoraVI, извиняй - сегодня точно уже не получиться покопаться в игре. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 В 14.07.2016 в 17:41, Garik66 сказал: ZoraVI, извиняй - сегодня точно уже не получиться покопаться в игре. Показать Да ладно мне не к спеху) Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 В 14.07.2016 в 17:41, Garik66 сказал: ZoraVI, извиняй - сегодня точно уже не получиться покопаться в игре. Показать Короче спасибо большое!!! Я разобрался как сделать фильтр!!! Урааа!=)))) P.S мой ник читается как ЗораВЛ - ударение на О, а вл это Влад =) Спасибо за твои уроки! 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 В 15.07.2016 в 02:25, ZoraVl сказал: P.S мой ник читается как ЗораВЛ Показать Я думал просто ЖОРА прям похоже. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 В 15.07.2016 в 05:49, LIRW сказал: Я думал просто ЖОРА прям похоже. Показать Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 июля, 2016 Автор Поделиться Опубликовано 15 июля, 2016 В 15.07.2016 в 02:25, ZoraVl сказал: мой ник читается как ЗораВЛ Показать А я подумал, что Зорро 6. В 15.07.2016 в 02:25, ZoraVl сказал: Короче спасибо большое!!! Я разобрался как сделать фильтр!!! Урааа!=)))) Показать Молодца!!! Удачного дальнейшего взлома!!! 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 А я вообще почему-то подумал, что "ЖураВЛь" Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 (изменено) В 15.07.2016 в 08:22, Garik66 сказал: А я подумал, что Зорро 6. Молодца!!! Удачного дальнейшего взлома!!! Показать Можешь рассказать что означают функции в твоем скриптке GodMod? Я в коде отмечу какие. Показать контент { Game : 7DaysToDie.exe Version: лицензия Steam Alpha 14.7 (64bit) Date : 2016-07-10 Author : Garik66 This script does blah blah blah } [ENABLE] aobscan(Pointer,48 8B 46 18 F3 0F 10 45 CC) // should be unique aobscan(GodMod,F3 0F 11 6E 24 48 8B CE) alloc(newmem,$1000,2A0C488C) label(code) label(return) label(Health) label(Wilness) label(Stamina) label(code1) label(return1) label(newmem1) registersymbol(Health) registersymbol(Stamina) registersymbol(Pointer) registersymbol(Wilness) registersymbol(GodMod) newmem: mov ecx,[rsi+10] mov [Health],ecx mov ecx,[rsi+18] mov [Stamina],ecx mov ecx,[rsi+38] mov [Wilness],ecx code: mov rax,[rsi+18] movss xmm0,[rbp-34] jmp return Health: dq (double)0 Stamina: dq (double)0 Wilness: dq (double)0 newmem1: mov rcx,[Health] cmp rcx,rsi je @f // Что делает эта фукция? mov rcx,[Stamina] cmp rcx,rsi je @f // Что делает эта фукция? mov rcx,[Wilness] cmp rcx,rsi je @f // Что делает эта фукция? jmp return1 @@: fld [rsi+20] // Что делает эта фукция? fstp [rsi+24] // Что делает эта фукция? jmp return1 code1: movss [rsi+24],xmm5 jmp return1 Pointer: jmp newmem db 90 90 90 90 return: GodMod: jmp newmem1 return1: [DISABLE] Pointer: db 48 8B 46 18 F3 0F 10 45 CC GodMod: db F3 0F 11 6E 24 unregistersymbol(Health) unregistersymbol(Stamina) unregistersymbol(Pointer) unregistersymbol(GodMod) unregistersymbol(Wilness) dealloc(newmem) Код я переделал немного, добавил Wilness, это отвечает за максимальное здоровье и стамину... Еще мне интересно почему ты записал db 90 90 90 90 где Pointer, ну тоесть зачем это? и чем отличается db от dq и почему ты написал dq (bouble) а не dq (float) Изменено 15 июля, 2016 пользователем ZoraVl 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 июля, 2016 Автор Поделиться Опубликовано 15 июля, 2016 В 15.07.2016 в 11:23, ZoraVl сказал: je @f // Что делает эта фукция? Показать je - если в предыдущем сравнение значения в регистре и адресе равны то прыгаем на ..... @f - короткий прыжок (условный переход) вперёд (от английского forward - вперёд) на ближайшую безымянную метку @@, может быть ещё @b - короткий прыжок назад (от английского back - назад). В чём преимущество использования безымянных меток @@: их ненужно объявлять, и их может быть сколько угодно в скрипте. В 15.07.2016 в 11:23, ZoraVl сказал: fld [rsi+20] // Что делает эта фукция? fstp [rsi+24] // Что делает эта фукция? Показать fld - загружает в верхний регистр FPU значение из адреса (в нашем случае [rsi+20]) сдвигая значения в регистрах. fst - выгружает из регистра в память без сдвига. fstp - выгружает из регистра в память со сдвигом назад (т.е. в нашем случае мы восстановили значения регистров на игровые на всякий случай). Т.е. код: fld [rsi+20] fstp [rsi+24] нам позволил передать значение из памяти в память, т.к. напрямую этого делать нельзя. Подробнее по работе с вещественными числами - погугли и почитай, больше поймёшь. В 15.07.2016 в 11:23, ZoraVl сказал: Еще мне интересно почему ты записал db 90 90 90 90 где Pointer, ну тоесть зачем это? Показать 90 - это тот же опкод nop, в нашем случае служит для выравнивания, т.е. 5 байт (jmp newmem) + 4 байта (4 nop или 90 90 90 90) = 9 байт (48 8B 46 18 F3 0F 10 45 CC - смотри ниже это байты оригинальной инструкции игры, с которой мы делаем прыжок (переход) на нашу инъекцию.) В 15.07.2016 в 11:23, ZoraVl сказал: и чем отличается db от dq и почему ты написал dq (bouble) а не dq (float) Показать db - от английского define byte (определить байт) dw - word (слово - два байта) dd - double word (двойное слово - 4 байта) - если значение вещественное то пишем float в скобках. dq - quadr worrd (учетверённое слово - 8 байт) ставим double, т.е. получаем удвоенное двойное слово. Об этом всём тоже лучше погуглить и почитать поподробнее. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 июля, 2016 Автор Поделиться Опубликовано 15 июля, 2016 ЗЫ: В 15.07.2016 в 11:23, ZoraVl сказал: Можешь рассказать что означают функции в твоем скриптке GodMod? Я в коде отмечу какие. Показать Молодец!!! Я тебе об этом как раз и говорил во втором видео, что нужно апгрейдить скрипт, так как максимальное (скорее всего это не максимальное значение, я имею ввиду, которое по смещению +20, а предыдущее значение) значение здоровья падает. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 июля, 2016 Автор Поделиться Опубликовано 15 июля, 2016 ЗЫ1: ZoraVl, а с голодом и жаждой разобрался? Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 В 15.07.2016 в 12:42, Garik66 сказал: ЗЫ1: ZoraVl, а с голодом и жаждой разобрался? Показать Нет, я значение найти не как не могу.... Пробовал и отнимать и прибавлять, и в структуре капался... Без толку... Вот скрипты котоорые я сделал: •качество оружия бесконечное •бесконечные патроны •очки улучшения скиллов •всегда день •быстрый крафт Ну и остальные твои, год мод и дамаг... В 15.07.2016 в 12:12, Garik66 сказал: je - если в предыдущем сравнение значения в регистре и адресе равны то прыгаем на ..... @f - короткий прыжок (условный переход) вперёд (от английского forward - вперёд) на ближайшую безымянную метку @@, может быть ещё @b - короткий прыжок назад (от английского back - назад). В чём преимущество использования безымянных меток @@: их ненужно объявлять, и их может быть сколько угодно в скрипте. fld - загружает в верхний регистр FPU значение из адреса (в нашем случае [rsi+20]) сдвигая значения в регистрах. fst - выгружает из регистра в память без сдвига. fstp - выгружает из регистра в память со сдвигом назад (т.е. в нашем случае мы восстановили значения регистров на игровые на всякий случай). Т.е. код: fld [rsi+20] fstp [rsi+24] нам позволил передать значение из памяти в память, т.к. напрямую этого делать нельзя. Подробнее по работе с вещественными числами - погугли и почитай, больше поймёшь. 90 - это тот же опкод nop, в нашем случае служит для выравнивания, т.е. 5 байт (jmp newmem) + 4 байта (4 nop или 90 90 90 90) = 9 байт (48 8B 46 18 F3 0F 10 45 CC - смотри ниже это байты оригинальной инструкции игры, с которой мы делаем прыжок (переход) на нашу инъекцию.) db - от английского define byte (определить байт) dw - word (слово - два байта) dd - double word (двойное слово - 4 байта) - если значение вещественное то пишем float в скобках. dq - quadr worrd (учетверённое слово - 8 байт) ставим double, т.е. получаем удвоенное двойное слово. Об этом всём тоже лучше погуглить и почитать поподробнее. Показать Спасибо большое за объяснения! Теперь намного понятнее что да как!:) Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 июля, 2016 Автор Поделиться Опубликовано 15 июля, 2016 (изменено) В 15.07.2016 в 14:52, ZoraVl сказал: Нет, я значение найти не как не могу.... Пробовал и отнимать и прибавлять, и в структуре капался... Без толку... Показать Да разрабы хитрые ребята. А в 4 байтах поискать не пробовал? (Ну не во float т .е.) Скрипт "Hunger and thirst (Голод и жажда)": Показать контент { Game : 7DaysToDie.exe Version: Date : 2016-07-15 Author : Garik66 This script does blah blah blah } [ENABLE] aobscan(WATER,89 47 10 48 63 4F 14) // should be unique alloc(newmem,$1000,2E86DC17) label(code) label(return) registersymbol(WATER) newmem: mov eax,[rdi+14] // проверь может лучше поставить [rdi+18] code: mov [rdi+10],eax movsxd rcx,dword ptr [rdi+14] jmp return WATER: jmp newmem DB 90 90 return: [DISABLE] WATER: db 89 47 10 48 63 4F 14 unregistersymbol(WATER) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2E86DC17 2E86DBFC: 00 00 - add [rax],al 2E86DBFE: 00 00 - add [rax],al 2E86DC00: 55 - push rbp 2E86DC01: 48 8B EC - mov rbp,rsp 2E86DC04: 57 - push rdi 2E86DC05: 48 83 EC 18 - sub rsp,18 2E86DC09: 48 8B F9 - mov rdi,rcx 2E86DC0C: 48 89 55 E8 - mov [rbp-18],rdx 2E86DC10: 48 63 47 10 - movsxd rax,dword ptr [rdi+10] 2E86DC14: 03 45 E8 - add eax,[rbp-18] // ---------- INJECTING HERE ---------- 2E86DC17: 89 47 10 - mov [rdi+10],eax 2E86DC1A: 48 63 4F 14 - movsxd rcx,dword ptr [rdi+14] // ---------- DONE INJECTING ---------- 2E86DC1E: 3B C1 - cmp eax,ecx 2E86DC20: 0F 8E 75 00 00 00 - jng 2E86DC9B 2E86DC26: B8 01 00 00 00 - mov eax,00000001 2E86DC2B: 83 F8 01 - cmp eax,01 2E86DC2E: B8 01 00 00 00 - mov eax,00000001 2E86DC33: 85 C0 - test eax,eax 2E86DC35: F3 0F 10 47 1C - movss xmm0,[rdi+1C] 2E86DC3A: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 2E86DC3E: 48 63 47 10 - movsxd rax,dword ptr [rdi+10] 2E86DC42: 48 63 4F 14 - movsxd rcx,dword ptr [rdi+14] } MAX значение не равно 100, а равно 72. В структуре этой инструкции: [rdi+10] - текущее значение голода (жажды). [rdi+14] - я выбрал это значение за MAX, но нужно тестить скрипт в игре, может лучше следующее смещение взять. [rdi+18] - вот это. Потесть. Видео записывать не буду, вроде ничего сложного. Изменено 15 июля, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 июля, 2016 Автор Поделиться Опубликовано 15 июля, 2016 ЗЫ: ZoraVl, игрушку я сношу (надоел мне этот английский, ни хрена не понимаю ни что делать, никак делать, а без понимания весь интерес к игре теряется), но, если сделают поддержку на русском разрабы, либо фанаты опять начнут переводить, то может и поиграю (вроде интересно должно быть повыживать, но конечно же без читов). Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 В 15.07.2016 в 17:51, Garik66 сказал: ЗЫ: ZoraVl, игрушку я сношу (надоел мне этот английский, ни хрена не понимаю ни что делать, никак делать, а без понимания весь интерес к игре теряется), но, если сделают поддержку на русском разрабы, либо фанаты опять начнут переводить, то может и поиграю (вроде интересно должно быть повыживать, но конечно же без читов). Показать На лицензии которая в стиме продается, там есть русификатор от фанатов, в руководствах... Можешь глянуть вот тут Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 В 15.07.2016 в 17:44, Garik66 сказал: Да разрабы хитрые ребята. А в 4 байтах поискать не пробовал? (Ну не во float т .е.) Скрипт "Hunger and thirst (Голод и жажда)": Показать контент { Game : 7DaysToDie.exe Version: Date : 2016-07-15 Author : Garik66 This script does blah blah blah } [ENABLE] aobscan(WATER,89 47 10 48 63 4F 14) // should be unique alloc(newmem,$1000,2E86DC17) label(code) label(return) registersymbol(WATER) newmem: mov eax,[rdi+14] // проверь может лучше поставить [rdi+18] code: mov [rdi+10],eax movsxd rcx,dword ptr [rdi+14] jmp return WATER: jmp newmem DB 90 90 return: [DISABLE] WATER: db 89 47 10 48 63 4F 14 unregistersymbol(WATER) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 2E86DC17 2E86DBFC: 00 00 - add [rax],al 2E86DBFE: 00 00 - add [rax],al 2E86DC00: 55 - push rbp 2E86DC01: 48 8B EC - mov rbp,rsp 2E86DC04: 57 - push rdi 2E86DC05: 48 83 EC 18 - sub rsp,18 2E86DC09: 48 8B F9 - mov rdi,rcx 2E86DC0C: 48 89 55 E8 - mov [rbp-18],rdx 2E86DC10: 48 63 47 10 - movsxd rax,dword ptr [rdi+10] 2E86DC14: 03 45 E8 - add eax,[rbp-18] // ---------- INJECTING HERE ---------- 2E86DC17: 89 47 10 - mov [rdi+10],eax 2E86DC1A: 48 63 4F 14 - movsxd rcx,dword ptr [rdi+14] // ---------- DONE INJECTING ---------- 2E86DC1E: 3B C1 - cmp eax,ecx 2E86DC20: 0F 8E 75 00 00 00 - jng 2E86DC9B 2E86DC26: B8 01 00 00 00 - mov eax,00000001 2E86DC2B: 83 F8 01 - cmp eax,01 2E86DC2E: B8 01 00 00 00 - mov eax,00000001 2E86DC33: 85 C0 - test eax,eax 2E86DC35: F3 0F 10 47 1C - movss xmm0,[rdi+1C] 2E86DC3A: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 2E86DC3E: 48 63 47 10 - movsxd rax,dword ptr [rdi+10] 2E86DC42: 48 63 4F 14 - movsxd rcx,dword ptr [rdi+14] } MAX значение не равно 100, а равно 72. В структуре этой инструкции: [rdi+10] - текущее значение голода (жажды). [rdi+14] - я выбрал это значение за MAX, но нужно тестить скрипт в игре, может лучше следующее смещение взять. [rdi+18] - вот это. Потесть. Видео записывать не буду, вроде ничего сложного. Показать Хорошо спасибо, я полазию посмотрю может что найду Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 июля, 2016 Автор Поделиться Опубликовано 15 июля, 2016 (изменено) В 15.07.2016 в 19:04, ZoraVl сказал: Хорошо спасибо, я полазию посмотрю может что найду Показать ZoraVl, ты видимо не понял, сам скрипт потестируй в игре. Изменено 15 июля, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 15 июля, 2016 Поделиться Опубликовано 15 июля, 2016 К сожалению, трейнер делать нет желания. Просто приведу исследование. Все игры сделанные на Unity интересно ломать на высоком уровне. Взлом здоровья и стамины на высоком уровне Показать контент using UnityEngine; public class Cheat7DaysToDie : MonoBehaviour { EntityPlayerLocal entityPlayerLocal; void Update() { if(entityPlayerLocal == null){ entityPlayerLocal = GameObject.FindObjectOfType(typeof(EntityPlayerLocal)) as EntityPlayerLocal; return; } if(entityPlayerLocal == null){ return; } entityPlayerLocal.Health = entityPlayerLocal.GetMaxHealth(); entityPlayerLocal.Stamina = entityPlayerLocal.GetMaxStamina(); } } Показать контент Код dll инъекции в mono через AA Показать контент [ENABLE] //mono_assembly_foreach //mono_assembly_getimage alloc(bla, 2048) alloc(testdllpath, 256); alloc(domain,4) alloc(image,4) alloc(classdef,4) alloc(classobject, 4) alloc(methodDesc,4) alloc(method,4) registersymbol(domain) registersymbol(image) registersymbol(classdef) registersymbol(classobject) registersymbol(methodDesc) registersymbol(method) alloc(result,4) registersymbol(result) alloc(result2,4) registersymbol(result2) alloc(strTestLib,64) alloc(strClass1,64) alloc(strSomething,64) alloc(params, 32) alloc(exception,4) registersymbol(exception) strTestLib: db 'NamespaceCheats',0 strClass1: db 'Cheats',0 strSomething: db '*:Main',0 testdllpath: db 'D:\Cheat_32.dll',0 bla: //foreach domain is useful too call mono.mono_get_root_domain mov [domain],eax push eax call mono.mono_thread_attach add esp,4 push testdllpath push [domain] call mono.mono_domain_assembly_open add esp,8 push eax call mono.mono_assembly_get_image add esp,4 mov [image],eax push strClass1 push strTestLib push eax call mono.mono_class_from_name add esp, c mov [classdef],eax //create a class push eax //classdef push [domain] call mono.mono_object_new add esp, 8 mov [classobject],eax push eax call mono.mono_runtime_object_init //execute the nameless constructor (if there is one) add esp,4 //find the method push 0 push strSomething call mono.mono_method_desc_new add esp,8 mov [methodDesc], eax push [classdef] push eax call mono.mono_method_desc_search_in_class add esp,8 mov [method], eax mov [params],0 push exception push params //no params push [classobject] push eax //[method] call mono.mono_runtime_invoke add esp,10 mov [result],eax ret result: dd 0 result2: dd 0 createthread(bla) [DISABLE] //code from here till the end of the code will be used to disable the cheat Как я делал 1. Ставим игру 32 разрядную, т.к. у нас код АА для 32 разрядной инъекции. Может и рабочий на 64, не тестил 2. Отключаем античит, ищем в Интернете 3. Декомпилим через ILSpy файл игры Assembly-CSharp.dll ищем классы по определению 4. Ищем мой скрипт по просмотрю иерархии объектов на форуме. 5. Компилим dll, инжектим, смотрим объекты и компоненты прямо в игре. Находим EntityPlayerLocal, смотрим его. 6. Открываем доки по Unity если надо и пишем скрипт в Update в новой dll-ке. Её инжектим. Ну и все. Играем с полным xp и здоровьем. 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
ZoraVl Опубликовано 16 июля, 2016 Поделиться Опубликовано 16 июля, 2016 Garik66 Я понял, сейчас проверю MasterGH Ну для тебя это все просто) А мне до такого уровня еще далеко Garik66 Короче скрипт проверил, активировал, еда стала 100% вода осталась так-же, но в консоли много ошибок и она не закрывается, даже если скрипт отключить, все-равно много ошибок А если поставить rdi+18 то скрипт работает!) Спасибо за помощь!!! А как ты нашел значение то? Как ты понял что оно максимально 72? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 16 июля, 2016 Автор Поделиться Опубликовано 16 июля, 2016 В 16.07.2016 в 07:02, ZoraVl сказал: А как ты нашел значение то? Как ты понял что оно максимально 72? Показать Поиск: 1. Точное значение (float) -ничего 1.1. Точное значение (4 байта) - ничего 2. Неизвестно значение (на всякий случай поставил тип - 4 байта, если что в конце отсева готов был перевести значения во float), уменьшилось на 1/ не изменилось несколько раз, а потом скушал консервы - увеличилось на не помню сколько. - и вот нашлось в 4 байтах значение - УРРРЯЯЯ . Ну вообще-то это стандартный поиск. Если бы и во 2 случае не сработало, пришлось бы делать очень долгий поиск: 3. Неизвестное значение, 4 байта, изменилось/не изменилось. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 16 июля, 2016 Автор Поделиться Опубликовано 16 июля, 2016 В 15.07.2016 в 21:31, MasterGH сказал: Код dll инъекции в mono через AA Показать MasterGH, класс!!!!! Да наверное на таком уровне ломать, гораздо проще - все структуры на экране - суппперрр!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 16 июля, 2016 Поделиться Опубликовано 16 июля, 2016 В среде разработки работаем практически с исходниками игры. Можно сделать практически все. *На лишний "return" можно не обращать внимание, забыл удалить. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 16 июля, 2016 Автор Поделиться Опубликовано 16 июля, 2016 В 12.07.2016 в 05:45, ZoraVl сказал: Garik66, сделал скрипт на быстрый крафт (сборку) предметов, можешь в шапке темы закрепить, может понадобится кому-нибудь: Показать Добавил в шапку. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения