Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 915
от 05.09.2007, 03:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 466, Экспертов: 71
В номере:Вопросов: 4, Ответов: 10


Вопрос № 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)
Спасибо.
Отправлен: 30.08.2007, 08:11
Вопрос задал: Ренат Байрамгулов (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Omickron
Здравствуйте, Ренат Байрамгулов!
!!!
Я использую PECompact. Отличный упаковщик, устанавливается в систему, прописывается в контекстное меню *.dll и *.exe файлов. Бесплатный.
Если нужно - пишите на мыло. Вышлю.

Примечание: PECompact бесплатен только для некоммерческого применения (для бесплатных программ). Цены на PECompact и скачать пробную версию можно на сайте: ссылка

Denisss
Ответ отправил: Omickron (статус: 4-ый класс)
Ответ отправлен: 30.08.2007, 08:43
Оценка за ответ: 5

Отвечает: Denisss
Здравствуйте, Ренат Байрамгулов!

Есть отличные бесплатные упаковщики:
Yoda's Protector;
GHF Protector.

В дополнение, рекомендую почитать обзор нескольких упаковщиков и программ по скрытию упаковщиков здесь: ссылка 1, ссылка 2

На мой взгляд, лучший вариант - это упаковать программу с помощью UPX (ссылка), после чего спрятать из программы информацию об упаковщике (с помощью программы Stealth PE или бесплатной PeStubOEP)

Удачи!
Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
----
Ответ отправлен: 30.08.2007, 09:13
Оценка за ответ: 5
Комментарий оценки:
Спасибо, эксперты.
Теперь у меня целая коллекция упаковщиков. осталось только их протестировать.

Отвечает: Дмитрий С.
Здравствуйте, Ренат Байрамгулов!
Скажите, чем Вам не гравится AsPack? Там есть такая фича: он при сжатии преобразовывает код файла в двоичный, и при этом взлом такого файла становится на уровень сложнее.

Но скажу Вам одну вещь - абсолютно защищённых и непроникновенных систем не существует. Везде есть небольшие баги. Их нужно только найти ;)
---------
Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 4-ый класс)
Ответ отправлен: 31.08.2007, 15:27
Оценка за ответ: 5
Комментарий оценки:
Благодарен!!


Вопрос № 100.224
Возникла необходимость научиться создавать программы для сети(мониторинг, настройка и т.д). Но литературы по созданию таких прог на делфи не могу найти. Подскажите где можно найти или если у кого есть по данной теме киньте на мыло. Спасибо.
Отправлен: 30.08.2007, 12:05
Вопрос задал: Diman Soldatov / DES (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Виктор Пырлик
Здравствуйте, Diman Soldatov / DES!

Вот несколько ссылок:
«Delphi 7. Для профессионалов» М. Кэнту издательства «Питер». Там довольно хорошо изложен материал и не только по сетям.

Delphi 7. Для профессионалов, М. Кэнту (электронный вариант)

описание TClientSocket
описание TServerSocket
Windows Socket API в Delphi

Также, неплохая книга «К. Джамса, К. Коуп. Программирование для Internet в среде Windows», описание идет на языке С/С++ но понятия в целом от этого не страдают, как и функции API Windows, которые можно (и нужно) использовать в Delphi.

В принципе, сейчас достаточно много литературы на эту тему, но, лучше брать не общие, типа "самоучитель..." и т.д. а с целевым названием.
Delphi только предоставляет интерфейсы для работы с сетевыми функциями, все они базируются на Wondows API - поэтому, суть вашего вопроса, это изучение сетевых технологий под Windows (и не только - за не большим исключением, это кроссплатформенные технологии)
---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 30.08.2007, 12:36


Вопрос № 100.276
Здрасти как сделать чтоб программа ждала пока запуститься процесс notepad.exe а потом запускала exe файл . ПОЖАЛУЙСТА ПОМОГИТЕ .
Отправлен: 30.08.2007, 19:59
Вопрос задал: Василий Васильевич Сквозняков (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Уваров Андрей Александрович
Здравствуйте, Василий Васильевич Сквозняков!
В приложении функция для запуска файлов. Параметр Wait означает ждать ли завершения процесса.

Приложение:

---------
Обращаться в ICQ: 66550088 (Ally) или E-Mail: AvePassion@GMail.Com

Ответ отправил: Уваров Андрей Александрович (статус: Студент)
Ответ отправлен: 30.08.2007, 23:11

Отвечает: Карабанов Алексей
Здравствуйте, Василий Васильевич Сквозняков!

Не совсем понятно, о какой программе идет речь.
Если я правильно понял имеется приложение, созданное в среде 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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.58 от 30.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное