Доброго времени суток. Помогите пожалуйста. Недавно начал интересоваться Ассемблером. Притом встал наверное самый распространенный выбор Linux с gas или Windows с MASM (или любым другим). Притом выбор даже не в ассемблере, а в надобности и востребованности ассемблера в этих системах. Заранее спасибо.
ну ассемблер сейчас практически не востребован. А там где он востребован, нужно огромное кол-во других значений связанных побольшей частью не с ассемблером. Лично по мне кажется что для изучения самым простое может быть FASM под Windows А там уже и под никсы на нем можно писать. Потому что интеловский синтаксис проще чем AT&T
Спасибо. Вот еще несколько вопросов: Дисассемблерные листинги IDA выводит на каком ассемблере? Если я в будущем займусь эксплоитами/руткитами (знаю что при моем уровне развития это как минимум смешно) то fasm будет вполне приемлемым ассемблером?
IDA дается просто дизасембленный код. И врядли тебе удастся так просто его скомпилить. На асме проги никто шас почти не пишет. всё пишется на Си. А Асм юзается тока как вставки кода небольшие
2 GRRRL Power тут тема касается эксплоитов и руткитов и по этому дельфи с его компонентами и сишарпом стоят и отдыхают.
молодой человеГ,не обязательно на нём писать... но знать его нужно. Вы думаете что ваша делфя востребованна в серьёзных конторах,а?вот вот...так что если у вас личные не лады с асм-ом то это ваши личные проблемы. asm жив и будет жить... inc asm
Можно, спорим? Omg Нет, если шаришь...что угодно. А делфи с C# сравнивать скверно. Ассемблер - отец. По сабжу : выбор есть всегда, и не надо убиваться в ассемблер, нужно лишь самые тонкие места оптимизировать на ассемблере(Очевидно, да?...ну извините)
Выдраный листинг из ИДЫ ты не сконпелируешь. Его придется переписывать на фасм/масм/етц. Гыгы, конечно. Очень логично будет забивать отверткой гвозиди, а молотком закручивать шурупы.
В том, то и дело что это надо на тех компиляторах которые туповато компилят. Ты возьми MS DDK C Compiler и погляди какой он код строит при оптимизации. Порой ты на асме хрен додумаешься/или сложно очень написать такой код который там получается. И там ассемблерные вставки нужны только для работы с очень редкими операциями которые там не реализованы. (rdtsc, ror, rol (и то не факт. макросы может сворачивать до этой инструкции) к примеру). Есть конечно такие алгоритмы которые можно на асм вставках написать и они будут быстрее, но это оочень редкий случай. Потому что правильон написанный код на Си сразу даст тебе по производительности равный код, а иногда и лучше.. хотябы за счет inline и тому подобных вешь. Тембоее что в Сишный компилятор уже вмантированы многие особенности, типа сложение и вычитание на 1 и 2. Умножение и деление целочисленное на степерь двойки. Это он всё уже оптиально скомпилит. 2 Ins3t Ты не поверишь, но на рояльных петлях шурупы забивают молотком. А я ответку юзаю для забивания очень маленьких гвоздей в очень неудобные места. Ну да Делфи сравнивать с С# скверно, потому что делфи хоть дает машинный код. херовый, большой но машинный. А Шарп вообще хз что. Но в данном случае идет разговор чуть про другое и другой язык. Ты откуда такой умный взялся? Напиши на Шарпе или делфи драйвер руткита. Или брут md5 на Делфи или шарпе (пахать будет но скорость я чувствую мала будет). Или еще лучше шелкод напиши на этих языках без асм вставок. На делфи кое как мож и получится, а вот шарт будет отдахыть (а на си можно это сделать просто). А вообще асм до сих пор востребован при отладке и изучении прог. Порой бывает что ошибку можно найти тока при отладке ассемблерного кода (хотя имеется на руках машинный код). Простым примером могу привести крэш некоторых WinAPI функций, который происходит при передаче им адреса буфера не кратного 4-м. И такое хрен ты сможешь обнаружить по отладке исходника, без просмотра асм кода Итого оффтопише прикрываю ибо спор зашел втупит, потому что в очередной раз начинаете сравнивать *уй с морковкой.