Сейчас на форуме: tyns777, cppasm, dutyfree, asfa (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Assertion failed! ace_player
Посл.ответ Сообщение

Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 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:
  1. Breakpoints
  2. Address    Module     Active                     Disassembly                           Comment
  3. 02270640   libqt4_p   Disabled                   PUSH EBP                              -98
  4. 0227069D   libqt4_p   Disabled                   LEA EAX,DWORD PTR DS:[ESI-44D]        -97
  5. 02270860   libqt4_p   Always                     MOV DWORD PTR SS:[ESP+10],ESI         -96
  6. 022708A3   libqt4_p   Always                     CALL <JMP.&msvcrt._assert>            +20
  7. 031C7290   libqt4_p   Disabled                   PUSH EBP                              -102
  8. 031C7319   libqt4_p   Disabled                   CALL DWORD PTR DS:[EAX+14]            -101
  9. 036F8D40   libqt4_p   Disabled                   PUSH EBP                              -100
  10. 036F8F64   libqt4_p   Disabled                   MOV DWORD PTR SS:[ESP+4],EDX          -99 ($EDX + 8 = 400-code)
  11. 6FD5E21B   libtsp_1   Disabled                   MOV DWORD PTR SS:[ESP+4],libtsp_1.6F  ; ASCII "playlist-tree"
  12. 6FDD8821   libtsp_1   Disabled                   CALL <JMP.&msvcrt.fread>              read conf
  13. 7C801812   kernel32   Disabled                   PUSH 20                               ReadFile
  14. 7E368BF6   USER32     Log                        MOV EDI,EDI                           TranslateMessage

На строке 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 (UPD) но не вижу, чтобы на строке 332 было что-то , что может вызывать исключение.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 19 февраля 2017 17:08
· Личное сообщение · #2

идите на форум к авторам и пусть они фиксят, это ихнее чудо
зачем заниматься мазохизмом ?

ниче что у них влц 1.1.12 а вы сорсы 1.1.2 смотрите ?



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 19 февраля 2017 17:12
· Личное сообщение · #3

Если в конфигурационном файле будет
playlist-tree=0
То до этой строки 022708A3 не доходит . Там какая-то рекурсия , оттрасировать не получается. Короче вообще непонятно, почему оно туда заходит. Там если EAX>h1C , то оно туда прыгает.Но почему в EAX попадает h21, не понятно




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 19 февраля 2017 17:14
· Личное сообщение · #4

вы меня читаете или сами с собой разговариваете ?
баг в влц лечится пересборкой влц а не угадыванием асм кода

| Сообщение посчитали полезным: TryAga1n

Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 19 февраля 2017 17:30 · Поправил: Margarita17
· Личное сообщение · #5

Пока писала не видела ответ. Я не знаю, есть ли исходники ace_player в открытом доступе (скорее всего нет). Понятно, что это баг разработчиков, но никто его не собирается править. Я писала разработчикам.

У меня скорее вопрос по поводу того, что этот _assert делает. Я не вижу, чтобы туда что-то передавалось и что-то проверялось, как пишет microsoft




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 19 февраля 2017 17:51
· Личное сообщение · #6

playlist-tree это опция VLC а не айс плеера
хотите разобраться - ищите полные идентичные исходники vlc той версии что используется

Добавлено спустя -38 минут
вот ихний патч на вашу версию
http://torrentstream.org/downloads/vlc/vlc-1.1.12.patch

Добавлено спустя -35 минут
хоть и староватый патч но для сориентироваться

| Сообщение посчитали полезным: Margarita17

Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 23 февраля 2017 21:18 · Поправил: Margarita17
· Личное сообщение · #7

В C++ ни в зуб ногой. Установила с дисков X16-42552VS2010UltimTrial1.iso + VS2010SP1dvd1.iso Microsoft Visual Studio 2010. При помощи TortoiseMerge.exe TortoiseDiff-1.6.7.zip применила patch-файл на исходники .
В командной строке 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>


Почему эти дурашлепы не сделали готовый проект?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 23 февраля 2017 21:25
· Личное сообщение · #8

кто именно ?

бросьте вы это дело, все равно там эдвансен экспиренс нужен что бы во всем разобраться



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 23 февраля 2017 21:43
· Личное сообщение · #9

Чтобы проект загрузить в Microsoft Visual Studio 2010 думаю опыт не нужен, только объясните процедуру. В Делфи всегда прилагается файл проекта и файл формы. Тут просто файлы исходников. Куда их девать?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 23 февраля 2017 21:47
· Личное сообщение · #10

потому что vlc в студии по умолчанию не собирают, потому и файлов для студии там нет
гуглите как скомпилить vlc для виндовс самостоятельно
говорю же нужен эдвансед уровень что бы все это понимать, тем более по итогу нужно знать C/C++



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 24 февраля 2017 23:04 · Поправил: Margarita17
· Личное сообщение · #11

Тогда поясните, есть ли какая-то опасность при пропатчивании , как было описано выше. Когда появляется сообщение об этой ошибке и я нажимаю "повторить", то программа по идее должна мне выдать снова это же окно. Вместо этого крах.

Т.е. сами процедуры, ответственные за обработку первого исключения, провоцируют еще одно исключение. Если же пропатчить, чтобы обойти выдачу этого окна , то вроде работает, но я не уверена безопасно ли это, т.к. исключение связано с попыткой записи в несуществующую память.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 24 февраля 2017 23:15
· Личное сообщение · #12

если пропатчите неправильно, то все ваши интимные фотографии с компьютер VLC отправит разработчикам

зачем вам вообще эта опция и зачем вам этот галимый торрентстрим ?

| Сообщение посчитали полезным: unknownproject


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 25 февраля 2017 00:04
· Личное сообщение · #13

Тема не правильно названа. То что в названии это системный механизм защитный. Валидация связанных списков и генерация фейла инт29. Оно к сабжу отношения не имеет.

-----
vx




Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 февраля 2017 03:20
· Личное сообщение · #14

Margarita17 пишет:
Найдено, что когда стоит на 02270860

Ну хоть у кого-то стоит.

Margarita17 пишет:

Тогда поясните, есть ли какая-то опасность при пропатчивании , как было описано выше. Когда появляется сообщение об этой ошибке и я нажимаю "повторить", то программа по идее должна мне выдать снова это же окно. Вместо этого крах.

Мадемуазелле, вспомните про процедуру Assert в делфях и сопоставьте то, что вы узрили.Может есть какая-то связь :D Подскажу - проверяется истинность условий.Такое для дебага при кодинге юзают.

reversecode пишет:
если пропатчите неправильно, то все ваши интимные фотографии с компьютер VLC отправит разработчикам

Их глаза покроются кровью и они ослепнут.Эта кара страшнее, чем то, что в твой код полезет баба

Ps.Тс баба и этим все сказаноНедовольна тем, что ей не дают файлы проджекта и в непонятках от того, что будет после патча.

-----
TEST YOUR MIGHT




Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 февраля 2017 10:00 · Поправил: Margarita17
· Личное сообщение · #15

Спрошу еще раз, ибо ответы бесполезны.

Что дает пропатчивание
02270860 MOV DWORD PTR SS:[ESP+10],ESI
02270860 jmp 022708CE

Подскажу - проверяется истинность условий.Такое для дебага при кодинге юзают.
Проверяется условие 0. Т.е. в это поле попадает не сравнение, а непонятно что. Было написано, что и как делалось. Дальше я жду ДЕТАЛЬНЫХ пояснений, что и как делать дальше.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 25 февраля 2017 10:12 · Поправил: difexacaw
· Личное сообщение · #16

Margarita17

Давайте посмотрим. Имеется функция, которая генерит исключение при условии --> Link <--

Тоесть если её аргумент 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




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 25 февраля 2017 14:41
· Личное сообщение · #17

Зачем нужна эта адварь если есть XBMC\Kodi с торрент плагинами.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 25 февраля 2017 16:31 · Поправил: reversecode
· Личное сообщение · #18

дайте мне точку опоры! и я поверну землю
здесь это не работает

если хотите понять больше логики, можете загрузить код в IDA и через hexrays декомпилировать и увидеть Си код
может это вам в чем то поможет




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 25 февраля 2017 16:41
· Личное сообщение · #19

reversecode

А как же хрустальный шар
Просто кода нужно больше, что там до 02270640.

-----
vx





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 25 февраля 2017 16:44
· Личное сообщение · #20

больше кода - это типа кто то хочет помогать разбирать ?
а все в ида и через хексрейс - это путь к самостоятельному анализу

на этом форуме не делают домашнее задание для других, а только помогают учиться

Добавлено спустя -58 минут
клерк может это юная рутковская подрастает ?))
или эта как ее .... забыл, тоже в асме на ринг0 херачила

нужно растить замены ))

| Сообщение посчитали полезным: difexacaw


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 25 февраля 2017 16:52 · Поправил: difexacaw
· Личное сообщение · #21

reversecode

Рутковской помогли.. если бы не её корешь, то вы бы не знали это имя..
Причём тут домашнее задание, есть вопрос но не хватает данных для решения.

-----
vx





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 25 февраля 2017 17:15 · Поправил: reversecode
· Личное сообщение · #22

нашел залил --> Link <--

Margarita17 пишет:
Найдено, что когда стоит на 02270860 сделать New origin here 022708CE (или прыжок сделать с 02270860 на 022708CE ), то прога работает без вылета.

это бред, если найти эти места в коде
02270860 это в моей ссылке .text:68EC0860
022708CE это в моей ссылке .text:68EC088F

очевидно что это default switch case
и assert там очевиден и по делу
а вы его не правильно обходите
да и если в него попадает исполнение, значит в программе уже есть сломаная логика

Добавлено спустя -58 минут
вот из декомпиля
--> Link <--

Добавлено спустя -56 минут
клерк так как там эту звали.. которая говорили еще что тебя уделывает в ринг0... ?
дедееод или как то так... в хексе ник у нее помоему был
она помоему на васм не захдила, у нее блог был и иногда на античате помоему бывала...
вас еще виртуально хотели поженить на васме помню)))

| Сообщение посчитали полезным: Margarita17


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 25 февраля 2017 17:48 · Поправил: difexacaw
· Личное сообщение · #23

reversecode

Была девчёнка одна, подруга Грейта.. что в общем то странно, обычно женский мозг не предназначен для задач аналитики, но это исключения из правил.
Баба в кернел это стрёмно.
Удалил смайлик, всё же это пичальная тема..

-----
vx




Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 февраля 2017 18:13
· Личное сообщение · #24

>>а вы его не правильно обходите
Теперь вижу, что должно на _assert останавливаться.

В "C:\Documents and Settings\*\Application Data\.ACEStream\conf" если прописать playlist-autostart=0 , то работает без ошибок.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 25 февраля 2017 18:17
· Личное сообщение · #25

ida+hexrays=все в ваших руках!
за вами еще клерк бегать будет!


 eXeL@B —› Вопросы новичков —› Assertion failed! ace_player
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати