Сейчас на форуме: laslo, UniSoft, bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› Антиэмуляция
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 02 октября 2010 03:21
· Личное сообщение · #1

В общем предлагаю размещать тут кодес по этой теме.
Думаю многим будет интересен этот аспект.

-----
продавец резиновых утёнков




Ранг: 162.4 (ветеран), 11thx
Активность: 0.060
Статус: Участник

Создано: 15 октября 2010 16:34
· Личное сообщение · #2

распаковывать алг на асинхронном событии OS (ну и ставиться на асинхронный вызов не слишком явно
с нужными параметрами для распаковщика).




Ранг: 67.4 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 16 октября 2010 19:07 · Поправил: Sunzer
· Личное сообщение · #3

dermatolog пишет:
mov ax,1234
bswap ax


А разве можно bswap выполнять для 16 битного операнда?

Юров пишет что операнд должен быть 32 битный.

Вторая оля не транcлирует bswap ax



Ранг: 65.4 (постоянный), 10thx
Активность: 0.020
Статус: Участник

Создано: 16 октября 2010 20:29 · Поправил: V0ldemAr
· Личное сообщение · #4

Sunzer пишет:
А разве можно bswap выполнять для 16 битного операнда?Юров пишет что операнд должен быть 32 битный.Вторая оля не транcлирует bswap ax

Можно если префикс прилепить на выходе ax будет нулевой. а страршая часть EAX так и останется это недокументированая фичура...

Оля 2:
Code:
  1. CPU Disasm
  2. 66:0FC8         bswap   ax                               ; Undocumented instruction or encoding




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 28 октября 2010 22:11
· Личное сообщение · #5

Ещё один прикол, мною впервые встречен у дерматолога:
Code:
  1. OpCode=0xD6 setalc / salc - set AL carry flag

КОП недокументирован.

Также недокументированные КОПы: AAM (0xD4), AAD (0xD5), LOADALL, ICEBP (баян)...




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 28 октября 2010 22:22
· Личное сообщение · #6

SALC только ману интела неизвестен, амд его знает/догадывается. аам,аад,аас должны знать все маны. Лоадолл старая и сейчас не юзается. Ну айсбп-понятно.
Кстати говоря, leave, как и enter, может иметь префикс 66 и работать по-другому. А это скорее всего не учтено в эмуляторе, ибо репорта про это не было.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 28 октября 2010 22:28
· Личное сообщение · #7

Ну да, я на какую-то старую доку напоролся. Там даже SSE1 мувы были обозначены за UMOV и помечены как недокументированные.

Loadall может и старая, но мы же про антиэмулцию говорим.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 29 октября 2010 16:51
· Личное сообщение · #8

Старая=не поддерживается современным процессором, опкоды 0f 05, сейчас там syscall. В каком-то из пней её убрали, так что не уверен, что её актуально делать в эмуляторе.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 29 октября 2010 17:28
· Личное сообщение · #9

Archer пишет:
аам,аад,аас должны знать все маны.

Когда то это было приват андокументед инструктионс. И в манах их не было, а вот когда их уже начали юзать тогда маны и обновили.

-----
Yann Tiersen best and do not fuck




Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 30 октября 2010 12:16 · Поправил: HiEndsoft
· Личное сообщение · #10

Антиэмуляция для MS решается антидамповыми финтефлюшками
SLV пишет:
За кодом в комерц.

Согласен, но дискуссия здесь не помешала бы.

-----
продавец резиновых утёнков




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 30 октября 2010 14:51
· Личное сообщение · #11

Archer пишет:
В каком-то из пней её убрали, так что не уверен, что её актуально делать в эмуляторе

LOADALL была только в i286, в i386 была аналогичная с другим опкодом.
Всё что выше i386 - LOADALL не поддерживает, её просто выкинули.



Ранг: 222.2 (наставник), 115thx
Активность: 0.140.01
Статус: Участник

Создано: 16 ноября 2010 09:49
· Личное сообщение · #12

[amd only!]
Думаю это также имеет отношение к антиэмуляции.
link2
запасаюсь попкорном - интересно почитать комментарии "системщиков"

-----
все багрепорты - в личные сообщения





Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 16 ноября 2010 10:14
· Личное сообщение · #13

int пишет:
Ещё один прикол, мною впервые встречен у дерматолога:
Code:

1. OpCode=0xD6 setalc / salc - set AL carry flag


Никогда такого не было.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 16 ноября 2010 12:31
· Личное сообщение · #14

Да ладно, дать файлик?




Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 16 ноября 2010 13:09
· Личное сообщение · #15

int пишет:

Да ладно, дать файлик?

Давай.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 16 ноября 2010 14:14
· Личное сообщение · #16

В зеброиде было (0x1468D17 адрес). Вполне возможно, что это ошибка декомпиля, что он туда полез. Вечером буду разбираться.


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


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