Size: a a a

Ассемблер

2021 September 05

E

Entusiast in Ассемблер
Однажды, в одном чате по OSDev, человек хотел написать функцию для получения EIP, тестировал Higher Half Kernel, в итоге GCC и другие компиляторы постоянно меняли
__asm {
mov eax, dword[esp]
ret
}
На  mov eax, dword[esp+4]
Решение так и не нашли, но в итоге на время пропатчили бинарник на dword[esp]
источник

Y

Yura in Ассемблер
Может потому что он не так делал
источник

s

s54816 in Ассемблер
Судя по коду, это студия. А в студии это делается так: https://docs.microsoft.com/en-us/cpp/intrinsics/returnaddress
источник

A

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

E

Entusiast in Ассемблер
Как не так? Всё так. И перепробывал все решения на StackOverflow
И ещё пытался так сделать:
mov eax, esp
mov eax, dword[eax]
Как не пытался - всё равно компилятор по-своему менял.
Во флагах дело, скорее всего, но это очень бесит, поэтому на ассемблере такие вещи делать легче
источник

Y

Yura in Ассемблер
Ахахах
источник

E

Entusiast in Ассемблер
Нет, не студия
источник

Y

Yura in Ассемблер
Вот тебе набор символов и цыфр дал подсказку
источник

Y

Yura in Ассемблер
Ок вот давай припустим что виноват компиль ,но тогда причём тут си и с++
источник

s

s54816 in Ассемблер
У гцц тоже интринсик есть.
источник

E

Entusiast in Ассемблер
Ограничения компилятором, ну и иногда подводит оптимизация, вес больше - соответственно, и кода больше мусорного
источник

E

Entusiast in Ассемблер
Ну нигде такого никто не писал, малопопулярная тема, похоже. Или ввели недавно?

Очень удобно, однако, на этом GCC.
Он теперь и меняет твой ассемблерный код. Куда дальше-то?
источник

Y

Yura in Ассемблер
Напишешь протектор на асемблере и что бы уровнем был как енигма?
источник

E

Entusiast in Ассемблер
Да
Даже выше
источник

s

s54816 in Ассемблер
Никто ничего не меняет, asm в гцц вообще практически текстовая замена. Ты даже переносы строк сам вставлять должен.
источник

Y

Yura in Ассемблер
Удачи
источник

E

Entusiast in Ассемблер
Спасибо за идею. Всё думал, чем мне заняться

Избитая тема, конечно
источник

Y

Yura in Ассемблер
Угу
источник

Y

Yura in Ассемблер
Короч 99 проц уверен что не виноват gcc
источник

E

Entusiast in Ассемблер
Ну, похоже, ты неправ
источник