Язык ассемблера с синтаксисом Intel (х32) - помогите разобраться

N

neschastnyy_sluchay

Я начал читать книгу Хакинг Искусство Эксплойта 2-е издание и наткнулся на ассамблер. Если кто шарит, помогите(я нуб:) )
В книге используеться язык ассемблера с синтаксисом Intel (х32), и у меня не сходиться робота GBD с тем что проиллюстрировано в книге.
Подскажите пожалуйста, что именно у меня не так
Вот мой результат -
1516899672628.png

А вот тот что в книге -
1516899875922.png
 
Так и не должно сходиться на 100%. Программа-то компилировалась не тем же компилятором, не на той же системе и не с тем же железом. В добавок дизассемблеры разных версий могут по разному дизассемблировать.
 
Я начал читать книгу Хакинг Искусство Эксплойта 2-е издание и наткнулся на ассамблер. Если кто шарит, помогите(я нуб:) )
В книге используеться язык ассемблера с синтаксисом Intel (х32), и у меня не сходиться робота GBD с тем что проиллюстрировано в книге.
Подскажите пожалуйста, что именно у меня не так
Вот мой результат -
Посмотреть вложение 15217
А вот тот что в книге -
Посмотреть вложение 15219
ты под линем или под виндой? и какая разрядность системы ?
 
ОХОХОХО! сразу браться за такую книгу. Для начала лучше изучить архитектуру ПеКа. Почитать Танненбаума, википедию. Затем можно начать изучать ассемблер. можно NASM, он мультиплатформенный, есть как на лине, так и на винде, имеет хорошую документацию. Дальше, попытаться написать простую программу.
P.S. Я начинал учить FASM, пытался что-то писать... Это слишком муторно, даже с мануалами, так как то, что можно написать на Си строк в 10, на ASM'e пишется "пол года" (не во всех случаях, но в большинстве). Если учить для реверсинга, то не стоит сильно заморачиваться по поводу написания своих программ, лучше запомнить регистры, для чего они нужны, методы антиотладки, и т.п. Даже для написания шелл кодов лучше учить Си, потом дизассемблировать написанные программы и уже потом править код (потому что там будут нулль-байты, длинные инструкции, которые можно заменить более короткими). В остальном, не вижу смысла учиться писать программы на голом асме, потому что слишком уж узконаправленное это дело.
 
ОХОХОХО! сразу браться за такую книгу. Для начала лучше изучить архитектуру ПеКа. Почитать Танненбаума, википедию. Затем можно начать изучать ассемблер. можно NASM, он мультиплатформенный, есть как на лине, так и на винде, имеет хорошую документацию. Дальше, попытаться написать простую программу.
P.S. Я начинал учить FASM, пытался что-то писать... Это слишком муторно, даже с мануалами, так как то, что можно написать на Си строк в 10, на ASM'e пишется "пол года" (не во всех случаях, но в большинстве). Если учить для реверсинга, то не стоит сильно заморачиваться по поводу написания своих программ, лучше запомнить регистры, для чего они нужны, методы антиотладки, и т.п. Даже для написания шелл кодов лучше учить Си, потом дизассемблировать написанные программы и уже потом править код (потому что там будут нулль-байты, длинные инструкции, которые можно заменить более короткими). В остальном, не вижу смысла учиться писать программы на голом асме, потому что слишком уж узконаправленное это дело.
а еще есть и TASM ;)
 
ОХОХОХО! сразу браться за такую книгу. Для начала лучше изучить архитектуру ПеКа. Почитать Танненбаума, википедию. Затем можно начать изучать ассемблер. можно NASM, он мультиплатформенный, есть как на лине, так и на винде, имеет хорошую документацию. Дальше, попытаться написать простую программу.
P.S. Я начинал учить FASM, пытался что-то писать... Это слишком муторно, даже с мануалами, так как то, что можно написать на Си строк в 10, на ASM'e пишется "пол года" (не во всех случаях, но в большинстве). Если учить для реверсинга, то не стоит сильно заморачиваться по поводу написания своих программ, лучше запомнить регистры, для чего они нужны, методы антиотладки, и т.п. Даже для написания шелл кодов лучше учить Си, потом дизассемблировать написанные программы и уже потом править код (потому что там будут нулль-байты, длинные инструкции, которые можно заменить более короткими). В остальном, не вижу смысла учиться писать программы на голом асме, потому что слишком уж узконаправленное это дело.
можно просто начать с этого
 
Тасм? Который от делфи? Если да, то он мертв и не поддерживается. И, если я правильно помню, не поддерживает 64битную архитектуру. Вообще этих ассемблерных трансляторов куча (gas, masm, tasm, fasm, nasm, yasm) и надо выбрать тот, который больше по-душе
 
ты под линем или под виндой? и какая разрядность системы ?
Windows x64
Может я неправильно сказала, 0 я именно в ассемблере, а так c/c++ дружу уже давно)

---- Добавлено позже ----

Так и не должно сходиться на 100%. Программа-то компилировалась не тем же компилятором, не на той же системе и не с тем же железом. В добавок дизассемблеры разных версий могут по разному дизассемблировать.
Спасибо
 
Последнее редактирование модератором:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!