Pull to refresh
4
0.2
Send message
Книги отличные! Помню, читал первую часть, автор очень хорошо объясняет.
И начинает именно с азов, с Ассемблера, Си, устройства ОС.
Наверное, перехват WinApi функций, отвечающих за снятие скриншота (BitBlt или что там). Не задумывался о таком никогда, но вообще, идея хорошая.

Кстати да, недавно тоже пришлось срочно искать альтернативу flash. Поставил китайский браузер maxthon. Не знаю, как оно там реализовано, но работает. А ruffle да, пока только поиграться, практического толку мало.

Такая же логика, по которой создателям скан4ю дали 14 или сколько лет в Прибалтике. По факту, они создали всего лишь аналог вирустотала..

Да, согласен; надо учиться с 32 бит, понять суть, а там и на 64 переходить. Поменять fs на gs, другие регистры и т.д.
ASLR работает, дело не в этом; если раньше (в ХР) мы могли захардкодить какой-то 0x77880000 как адрес кернела, и обращаться туда напрямую, то сейчас нужно его найти. В данном примере, возможно, не особо понятна разница (ну что такого, нашел и нашел), но допустим RCE с включенным ASLR практически нереально написать (имею ввиду стабильное работающее решение).
Вместо минусов предложите язык для ядра, гипервизоров. Нет таких. Есть попытки внедрять С++, но там многие вещи приходится отключать. Rust разве что… Но как там обстоит дело с исключениями и прочими вещами «безопасного кодинга» если перейти в ядро? не вернемся ли к тому, от чего ушли?
p.s. не кодил на rust.
Драйвера прикажете тоже на Go писать? Или на питоне?
Может, действительно, стоит оставить язык Си в покое? Раз он дожил до стольких лет и все еще популярен, видимо есть там что-то, что не убить никакими «инновациями».

Касаемо прикладного софта — соглашусь.
M$ и прочие постоянно внедряют разные защиты (SMEP, process mitigation и т.д.) от эксплойтов. Правда, в основном они направленные на то, чтобы вредоносный код не получил привилегии ring0. Запрещать что-то в ядре… ну, как по мне, очень плохая практика. И так там все становится хуже начиная с висты и дальше. Майкрософт урезает недокументированные возможности ядра, давая взамен весьма куцые официальные.
Необычно, что уязвимость в CNG, а не (как обычно для винды) в GDI ).

Спасибо, хорошая подборка методов.

1. mov перезапишет предыдущее значение в любом случае.
Тоже позанудствую.
1. Зачем xor esi, esi? Для хотпатча, так там нужно mov esi, да и смысл. Я уже молчу, что stdcall должен сохранять этот регистр.
2. в реальном шк желательно проверять (strcmp самопальный) действительно ли мы нашли kernel32 (кстати, на семерке там вроде как kernelbase, но не суть), т.к. аверы могут встроить свою длл.
В любом случае, в ядре только utf-16. Эти функции-А — просто переходники (за редким исключением, скажем OutputdebugString именно анси), их использование M$ не рекомендует (потому как двойная работа).
Насчет utf-8 не знал.
Возможно, поживем-увидим. В любом случае, часть приложений работать не будет (там где напрямую юзается натив или еще какие «хаки»), и в целом — смысл писать на винапи окончательно пропадет (ибо не будет выигрыша по скорости и низкоуровневому доступу к разным фишкам).
Немногочисленные фанаты надеются на новые сборки ХРюши (с поддержкой программ для висты и выше). В любом случае, интересно посмотреть такие исходники. И интересно, что теперь будет с реактос — скачек вперед или наоборот?
А что будет со всем софтом, использующим winapi? Впрочем, M$ давно желает избавиться от «неуправляемого» (или как они там называют) кода. Но конец винапи будет концом самой винды.
на васме/клабе и еще некоторых форумах тусуется группа (или это один сумасшедший), выкладывающий «сборки ХР 2020». Только какой смысл в этом, если современные программы не будут работать на ХР (в большинстве).
Конечно, большинству обывателей кроме браузера ничего и не надо, но если брать другой софт — то нужно искать древние версии и прочие костыли.
А помимо этого файла есть что-то годное? Качаю, пока что нашел сорцы по native api с книги Небета (уже 20 лет как документированные). ( /misc/Windows 2000 Native API (source code)), и тот самый запароленный архив windows_xp_source.rar.
Еще какие-то видео есть, их не качал даже.
Что поделать, за все надо платить. Впрочем, как я понимаю, вряд ли размер кого-то сейчас волнует. Даже малварь, уж на то специфический софт — и то пишут на go / rust. Иногда попадаются экземпляры по 3-5 метров, причем не за счет какой-то хитрой упаковки — а просто так собрали, без оптимизаций.

Information

Rating
2,652-nd
Registered
Activity