![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: А ТЫ маньяк? | |||
Да, я маньяк |
![]() ![]() ![]() ![]() |
10 | 40.00% |
Нет, я маньяк |
![]() ![]() ![]() ![]() |
5 | 20.00% |
Эй вы, не спорьте! Я маньяк |
![]() ![]() ![]() ![]() |
10 | 40.00% |
Голосовавшие: 25. Вы ещё не голосовали в этом опросе |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
текст самого проигрывателя
Код:
|
![]() |
![]() |
![]() |
#22 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]() Код:
1) правильно будет Код:
2) на WinXP если запустить какой либо avi-файл на воспроизведение, то если проигрыватель закрыть процесс microplaymm.exe продолжает висеть в памяти, в моем проигрывателе та же ошибка ![]() |
![]() |
![]() |
![]() |
#23 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
он в любом случае останется висетьв памяти, ибо бесконечный цикл сообщений.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#24 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,836
|
![]()
Кстати, открыв первую попавшуюся avi'шку обнаружил, что нет звука (в "больших" проигрывателях такой проблемы не было), у другой avi'шки звук был.
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#25 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]() Цитата:
Последний раз редактировалось Mikl___; 15.10.2012 в 14:00. |
|
![]() |
![]() |
![]() |
#26 |
Пользователь
Регистрация: 10.07.2012
Сообщений: 16
|
![]()
есть ещё один довольно интересный метод минимизации размера кода
суть в том, что вместо имён функций записывается их хеш затем сканируются таблицы спроецированных в память библиотек и ищутся соответствующие имена --- когда-то давным давно тоже увлекался минимизацией и прочими подобными трюками тогда же написал простенькую программу, предназначенную для запуска плейлиста на воспроизведение если кому-то интересно, вот она (используется ли тут трюк с хешами - уже не помню. но шанс есть ![]() |
![]() |
![]() |
![]() |
#27 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Vort,
конечно используется, вызываешь исключение и переходишь на 4010С1 далее ксоришь код числом 52h, в результате находишь в памяти kernel32 функцию LoadLibrary через нее загружается shell32.dll из которой вызывается ShellExecuteA которой передается Playlist.m3u |
![]() |
![]() |
![]() |
#28 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Идею Vort'а в массы! Щелкаю по первому попавшемуся avi-файлу правой клавишей мыши, выбираю "Открыть с помощью" "Выбрать программу" выбираю "Media player classic", ставлю галочку "Использовать ее для всех файлов такого типа". Сажусь за написание программы, буду использовать в своем микроплейере функцию ShellExecute(HWND hwnd,LPCTSTR lpOperation,LPCTSTR lpFile, LPCTSTR lpParameters,LPCTSTR lpDirectory,INT nShowCmd);
Параметры: Код:
Код:
Не останавливаясь на достигнутом, запускаем наш плейер через Ollydbg и как только программа доходит до ShellExecuteA нажимаем не F8, а F7. Внутри ShellExecuteA авишку воспроизводит функция ShellExecuteExA. Снова дорабатываем наш плейер. Функция ShellExecuteEx работает с единственным параметром -- указателем на структуру LPSHELLEXECUTEINFO Формат структуры SHELLEXECUTEINFO: Код:
Код:
Последний раз редактировалось Mikl___; 20.10.2012 в 11:06. |
![]() |
![]() |
![]() |
#29 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Внутри ShellExecuteExА находится функция ShellExecuteExW ее параметры практически не отличающаяся от параметров ShellExecuteExА, но требуют названия файла и команды в unicode, снова переписываем программу
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как наложить иконку с исходным размером 16х16 на битмап с размером 32х32? | SkAndrew | Мультимедиа в Delphi | 1 | 26.04.2008 14:44 |
Проблема с размером :) | Exel_Wild | Microsoft Office Excel | 5 | 14.04.2008 12:47 |
MP3-плеер | Egych | Софт | 10 | 14.01.2008 20:54 |
Флэш-плеер | Pretty Woman | Софт | 5 | 16.09.2007 22:39 |