Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Исследование защиты программы SmartUndelete

27.02.2020 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы SmartUndelete

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

Читать статью целиком »
Просмотров: 624 | Комментариев: 0

Поле EDIT для ввода десятичных цифр

26.02.2020 | Категория: Образ мышления: Assembler | Автор: ManHunter
Как известно, если элементу диалогового окна типа EDIT установить флаг ES_NUMBER, то ввести в него можно будет только символы из интервала "0" - "9". Это в теории. На практике же в это поле через Ctrl+V или контекстное меню совершенно спокойно можно вставить любые данные, о чем даже написано в официальной документации. А еще в это поле нельзя ввести отрицательное число. Таким образом, практическая ценность ES_NUMBER приближается к нулю. Давайте учтем все эти недостатки и сделаем собственное, правильное поле EDIT для ввода десятичных цифр.

Чтобы полностью контролировать ввод, надо будет воспользоваться субклассированием, заменив стандартную процедуру обработки на собственную. Это мы уже делали не раз, ничего нового тут нет.
  1. ; Сегмент данных
  2. section '.data' data readable writeable  
  3. OldProc dd ?    ; Адрес предыдущего обработчика
  4.  
  5. ; Сегмент кода
  6. section '.code' code readable executable
  7.         ...
  8.         ; Субклассирование на этапе инициализации окна
  9.         invoke  GetDlgItem,[hwnddlg],ID_SUB
  10.         ; Установить наш собственный обработчик
  11.         invoke  SetWindowLong,eax,GWL_WNDPROC,EditWindowProc
  12.         ; Сохранить хэндл предыдущего обработчика
  13.         mov     [OldProc],eax
  14.         ...
Для одиночного поля можно ограничиться этим решением, но если таких полей предполагается несколько, то лучше воспользоваться универсальным субклассированием.

Читать статью целиком »
Просмотров: 337 | Комментариев: 2

Поздравляю с Днем защитника Отечества!

23.02.2020 | Категория: Всякая всячина | Автор: ManHunter

Поздравляю с Днем защитника Отечества!

Всех причастных поздравляю с Днем защитника Отечества! Хочу пожелать вам силы, мужества и отваги. Пусть каждый день жизни будет успешным, каждый поступок - достойным, каждая идея - отличной, а каждое слово - твердым. Будьте здоровы, любимы и непобедимы!

С уважением, -
ManHunter / PCL


Просмотров: 161 | Комментариев: 2

Рулет из блинчиков с бананами

19.02.2020 | Категория: А еще я туда ем! | Автор: ManHunter

Рулет из блинчиков с бананами

Масленничные угощения можно разнообразить вот таким несложным десертом на основе все тех же блинчиков. Калорий в нем, конечно, получается немеряно, но кого это останавливает в праздничные гулянья?

Читать статью целиком »
Просмотров: 194 | Комментариев: 0

Музей пермских древностей

17.02.2020 | Категория: Жизнь в оффлайне | Автор: ManHunter

Музей пермских древностей

Музей пермских древностей - путешествие в прошлое Земли, во времена удивительных растений и загадочных животных, которых изучает наука палеонтология. Большинство из них исчезли навсегда, оставив лишь следы в летописи планеты. В недрах Пермского края скрыта летопись пермского периода, которую в 1841 году впервые "прочитал" шотландский геолог Родерик Мурчисон. Изучив горные породы и окаменелости пермской земли, он писал: "...мы решились обозначить горные породы по имени древнего царствия Биармии, или Пермии". Так Пермский край оказался навсегда вписан в геологический календарь всей планеты, наряду с Юрскими горами на границе Швейцарии и Франции или английским графством Девоншир.

Читать статью целиком »
Просмотров: 150 | Комментариев: 1

01 ... 07 08 09 10 11 12 13 ... 304
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2020
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.08 сек. / MySQL: 2 (0.0193 сек.) / Память: 4.75 Mb
Наверх