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

N

neschastnyy_sluchay

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

А вот тот что в книге -
1516899875922.png
 

Dr.Lafa

Green Team
30.12.2016
507
1 050
BIT
0
Так и не должно сходиться на 100%. Программа-то компилировалась не тем же компилятором, не на той же системе и не с тем же железом. В добавок дизассемблеры разных версий могут по разному дизассемблировать.
 

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
Я начал читать книгу Хакинг Искусство Эксплойта 2-е издание и наткнулся на ассамблер. Если кто шарит, помогите(я нуб:) )
В книге используеться язык ассемблера с синтаксисом Intel (х32), и у меня не сходиться робота GBD с тем что проиллюстрировано в книге.
Подскажите пожалуйста, что именно у меня не так
Вот мой результат -
Посмотреть вложение 15217
А вот тот что в книге -
Посмотреть вложение 15219
ты под линем или под виндой? и какая разрядность системы ?
 
A

a113

ОХОХОХО! сразу браться за такую книгу. Для начала лучше изучить архитектуру ПеКа. Почитать Танненбаума, википедию. Затем можно начать изучать ассемблер. можно NASM, он мультиплатформенный, есть как на лине, так и на винде, имеет хорошую документацию. Дальше, попытаться написать простую программу.
P.S. Я начинал учить FASM, пытался что-то писать... Это слишком муторно, даже с мануалами, так как то, что можно написать на Си строк в 10, на ASM'e пишется "пол года" (не во всех случаях, но в большинстве). Если учить для реверсинга, то не стоит сильно заморачиваться по поводу написания своих программ, лучше запомнить регистры, для чего они нужны, методы антиотладки, и т.п. Даже для написания шелл кодов лучше учить Си, потом дизассемблировать написанные программы и уже потом править код (потому что там будут нулль-байты, длинные инструкции, которые можно заменить более короткими). В остальном, не вижу смысла учиться писать программы на голом асме, потому что слишком уж узконаправленное это дело.
 

sk3l

Green Team
27.04.2017
42
6
BIT
0
ОХОХОХО! сразу браться за такую книгу. Для начала лучше изучить архитектуру ПеКа. Почитать Танненбаума, википедию. Затем можно начать изучать ассемблер. можно NASM, он мультиплатформенный, есть как на лине, так и на винде, имеет хорошую документацию. Дальше, попытаться написать простую программу.
P.S. Я начинал учить FASM, пытался что-то писать... Это слишком муторно, даже с мануалами, так как то, что можно написать на Си строк в 10, на ASM'e пишется "пол года" (не во всех случаях, но в большинстве). Если учить для реверсинга, то не стоит сильно заморачиваться по поводу написания своих программ, лучше запомнить регистры, для чего они нужны, методы антиотладки, и т.п. Даже для написания шелл кодов лучше учить Си, потом дизассемблировать написанные программы и уже потом править код (потому что там будут нулль-байты, длинные инструкции, которые можно заменить более короткими). В остальном, не вижу смысла учиться писать программы на голом асме, потому что слишком уж узконаправленное это дело.
а еще есть и TASM ;)
 

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
ОХОХОХО! сразу браться за такую книгу. Для начала лучше изучить архитектуру ПеКа. Почитать Танненбаума, википедию. Затем можно начать изучать ассемблер. можно NASM, он мультиплатформенный, есть как на лине, так и на винде, имеет хорошую документацию. Дальше, попытаться написать простую программу.
P.S. Я начинал учить FASM, пытался что-то писать... Это слишком муторно, даже с мануалами, так как то, что можно написать на Си строк в 10, на ASM'e пишется "пол года" (не во всех случаях, но в большинстве). Если учить для реверсинга, то не стоит сильно заморачиваться по поводу написания своих программ, лучше запомнить регистры, для чего они нужны, методы антиотладки, и т.п. Даже для написания шелл кодов лучше учить Си, потом дизассемблировать написанные программы и уже потом править код (потому что там будут нулль-байты, длинные инструкции, которые можно заменить более короткими). В остальном, не вижу смысла учиться писать программы на голом асме, потому что слишком уж узконаправленное это дело.
можно просто начать с этого
 
A

a113

Тасм? Который от делфи? Если да, то он мертв и не поддерживается. И, если я правильно помню, не поддерживает 64битную архитектуру. Вообще этих ассемблерных трансляторов куча (gas, masm, tasm, fasm, nasm, yasm) и надо выбрать тот, который больше по-душе
 
N

neschastnyy_sluchay

ты под линем или под виндой? и какая разрядность системы ?
Windows x64
Может я неправильно сказала, 0 я именно в ассемблере, а так c/c++ дружу уже давно)

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

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

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