X86Jumps Опубликовано 22 июля, 2017 Поделиться Опубликовано 22 июля, 2017 Решил покопаться в ре5 снова после долгого перерыва хотя теперь не очень тривиальная задача - определение формата данных анимации (я думаю возможно ли сконвертить в ре6 формат) xlive killer я находил но вот breakpoints и trace как это заставить чтоб не валилось? врубал dbvm с kernelmode debugger но это не стабильно, я могу кнопку левую просто зажать и у меня вылет будет (есть еще вариант debug версию использовать, но тогда загрузки не работают, ничего не сохраняется) проследил и вроде нашел 2 причины почему вылет происходит Цитата > xlive.dll!01d7b6d8() xlive.dll+64B6D8 [Frames below may be incorrect and/or missing, no symbols loaded for xlive.dll] xlive.dll!018758da() xlive.dll+1458DA xlive.dll!018768c2() xlive.dll+1468C2 ntdll.dll!_ZwTestAlert@0() + 0x15 bytes ntdll.dll!_ZwContinue@8() + 0x12 bytes ntdll.dll!_LdrInitializeThunk@8() + 0x1a bytes kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes и Цитата > xlive.dll!6ba97475() xlive.dll+00147475 [Frames below may be incorrect and/or missing, no symbols loaded for xlive.dll] ntdll.dll!_ZwTestAlert@0() + 0x15 bytes ntdll.dll!_ZwContinue@8() + 0x12 bytes ntdll.dll!_LdrInitializeThunk@8() + 0x1a bytes kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes в первом случае адрес разный (относительно image base xlive.dll) но вот сама инструкция что валится постоянно одинаковая 3E C6 05 19F30000 99 - mov byte ptr [0000F319],99h но проблема в том что она появляется не сразу, а именно в момент когда вылет будет как этот момент поймать я не пойму xlive.dll+1458DA тут перед этим стоит вызов call [esi+30] и ставя туда брикпоинты я дебаг делаю, но опять же к сожелению ce тупо вылетает, я даже не пойму в какой момент (можно минут 10 ходить ходить и на простом mov вылетит) что плохо когда я закрываю ce и жму отладку visual studio то он stacktrace (call stack) показывает и все сам стек не показывает и я никак не могу понять откуда он попадает сюда я вроде проверял и в стеке выше видел это значение стоит ли этим заморачиваться или все просто ce kernelmode врубают? (может потому что винда win7 x64 и не очень стабильно? xlive у меня 3.5.92 вроде) // изменил название темы (читайте правила) Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 23 июля, 2017 Поделиться Опубликовано 23 июля, 2017 16 часов назад, X86Jumps сказал: как это заставить чтоб не валилось? Попробуй что-нибудь из этого: xlive_patcher.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
X86Jumps Опубликовано 23 июля, 2017 Автор Поделиться Опубликовано 23 июля, 2017 ну так а как решают эту проблему? у всех вылеты в kernelmode частые? я кстати помню что в ре5 gfwl версии у меня не вылетало когда я трейсил может потому что стояла версия старая а не 3.5.92 сейчас просто пытаюсь заменить dll в папку с игрой скидываю, но ругается видимо надо сначала удалять и заново ставить Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 23 июля, 2017 Поделиться Опубликовано 23 июля, 2017 34 минуты назад, X86Jumps сказал: ну так а как решают эту проблему? у всех вылеты в kernelmode частые? Чпок! Или на форуме можно было поискать Чпок! Вот ещо Чпок! Ссылка на комментарий Поделиться на другие сайты Поделиться
X86Jumps Опубликовано 23 июля, 2017 Автор Поделиться Опубликовано 23 июля, 2017 (изменено) в этом видео в первых трех что я видел не было проблем (ну или они на видео не попали)) ) а у меня вроде не вылетал когда я брикпоинты ставил, но потом бац и вылет может пройти синий экран, иногда минут 5 не вылетает иногда позже, или потом браузер тупо кручу скролл, зажал мышкой и вылет)) весело очень) сейчас пытаюсь понять как вырубить xlive, потому что там куча потоков крутится первый stack trace как раз выходит в одном месте, там после вызова функции eax=0 и ошибка получается хотя он только проверяет eax, но как то не безопасно, сначала читает из памяти а потом проверяет а 2й - это произвольный код, видимо там какой то баг происходит и return делается раньше но откуда я пока не разобрался, в хорошем случае там был бы выше по стеку последний вызов, но не видно я все эти ветки (иностранные те форумы) читал, но я так понял там только про проверку целостности, а не про проблемы дебага, я даже debug версию толком нигде найти не могу, хорошо у меня dead rising2 репак есть и оттуда взял. Пытался найти sdk на этот xlive, а его вообще нигде нет, видимо он для закрытого круга распространялся и никто не выкладывал ни хидеры ни pdb ни дебаг версии Изменено 23 июля, 2017 пользователем X86Jumps Ссылка на комментарий Поделиться на другие сайты Поделиться
X86Jumps Опубликовано 25 июля, 2017 Автор Поделиться Опубликовано 25 июля, 2017 В 23.07.2017 в 18:56, LIRW сказал: Чпок! Или на форуме можно было поискать Чпок! Вот ещо Чпок! ну вообще то в цитате про kernelmode и вылеты а в ссылках про обход проверки целостности кода игры, т.е. xlive killer, который просто обходится т.е. я просто из-за того что до этого имел дело с ре6 где для себя читы для фана делал (вызов голосовых команд, анимации и эффектов) не сталкивался с необходимостью менять тип дебаггера хотя kernelmode хоть как то дает работать, но стабильность.... хотя debug версия dll может помочь, но каждый раз придется немного проходить пролог Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения