Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Я пишу. Да и можно не писать, но знать , для некоторых тем, обязательно. Как вы напишите перехват WinApi без знания опкодов и вызова функций? Как оптимизировать сложные вычисления, не зная, как обрабатываются большие цифры на уровне регистров? Про малварь и антивирусы я вообще молчу.Извините за нескромный вопрос, но, ЗАЧЕМ?
Кто сейчас пишет на ассемблере?
Хм. А так ли необходим для этого ассемблер?Как вы напишите перехват WinApi без знания опкодов и вызова функций?
Есть у меня подозрение, что современные оптимизирующие компиляторы сделают это лучше чем человек. Особенно в случае объемного кода.Как оптимизировать сложные вычисления, не зная, как обрабатываются большие цифры на уровне регистров?
Править таблицу импорта можно хоть на бейсике, но пролог функций - нужно знать опкоды Нужно понимать, что такое вообще пролог и т.д., а это как раз идет от знания Асма.Редактирование таблицы импорта функций - на многих языках ВУ можно сделать.
Если перехват через подмену пролога функций, то тоже на большинстве языков ВУ можно сделать.
Вы правы, понятно,что никто не Асме не будет писать , как "пишет" компилятор, потому что нужно очень много чего помнить и очень легко ошибиться, не сохранив где надо регистр или немножко напутав к-тво push/pop. Человек чисто физически не может так писать, разве что под веществами или гении. Да и смысла нет. Но, есть разные ситуации, к примерусовременные оптимизирующие компиляторы сделают это лучше чем человек. Особенно в случае объемного кода.
Да, приучает экономить все и вся, оптимизировать код, не разбрасываться памятью. Хотя, оно мало кому надо, в век сишарпа и питона..Кто знает ассемблер, тот имеет настоящее компьютерное мышление
Ну, чисто теоретически, можно править пролог не зная что делают команды ассемблера. Достаточно в дизассемблере скопировать несколько команд, не вникая в их смысл, и получить правильную длину. А потом вписать джамп по шаблону. Или даже воспользоваться дизассемблером длин и оперировать везде циферками не глядя на код. На практике, конечно, без знания ассемблера в такого рода задачах делать нечегоПравить таблицу импорта можно хоть на бейсике, но пролог функций - нужно знать опкоды Нужно понимать, что такое вообще пролог и т.д., а это как раз идет от знания Асма.
Ага. Добавить к этому 32 регистра МИПСа, несколько сотен физических регистров х86 (пусть архитектурных и меньше.). Я в последнее время даже растактовки команд для современных процессоров не встречал. То ли это секретной информацией стало, то ли современные процы слишком сложны для такого примитивного подхода.Вы правы, понятно,что никто не Асме не будет писать , как "пишет" компилятор, потому что нужно очень много чего помнить и очень легко ошибиться, не сохранив где надо регистр или немножко напутав к-тво push/pop. Человек чисто физически не может так писать, разве что под веществами или гении. Да и смысла нет. Но, есть разные ситуации, к примеру
Ага. Для меня программирование на ассемблере это не просто знание всех команд, но и активное использование триков и трюков архитектуры. Что позволяло, к примеру, в некоторых задачах выполнять код на Z80 @ 3.5MHz быстрее чем на MOS6502 @ 1.024MHz. Теневой набор регистров сильная штука!Да, приучает экономить все и вся, оптимизировать код, не разбрасываться памятью. Хотя, оно мало кому надо, в век сишарпа и питона..
Мне кажется, это и самое главное. В коммерческом поточном программировании места для асма не осталось. Увы.Хотя вот лично мне - просто нравится, чисто как хобби, накодить что-то небольшое, для себя, для винды, на Ассемблере.