Goblin Опубликовано 11 ноября, 2016 Поделиться Опубликовано 11 ноября, 2016 Суть: Создаю 2 или более скрипта. При активации обоих возникает проблема, выключаю один из них а второй уже не могу, причем если обратно включить (деактивированный) скрипт и попытаться выключить другой, игру крашит. В чем может быть проблема? P.s. Во всех играх такая муть Ссылка на комментарий Поделиться на другие сайты Поделиться
saiberpro Опубликовано 11 ноября, 2016 Поделиться Опубликовано 11 ноября, 2016 Для отправной точки выложи под хайд скрипты. Ссылка на комментарий Поделиться на другие сайты Поделиться
Goblin Опубликовано 11 ноября, 2016 Автор Поделиться Опубликовано 11 ноября, 2016 Показать контент { Game : Terraria.exe Version: Date : 2016-11-07 Author : ????????????? This script does blah blah blah } [ENABLE] aobscan(INJECT,80 B8 1D 06 00 00 00) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp byte ptr [eax+0000061D],01 jmp return code: cmp byte ptr [eax+0000061D],00 jmp return INJECT: jmp newmem nop nop return: registersymbol(INJECT) [DISABLE] INJECT: db 80 B8 1D 06 00 00 00 unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 3BA83959 3BA8392A: 8B 15 DC 42 DD 04 - mov edx,[04DD42DC] 3BA83930: 3B 42 04 - cmp eax,[edx+04] 3BA83933: 0F 83 53 22 02 00 - jae 3BAA5B8C 3BA83939: 8B 44 82 08 - mov eax,[edx+eax*4+08] 3BA8393D: C6 40 24 01 - mov byte ptr [eax+24],01 3BA83941: A1 44 43 DD 04 - mov eax,[04DD4344] 3BA83946: 8B 15 F8 77 21 00 - mov edx,[002177F8] 3BA8394C: 3B 50 04 - cmp edx,[eax+04] 3BA8394F: 0F 83 37 22 02 00 - jae 3BAA5B8C 3BA83955: 8B 44 90 08 - mov eax,[eax+edx*4+08] // ---------- INJECTING HERE ---------- 3BA83959: 80 B8 1D 06 00 00 00 - cmp byte ptr [eax+0000061D],00 // ---------- DONE INJECTING ---------- 3BA83960: 0F 84 C5 02 00 00 - je 3BA83C2B 3BA83966: 33 D2 - xor edx,edx 3BA83968: 89 95 5C FE FF FF - mov [ebp-000001A4],edx 3BA8396E: 81 7D 90 B9 00 00 00 - cmp [ebp-70],000000B9 3BA83975: 75 28 - jne 3BA8399F 3BA83977: 83 7D 88 12 - cmp dword ptr [ebp-78],12 3BA8397B: 75 22 - jne 3BA8399F 3BA8397D: 81 7D 8C 40 02 00 00 - cmp [ebp-74],00000240 3BA83984: 7C 19 - jnge 3BA8399F 3BA83986: 81 7D 8C 72 03 00 00 - cmp [ebp-74],00000372 } Второй: Показать контент { Game : Terraria.exe Version: Date : 2016-11-11 Author : ????????????? This script does blah blah blah } [ENABLE] aobscan(INJECT,29 82 34 03 00 00 83 7D) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: sub [edx+00000334],0 jmp return code: sub [edx+00000334],eax jmp return INJECT: jmp newmem nop return: registersymbol(INJECT) [DISABLE] INJECT: db 29 82 34 03 00 00 unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 15696C3F 15696C16: 89 85 78 FE FF FF - mov [ebp-00000188],eax 15696C1C: 0F B6 45 0C - movzx eax,byte ptr [ebp+0C] 15696C20: 50 - push eax 15696C21: 6A 00 - push 00 15696C23: 8B 95 78 FE FF FF - mov edx,[ebp-00000188] 15696C29: 8B CE - mov ecx,esi 15696C2B: E8 78 B1 67 F6 - call 0BD11DA8 15696C30: F2 0F 10 45 E4 - movsd xmm0,[ebp-1C] 15696C35: F2 0F 2C C0 - cvttsd2si eax,xmm0 15696C39: 8B 95 4C FE FF FF - mov edx,[ebp-000001B4] // ---------- INJECTING HERE ---------- 15696C3F: 29 82 34 03 00 00 - sub [edx+00000334],eax // ---------- DONE INJECTING ---------- 15696C45: 83 7D 08 FF - cmp dword ptr [ebp+08],-01 15696C49: 0F 85 95 00 00 00 - jne 15696CE4 15696C4F: 8B 85 4C FE FF FF - mov eax,[ebp-000001B4] 15696C55: C6 80 2F 05 00 00 01 - mov byte ptr [eax+0000052F],01 15696C5C: DD 45 E4 - fld qword ptr [ebp-1C] 15696C5F: D9 E8 - fld1 15696C61: DF F1 - fcomip st(0),st(1) 15696C63: DD D8 - fstp st(0) 15696C65: 7A 30 - jp 15696C97 15696C67: 75 2E - jne 15696C97 } Игра: Terraria версии 1.3.3.3. Первый скрипт: Подсвечивает руду Второй:Нам наносят 0 урона Ссылка на комментарий Поделиться на другие сайты Поделиться
saiberpro Опубликовано 11 ноября, 2016 Поделиться Опубликовано 11 ноября, 2016 (изменено) У тебя второй работает?, судя по логике скрипта не должен. На этапе оригинального кода, вставки вот этого должно хватить. Показать контент code: sub [edx+00000334],0 Изменено 11 ноября, 2016 пользователем saiberpro Ссылка на комментарий Поделиться на другие сайты Поделиться
Goblin Опубликовано 11 ноября, 2016 Автор Поделиться Опубликовано 11 ноября, 2016 Работает. Работают все скрипты, во всех играх, но возникает проблема которую я уже описал выше Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 ноября, 2016 Поделиться Опубликовано 11 ноября, 2016 В 11.11.2016 в 17:11, Goblin сказал: В чем может быть проблема? Показать У тебя оба скрипта имеют один и тот же адрес: aobscan(INJECT,80 B8 1D 06 00 00 00) // should be unique aobscan(INJECT,29 82 34 03 00 00 83 7D) // should be unique Переименуй один из INJECT ну например на INJECT1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 ноября, 2016 Поделиться Опубликовано 11 ноября, 2016 В 11.11.2016 в 17:54, saiberpro сказал: У тебя второй работает?, судя по логике скрипта не должен. Показать По какой логике? saiberpro, по твоей? Оба скрипта рабочие. Ссылка на комментарий Поделиться на другие сайты Поделиться
Goblin Опубликовано 11 ноября, 2016 Автор Поделиться Опубликовано 11 ноября, 2016 Спасибо большое, постоянно на такой мелочи валился и не знал в чем проблема Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 ноября, 2016 Поделиться Опубликовано 11 ноября, 2016 В 11.11.2016 в 18:13, Goblin сказал: Спасибо большое, постоянно на такой мелочи валился и не знал в чем проблема Показать Привыкни - при создании скрипта, всегда новую метку (новое название) давать и не будет таких ошибок больше. Ссылка на комментарий Поделиться на другие сайты Поделиться
saiberpro Опубликовано 11 ноября, 2016 Поделиться Опубликовано 11 ноября, 2016 В 11.11.2016 в 18:09, Garik66 сказал: По какой логике? saiberpro, по твоей? Оба скрипта рабочие. Показать НУ я понял и пошёл к себе во двор на горох))) Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 ноября, 2016 Поделиться Опубликовано 11 ноября, 2016 В 11.11.2016 в 18:37, saiberpro сказал: НУ я понял и пошёл к себе во двор на горох))) Показать Да - на полчаса. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения