![]() |
eXeL@B —› Вопросы новичков —› Assertion failed! ace_player |
Посл.ответ | Сообщение |
|
Создано: 19 февраля 2017 17:03 · Поправил: Модератор · Личное сообщение · #1 http://dl.torrentstream.org/Ace_Stream_Media_3.1.2_VLC_1.1.12.exe - программа После установки надо в файле "C:\Documents and Settings\*\Application Data\.ACEStream\conf" раскомментировать строку #playlist-tree=1 Теперь если открывать ace_player.exe плейлист http://pastebin.com/9phvDKbE , то программа вылетает с ошибкой http://pastebin.com/kFNxJc8f В OllyDBG "C:\Documents and Settings\*\Application Data\ACEStream\player\ace_player.exe" Code:
На строке 022708A3 . E8 20BB5A01 CALL <JMP.&msvcrt._assert> ; \msvcrt._assert вылетает ошибка Вот кусок кода где этот вызов: http://pastebin.com/Ccbu0Rf7 Найдено, что когда стоит на 02270860 сделать New origin here 022708CE (или прыжок сделать с 02270860 на 022708CE ), то прога работает без вылета. Есть ли опасность в повреждении файлов и т.п. , если так и пропатчить с прыжком? Вот вроде исходник https://svn-itec.uni-klu.ac.at/trac2/dash/browser/trunk/vlc-1.1.2/modules/gui/qt4/input_manager.cpp?rev=2 ( ![]() |
|
Создано: 19 февраля 2017 17:08 · Личное сообщение · #2 |
|
Создано: 19 февраля 2017 17:12 · Личное сообщение · #3 |
|
Создано: 19 февраля 2017 17:14 · Личное сообщение · #4 вы меня читаете или сами с собой разговариваете ? баг в влц лечится пересборкой влц а не угадыванием асм кода ![]() |
|
Создано: 19 февраля 2017 17:30 · Поправил: Margarita17 · Личное сообщение · #5 Пока писала не видела ответ. Я не знаю, есть ли исходники ace_player в открытом доступе (скорее всего нет). Понятно, что это баг разработчиков, но никто его не собирается править. Я писала разработчикам. У меня скорее вопрос по поводу того, что этот _assert делает. Я не вижу, чтобы туда что-то передавалось и что-то проверялось, как пишет microsoft ![]() |
|
Создано: 19 февраля 2017 17:51 · Личное сообщение · #6 playlist-tree это опция VLC а не айс плеера хотите разобраться - ищите полные идентичные исходники vlc той версии что используется Добавлено спустя -38 минут вот ихний патч на вашу версию http://torrentstream.org/downloads/vlc/vlc-1.1.12.patch Добавлено спустя -35 минут хоть и староватый патч но для сориентироваться ![]() |
|
Создано: 23 февраля 2017 21:18 · Поправил: Margarita17 · Личное сообщение · #7 В C++ ни в зуб ногой. Установила с дисков X16-42552VS2010UltimTrial1.iso + VS2010SP1dvd1.iso Microsoft Visual Studio 2010. При помощи TortoiseMerge.exe В командной строке Visual Studio Command Prompt (2010) запускаю "cmake-3.2.2-win32-x86\bin\cmake.exe" vlc-1.1.12 J:\abuild>"cmake-3.2.2-win32-x86\bin\cmake.exe" vlc-1.1.12 CMake Error: The source directory "J:/abuild/vlc-1.1.12" does not appear to cont ain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI. J:\abuild> Почему эти дурашлепы не сделали готовый проект? ![]() |
|
Создано: 23 февраля 2017 21:25 · Личное сообщение · #8 |
|
Создано: 23 февраля 2017 21:43 · Личное сообщение · #9 |
|
Создано: 23 февраля 2017 21:47 · Личное сообщение · #10 |
|
Создано: 24 февраля 2017 23:04 · Поправил: Margarita17 · Личное сообщение · #11 Тогда поясните, есть ли какая-то опасность при пропатчивании , как было описано выше. Когда появляется сообщение об этой ошибке и я нажимаю "повторить", то программа по идее должна мне выдать снова это же окно. Вместо этого крах. Т.е. сами процедуры, ответственные за обработку первого исключения, провоцируют еще одно исключение. Если же пропатчить, чтобы обойти выдачу этого окна , то вроде работает, но я не уверена безопасно ли это, т.к. исключение связано с попыткой записи в несуществующую память. ![]() |
|
Создано: 24 февраля 2017 23:15 · Личное сообщение · #12 если пропатчите неправильно, то все ваши интимные фотографии с компьютер VLC отправит разработчикам зачем вам вообще эта опция и зачем вам этот галимый торрентстрим ? ![]() |
|
Создано: 25 февраля 2017 00:04 · Личное сообщение · #13 |
|
Создано: 25 февраля 2017 03:20 · Личное сообщение · #14 Margarita17 пишет: Найдено, что когда стоит на 02270860 Ну хоть у кого-то стоит. Margarita17 пишет: Тогда поясните, есть ли какая-то опасность при пропатчивании , как было описано выше. Когда появляется сообщение об этой ошибке и я нажимаю "повторить", то программа по идее должна мне выдать снова это же окно. Вместо этого крах. Мадемуазелле, вспомните про процедуру Assert в делфях и сопоставьте то, что вы узрили.Может есть какая-то связь :D Подскажу - проверяется истинность условий.Такое для дебага при кодинге юзают. reversecode пишет: если пропатчите неправильно, то все ваши интимные фотографии с компьютер VLC отправит разработчикам Их глаза покроются кровью и они ослепнут.Эта кара страшнее, чем то, что в твой код полезет баба ![]() Ps.Тс баба и этим все сказано ![]() ----- TEST YOUR MIGHT ![]() |
|
Создано: 25 февраля 2017 10:00 · Поправил: Margarita17 · Личное сообщение · #15 Спрошу еще раз, ибо ответы бесполезны. Что дает пропатчивание 02270860 MOV DWORD PTR SS:[ESP+10],ESI 02270860 jmp 022708CE Подскажу - проверяется истинность условий.Такое для дебага при кодинге юзают. Проверяется условие 0. Т.е. в это поле попадает не сравнение, а непонятно что. Было написано, что и как делалось. Дальше я жду ДЕТАЛЬНЫХ пояснений, что и как делать дальше. ![]() |
|
Создано: 25 февраля 2017 10:12 · Поправил: difexacaw · Личное сообщение · #16 Margarita17 Давайте посмотрим. Имеется функция, которая генерит исключение при условии Тоесть если её аргумент FALSE. Аргумент может быть передан через две конвенции вызова - cdec/stdcall. Смотрим ваш код: 02270640 libqt4_p Disabled PUSH EBP -98 0227069D libqt4_p Disabled LEA EAX,DWORD PTR DS:[ESI-44D] -97 Конвенция вызова не известна. Вероятно lea загружает указатель на какую то структуру, очевидно он не может бы нулевым. Тогда получается что конв. stdcall и аргумент в локальной переменной. Дизасм конечно кривой(MRM это выборка данных из памяти и не может загрузить эффективный адрес, кроме LEA): push [ebp - 98]. Вот в этой локале расположено значение, которое приводит далее к исключению. Источник значения не известен - вы показали не весь код. С имеющимися данными решение невозможно. ----- vx ![]() |
|
Создано: 25 февраля 2017 14:41 · Личное сообщение · #17 |
|
Создано: 25 февраля 2017 16:31 · Поправил: reversecode · Личное сообщение · #18 |
|
Создано: 25 февраля 2017 16:41 · Личное сообщение · #19 |
|
Создано: 25 февраля 2017 16:44 · Личное сообщение · #20 больше кода - это типа кто то хочет помогать разбирать ? а все в ида и через хексрейс - это путь к самостоятельному анализу на этом форуме не делают домашнее задание для других, а только помогают учиться Добавлено спустя -58 минут клерк может это юная рутковская подрастает ?)) или эта как ее .... забыл, тоже в асме на ринг0 херачила нужно растить замены )) ![]() |
|
Создано: 25 февраля 2017 16:52 · Поправил: difexacaw · Личное сообщение · #21 |
|
Создано: 25 февраля 2017 17:15 · Поправил: reversecode · Личное сообщение · #22 нашел залил Margarita17 пишет: Найдено, что когда стоит на 02270860 сделать New origin here 022708CE (или прыжок сделать с 02270860 на 022708CE ), то прога работает без вылета. это бред, если найти эти места в коде 02270860 это в моей ссылке .text:68EC0860 022708CE это в моей ссылке .text:68EC088F очевидно что это default switch case и assert там очевиден и по делу а вы его не правильно обходите да и если в него попадает исполнение, значит в программе уже есть сломаная логика Добавлено спустя -58 минут вот из декомпиля Добавлено спустя -56 минут клерк так как там эту звали.. которая говорили еще что тебя уделывает в ринг0... ? дедееод или как то так... в хексе ник у нее помоему был она помоему на васм не захдила, у нее блог был и иногда на античате помоему бывала... вас еще виртуально хотели поженить на васме помню))) ![]() |
|
Создано: 25 февраля 2017 17:48 · Поправил: difexacaw · Личное сообщение · #23 |
|
Создано: 25 февраля 2017 18:13 · Личное сообщение · #24 |
|
Создано: 25 февраля 2017 18:17 · Личное сообщение · #25 |
![]() |
eXeL@B —› Вопросы новичков —› Assertion failed! ace_player |