Вопрос № 100201: Уважаемые эксперты. Подскажите пожалуйста, как с помощью Delphi 7 можно изменить размер (высотаи и ширина) и качество Jpeg изображения. Желательно без image и picturebox на форме.
Заранее спасибо....Вопрос № 100202: Зравствуйте, эксперты!!
как (какими прогами и каким образом) можно шифрануть или упаковать компрессором exeшник, чтобы его практически невозможно было взломать средствами делфи??
(Слышал только про AsPack и UPX)
Спасибо....Вопрос № 100224: Возникла необходимость научиться создавать программы для сети(мониторинг, настройка и т.д). Но литературы по созданию таких прог на делфи не могу найти. Подскажите где можно найти или если у кого есть по данной теме киньте на мыло. Спасибо. ...Вопрос № 100276: Здрасти как сделать чтоб программа ждала пока запуститься процесс notepad.exe а потом запускала exe файл . ПОЖАЛУЙСТА ПОМОГИТЕ ....
Вопрос № 100.201
Уважаемые эксперты. Подскажите пожалуйста, как с помощью Delphi 7 можно изменить размер (высотаи и ширина) и качество Jpeg изображения. Желательно без image и picturebox на форме.
Заранее спасибо.
Отправлен: 30.08.2007, 08:03
Вопрос задал: T1000 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Denisss
Здравствуйте, T1000!
В приложении находится пример функции, которая выполняет обе поставленные Вами задачи. Функция возвращает True, если все удалось и False, если что-то пошло неверно. Для того, чтобы пример работал, нужно подключить модули JPEG и SysUtils (т.е. прописать в uses).
Примеры использования функции: ResampleJPEG('in.jpg', 'out.jpg', 80);
- Функция меняет качество с установленного на 80
ResampleJPEG('in.jpg', 'out.jpg', 95, 1024, 768);
- Функция изменяет размер изображения на 1024x768 и сохраняет JPEG с качеством 95%
ResampleJPEG('in.jpg', 'out.jpg');
- Функция делает копию изображения и меняет качество на 95%
Удачи!
Приложение:
Ответ отправил: Denisss (статус: Профессионал) Россия, Москва ---- Ответ отправлен: 30.08.2007, 09:53
Отвечает: Mishell
Здравствуйте, T1000!
смотрите пример в приложении...
в процедуру передается имя файла который надо изменить, новое имя файла куда будет записана измененная картинка, размеры (w,h) и качество (q) jpeg'а
q может быть от 1 до 100
Приложение:
Ответ отправил: Mishell (статус: 5-ый класс)
Ответ отправлен: 30.08.2007, 10:17
Вопрос № 100.202
Зравствуйте, эксперты!!
как (какими прогами и каким образом) можно шифрануть или упаковать компрессором exeшник, чтобы его практически невозможно было взломать средствами делфи??
(Слышал только про AsPack и UPX)
Спасибо.
Отвечает: Omickron
Здравствуйте, Ренат Байрамгулов! !!!
Я использую PECompact. Отличный упаковщик, устанавливается в систему, прописывается в контекстное меню *.dll и *.exe файлов. Бесплатный. Если нужно - пишите на мыло. Вышлю.
Примечание: PECompact бесплатен только для некоммерческого применения (для бесплатных программ). Цены на PECompact и скачать пробную версию можно на сайте: ссылка Denisss
Ответ отправил: Omickron (статус: 4-ый класс)
Ответ отправлен: 30.08.2007, 08:43 Оценка за ответ: 5
В дополнение, рекомендую почитать обзор нескольких упаковщиков и программ по скрытию упаковщиков здесь: ссылка 1, ссылка 2
На мой взгляд, лучший вариант - это упаковать программу с помощью UPX (ссылка), после чего спрятать из программы информацию об упаковщике (с помощью программы Stealth PE или бесплатной PeStubOEP)
Удачи!
Ответ отправил: Denisss (статус: Профессионал) Россия, Москва ---- Ответ отправлен: 30.08.2007, 09:13 Оценка за ответ: 5 Комментарий оценки: Спасибо, эксперты. Теперь у меня целая коллекция упаковщиков. осталось только их протестировать.
Отвечает: Дмитрий С.
Здравствуйте, Ренат Байрамгулов!
Скажите, чем Вам не гравится AsPack? Там есть такая фича: он при сжатии преобразовывает код файла в двоичный, и при этом взлом такого файла становится на уровень сложнее.
Но скажу Вам одну вещь - абсолютно защищённых и непроникновенных систем не существует. Везде есть небольшие баги. Их нужно только найти ;)
--------- Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 4-ый класс)
Ответ отправлен: 31.08.2007, 15:27 Оценка за ответ: 5 Комментарий оценки: Благодарен!!
Вопрос № 100.224
Возникла необходимость научиться создавать программы для сети(мониторинг, настройка и т.д). Но литературы по созданию таких прог на делфи не могу найти. Подскажите где можно найти или если у кого есть по данной теме киньте на мыло. Спасибо.
Также, неплохая книга «К. Джамса, К. Коуп. Программирование для Internet в среде Windows», описание идет на языке С/С++ но понятия в целом от этого не страдают, как и функции API Windows, которые можно (и нужно) использовать в Delphi.
В принципе, сейчас достаточно много литературы на эту тему, но, лучше брать не общие, типа "самоучитель..." и т.д. а с целевым названием.
Delphi только предоставляет интерфейсы для работы с сетевыми функциями, все они базируются на Wondows API - поэтому, суть вашего вопроса, это изучение сетевых технологий под Windows (и не только - за не большим исключением, это кроссплатформенные технологии)
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 30.08.2007, 12:36
Вопрос № 100.276
Здрасти как сделать чтоб программа ждала пока запуститься процесс notepad.exe а потом запускала exe файл . ПОЖАЛУЙСТА ПОМОГИТЕ .
Отвечает: Уваров Андрей Александрович
Здравствуйте, Василий Васильевич Сквозняков!
В приложении функция для запуска файлов. Параметр Wait означает ждать ли завершения процесса.
Приложение:
--------- Обращаться в ICQ: 66550088 (Ally) или E-Mail: AvePassion@GMail.Com
Отвечает: Карабанов Алексей
Здравствуйте, Василий Васильевич Сквозняков!
Не совсем понятно, о какой программе идет речь.
Если я правильно понял имеется приложение, созданное в среде Delphi, которое должно находиттся в памяти, ждать запуска notepad.exe, а затем запускать некий exe файл.
В этом случае можно реализовать некоторые функции TaskManager.
Схема работы такая:
1. Делаем снимок системы.
2. Из этого снимка получаем список выполняющихся процессов.
3. Проверяем в списке наличие notepad.exe.
4. В случае, если он присутствует, запускаем свой exe-файл.
Снимок системы нужно делать периодически, поэтому нужно использовать таймер.
Можно осуществлять мониторинг процессов с помощью функции ядра PsSetCreateProcessNotifyRoutine(), но для этого придется написать драйвер, работающий в режиме ядра. В этом случае таймер не понадобится. Но такой способ достаточно сложен, и представляет собой более трудоемкую задачу, чем та, ради которой Вы все это пишете.
Теперь более конкретно.
1. Снимок системы делается с помощью функции WinAPI CreateToolHelp32Snapshot() из библиотеки TlHelp32.
2. Извлечение из снимка списка процессов.
Process32First - получение первого процесса.
Process32Next - в цикле получает остальные процессы.
В приложении показан работающий пример, отображающий список выполняющихся процессов.
В данном коде создается снимок системы, из него извлекается список выполняющихся процессов, затем имена процессов помещаются в массив.
Из массива заполняется ListBox1.
Для проверки примера разместите на пустой форме LIstBox, и Button.
Код поместите в обработчик события OnClick кнопки. По нажатию кнопки в ListBox будет выводится список процессов
Для работы примера в разделе Uses пропишите модуль TLHelp32.
Данный пример поможет Вам понять, как работает описанная схема.
Для вашей задачи нужет этот же код, кроме строк, касающихся ListBox.
В коде примера массив заполняется именами процессов. Просматривая этот массив можно проверить наличие в нем notepad.exe
Данный код нужно поместить в процедуру, которая вызывается в таймере, тогда Вы будете получать снимок системы периодически с интервалом таймера.
Чтобы работа этого кода не затормаживала систему, его можно поместить в отдельный поток.
Дополнительные вопросы задавайте в мини-форум.
Приложение:
--------- Дорогу осилит идущий!
Ответ отправил: Карабанов Алексей (статус: 9-ый класс)
Ответ отправлен: 30.08.2007, 23:21
Отвечает: Shurka
Зрасти! Во первых это вопрос не по Delphi а по WInAPI или даже ассемблеру, но не важно. Есть два способа.
Вот первый: Время от времени получаем от windы список всех процессов и смотрим есть ли там наш любимый notepad.
Второй: Пишем драйвер перехвата вызовов WinAPI функций.
Насчет реализации:
Так как это может быть использовано для написания вирусов, то подробно объяснять не буду
Про второе ничего не скажу, никогда не делал.
Про первое:
Вот WINAPI функции:
CreateToolhelp32Snapshot
Process32First
Process32Next
CreateProcess
Ответ отправил: Shurka (статус: 2-ой класс)
Ответ отправлен: 31.08.2007, 06:46
Отвечает: W@NDeReR
Здравствуйте, Василий Васильевич Сквозняков!
Поместите на форму таймер и по событию onTimer все происходит.
Полный пример программы в приложении:
Приложение:
--------- Опыт — дитя мысли, а мысль — дитя действия. Нельзя учиться по книгам.
Ответ отправил: W@NDeReR (статус: 5-ый класс)
Ответ отправлен: 31.08.2007, 14:58