Сейчас на форуме: testrev1337, vsv1, 2nd, bedop66938 (+7 невидимых)

 eXeL@B —› Крэки, обсуждения —› Принуждение MASM
Посл.ответ Сообщение


Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 01 апреля 2009 12:37
· Личное сообщение · #1

как принудить MASM компилить строку кода pop dword ptr fs:0 в вид 64 67 8F 06 00 00, что и есть гуд,
а не в более длинную 64 8F 05 00 00 00 00, что есть фактически pop large dword ptr fs:0
дело не в одном байте и не в принципе. Рипаю код и из-за этого байта сравнение исходного и вновь скомпиленного кода усложняется.

пробовал:
pop dword ptr fs:[0]
pop fs:[0]

db 64h, 67h, 8Fh, 06h, 00h, 00h - не предлагать

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

Создано: 01 апреля 2009 13:26 · Поправил: Clerk
· Личное сообщение · #2

OKOB
Никак. Чем бинарная строка не устраивает ?
Либо макрос сделай.




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 01 апреля 2009 14:29
· Личное сообщение · #3

Да хотелось красиво. Через директиву или ключи компилятора заставить оптимизировать размер команд. Так еще что нибудь подобное вылезет и снова бинарить. Пока так и сделал через макрос.

-----
127.0.0.1, sweet 127.0.0.1





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 01 апреля 2009 15:11 · Поправил: Jupiter
· Личное сообщение · #4

Code:
  1. 33 C0     xor eax,eax
  2. 64 8F 00  pop fs:[eax]


ну и 90 nop где-нить, для размеру ;)

-----
EnJoy!



 eXeL@B —› Крэки, обсуждения —› Принуждение MASM
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати