Size: a a a

Ассемблер

2021 March 12

КП

Котеечко Пухнастиньк... in Ассемблер
я в лонг моде, но суть уловил.
спасибо.

или там есть отличия?
источник

ST

Saenro T in Ассемблер
В 64 push fs/gs сработает,
push ds/es — вряд-ли
источник

КП

Котеечко Пухнастиньк... in Ассемблер
хмм. почему-то не работает.
[75003.623400] get_fs(0x7ffffffff000); get_ds(0xffffffffffffffff)
[75003.635394] my_fs(0x0); my_ds(0x0)
источник

КП

Котеечко Пухнастиньк... in Ассемблер
источник

КП

Котеечко Пухнастиньк... in Ассемблер
снизу код, сверху вывод.
источник

КП

Котеечко Пухнастиньк... in Ассемблер
источник

КП

Котеечко Пухнастиньк... in Ассемблер
эх, щас в отладчике посмотрю
источник

ST

Saenro T in Ассемблер
Через mov должно работать
источник

ST

Saenro T in Ассемблер
mov ax/eax/rax, fs/ds
источник

КП

Котеечко Пухнастиньк... in Ассемблер
источник

КП

Котеечко Пухнастиньк... in Ассемблер
там через селектор в оригинале работает
источник

КП

Котеечко Пухнастиньк... in Ассемблер
оно ж per_cpu типа
источник

КП

Котеечко Пухнастиньк... in Ассемблер
простепал - и mov eax, ds и mov eax, fs
кладут в eax нолик
источник

КП

Котеечко Пухнастиньк... in Ассемблер
источник

КП

Котеечко Пухнастиньк... in Ассемблер
сорц
источник

КП

Котеечко Пухнастиньк... in Ассемблер
кароче по селектору надо брать
источник

ST

Saenro T in Ассемблер
Котеечко Пухнастиньке
простепал - и mov eax, ds и mov eax, fs
кладут в eax нолик
Ну оно как movzx работает
источник

КП

Котеечко Пухнастиньк... in Ассемблер
збс...
mgetds = get_ds();
mov    qword ptr [rbp - 0x28], -1
источник

КП

Котеечко Пухнастиньк... in Ассемблер
видимо, это не те ds и gs
источник

КП

Котеечко Пухнастиньк... in Ассемблер
#define get_fs()    (current->thread.addr_limit)
блинаа, оффсеты
источник