» windows windows. Хакинг. . Блог программистов


Блог программистов






201130 Май

Клавиатурный шпион. Игра переходит на новый уровень

Приветствую тебя, читатель блога программистов! Появление на блоге статьей с периодом в полгода наверно стало уже традицией, притом очень плохой традицией, поэтому эту традицию надо срочно нарушать! В этой статье я снова возвращаюсь к теме клавиатурных шпионов, казалось бы, тема избита и размусолена до такой степени, что уже при одном только её упоминании начинает тошнить. Здесь очень трудно придумать что-то новое, но всё-таки есть ещё способ фильтрации или отслеживания нажатий клавиш на клавиатуре – это написание клавиатурного драйвера-фильтра. Притом драйвер будет не обычным, а с поддержкой технологии Plug&Play.
(more…)

200930 Мар

Хуки в Windows. Часть вторая. Работа с окнами

Здравствуй, уважаемый читатель. В первой статье про хуки речь шла об основах механизмов хуков и о клавиатурных хуках. Во второй статье про хуки в Windows я расскажу про слежение событий создания, активации, уничтожения окон. Также много внимания будет уделено методам межпроцессорного взаимодействия с использованием разделяемой памяти (мэпинга) и синхронизации потоков с использованием мьютексов. Также будет написана программа на Delphi для осуществления мониторинга окон.
(more…)

20083 Июн

Работа с устройствами в Windows

Здравствуй читатель! Наконец-то, после долгого перерыва на блоге программистов, новая статья! В данной статье я расскажу про работу с устройствами в системах Windows NT. Конкретно я расскажу про то, как можно получить список устройств, отключение и включение устройств, безопасное извлечение устройства. На форуме программистов часто создаются темы с вопросами про то, как можно узнать об изменениях в аппаратном профиле. И об это тоже я буду говорить в этой статье.

(more…)

200719 Сен

MASM32 и DELPHI — битва за размер…

Часто говорят о потребностях в оптимизации проекта с целью уменьшения размера программы… Delphi является аутсайдером по этому показателю среди основных языков для разработки системных приложений… Действительно у ламеров есть очень сильный (как им кажется) аргумент — Делфи создаёт пустой проект весом почти 400 кб)).. Напротив асемблер считается передовиком направления создания компактных приложений и по мнению ламеров разница в размерах огромна по сравнению с делфи… Да это так.. но всё же давайте попробуем написать программу хеллоу ворлд… выводящую просто окошко с заголовком Hallo и строкой Hallo World!!! напишим мы эти проги на Delphi и Asm… и посмотрим какая будет разница в размере…

(more…)

200711 Сен

Обработка исключений в Delphi

   Здравствуйте уважаемые «дельфисты» и им сочувствующие. Сегодня я вам расскажу про обработку исключений в программах на Delphi. Техника, описанная мной позволяет почти полностью контролировать выполнение сомнительного кода, который может и не сработать в самый критичный момент. Данная статья в первую очередь ориентирована на «чайников».
(more…)

200711 Сен

Профессия программист — Журнал «куда пойти учиться»

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

Пишет, Светлана Юдина.

Взгляд журналиста на профессию:

Программист – одна из самых востребованных и высокооплачиваемых профессий в России. Даже не самый продвинутый специалист может найти работу в соответствии со своим уровнем знаний, а затем постепенно учиться и набираться опыта.

(more…)

20073 Авг

СКЛЕИВАНИЕ ФАЙЛОВ

Как я и обещал выкладываю свой способ склейки файлов.
Суть метода предельно, до тупого проста и понятна всем.
В исходник программы носителя добавляется приведённая ниже
процедура: Joiner. А дальше где-нибудь в программе
устанавливется её вызов, например в начале основной части
или, если её нет в функции FormCreate, в общем где посчитаете
нужно, там и ставите… Далее действуем так: у нас есть
два файла например nositel.exe-файл-носитель и Joined.exe —
клеимый файл. Размещаем эти файлы в одном каталоге, запускаем
nositel.exe в этом же каталоге образуется файл nositel.exe.exe
он представляет собой уже склееные два файла nositel.exe и
Joined.exe с добавленной в DOS-заголовке меткой склеености)))
В общем-то если вы все параметры правильно ввели то у всё
уже готово))… Переименовываем nositel.exe.exe в рабочее имя
и можем его применять… при запуске этого файла он извлекает
приклееную прогу в указанное в параметре место и в зависимости
от выбранный парамтров запускает или нет с выбранным способом
отображения окна)))
(more…)

200715 Май

Асинхронный ввод/вывод

    Сегодня я расскажу про асинхронный ввод/вывод. При обычном вводе/выводе функция ввода/вывода (FileWrite/Read, Write/ReadFile(Ex), BlockRead/Write, TFileStream.Read/Write) возвратит управление только после того, как полностью выполнится операция ввода/вывода. А если используется носитель с медленной скоростью чтения/записи, или производится обработка больших объёмов данных, то программа «подвиснет» на время чтения/записи. При асинхронном вводе/выводе функция сразу же возвращает управление, и программа продолжает выполняться дальше без задержек. Эта технология может пригодиться для разработки программ для взаимодействия с внешними устройствами с низкой скоростью передачи данных, например сотовыми телефонами, устройствами BlueTooth или IrDA.
(more…)

20072 Мар

Windows

Надо узнать, где запрятана, на компьютере, эта глюченая, но родная система под названием windows:


Private
Windir: string;
WindirP: PChar;
Res: Cardinal;

procedure TForm1.Button1Click(Sender: TObject);
begin
WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then
WinDir := StrPas(WinDirP);
Caption := WinDir;
end;

Теперь надо выяснить, что за windows и dos перед нами. Думаю, пару label и одной button хватит:
(more…)

20071 Мар

Общение между запущенными копиями своих программ.

Рассматривать задачу будем на конкретном примере некого приложения.

Опишем предметную область и постановку задачи:

необходимо чтобы наше приложение, зарегистрировав себя как протокол в системе Windows, позволяло при нажатии на ссылкуу вида testproject:\\xxxxx запустило наше приложение (если оно не запущено) и передало ему параметры ссылки. Если же приложение уже запущено, то нам не обходимо запущеной копии приложения сообщить параметры ссылки.

Ну чтож, задачу описали, приступим к реализации.

Для примера я буду использовать BDS 2006.

Создадим новый проект.

Сначала нам необходимо зарегистрироваться в реестре, чтобы система воспринимала правильно наши ссылки, поэтому:
(more…)


Облако меток

AdSense клиент компонент api ClientSocket библиотеки dll ServerSocket приложение INTERFACE шифровка байт char работа пароль учеба programmer процессор Application HANDLE Cursor C++ AssignFile хуки win api Project Internet google FASM memo исходники html функция язык System поиск GetLastError алгоритм программист programmersclub сервер форум exe сайт файл проект Assembler шифрование windows delphi