Size: a a a

Ассемблер

2021 March 18

A

Aleksandr in Ассемблер
scp для кого придумали?
источник

D

Drivel in Ассемблер
Подскажите пожалуйста, почему в aGreater и cGreater проходят отрицательные числа и с ними выполняются действия, хотя по идее стоит проверка больше нуля и не должны проходить, а должно выполняться условие notGreater
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Drivel
Подскажите пожалуйста, почему в aGreater и cGreater проходят отрицательные числа и с ними выполняются действия, хотя по идее стоит проверка больше нуля и не должны проходить, а должно выполняться условие notGreater
потому что есть сравнение беззнаковых чисел, а есть сравнение знаковых. ты делаешь сравнение беззнаковых
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
ab сравнеие беззнаковых, gl сравнение знаковых
источник

D

Drivel in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
ab сравнеие беззнаковых, gl сравнение знаковых
Спасибо, теперь работает
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
а да, ты стек не выравниваешь после притнф
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
🤐
источник

d

disba1ancer in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
а да, ты стек не выравниваешь после притнф
скорее не чистит
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
чистить значит изменять в нем какие либо данные/байты, я говорю про выравнивнивание. проверить просто, перед вызовом принта, запушить какое либо значение, после выполнение, если восмтановить значение  оно должно быть тем же. но при неправильно (отсутствии) выравнивании esp будет указывать не туда, не на это число
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
сделав +100500 раз в цикле выполнение этого принта - прога вылетит от переполнения стеека
источник

D

Den in Ассемблер
кстати в опциях линуксового ядра можно при компиляции указать, чтобы при выходе из функции кадр очищался, в 5.x ядре такое встроена возможность, не знаю в дистрибутивах правда это включают или нет
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Den
кстати в опциях линуксового ядра можно при компиляции указать, чтобы при выходе из функции кадр очищался, в 5.x ядре такое встроена возможность, не знаю в дистрибутивах правда это включают или нет
очищался при использовании gcc? но на асме пока ты сам этого не сделаешь - за тебя никто не сделает? разве что там в самом стандарте правки делают  при использовании сишных функций, но тогда это будет уже не cdecl
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in Ассемблер
Den
там под него какой то скрипт надо скачать чтобы удобно работать было иначе это боль, я не знаю я с ним не работал
peda. А вообще есть edb
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
peda. А вообще есть edb
аа ты что нить знаешь о этих опциях ядра в 5.х?
источник

D

Den in Ассемблер
Вот честно даже не знаю каков механизм, врать не буду, там ведь каждому виртуальному процессу вроде свой стэк выделяется на ринг 3, может ядро как то отслеживает комманды call ret но системные вызовы контролировать точно может
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in Ассемблер
Den
кстати в опциях линуксового ядра можно при компиляции указать, чтобы при выходе из функции кадр очищался, в 5.x ядре такое встроена возможность, не знаю в дистрибутивах правда это включают или нет
Из функции или из программы?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
о printf идет речь
источник

D

Den in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
аа ты что нить знаешь о этих опциях ядра в 5.х?
я счас скрин скину..
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
о printf идет речь
Ну printf это же обёртка вокруг write. Так что возможно
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Ну printf это же обёртка вокруг write. Так что возможно
а какая связь между выравниванием стека после принта и оберткой вокруг врайт?
источник