Насчет Оптимизации

Тема в разделе "WASM.BEGINNERS", создана пользователем scalter, 18 ноя 2007.

  1. scalter

    scalter New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    30
    Привет вам! Подскажите люди, в своих вирях какую оптимизацию вы обычно делаете: по скорости или по размеру? На какую и при каких условиях лучше делать упор(или все оставить, как есть)?
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    имхо смотреть на скорость в вирях не стоит (если конечно они не на компонентах делфи построены :))

    лично я пытаюсь сделать размер поменьше, хотя и пишу на асме, где меньше уже и быть не может
     
  3. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    scalter
    да, интересно, если ты пишешь на асме, то каким образом ты сам для себя автоматически можешь "разграничивать" оптимизацию по скорости с оптимизацией по размеру?
    т.е. по логике тогда при написании очередной асм-инструкции в вире ты кажд. раз должен задумыватся: "такссс, если я напишу xxx, то это будет оптимизация по скорости, а если yyy - то по размеру. а т.к. я решил писать придерживаясь xxx(yyy), то именно этот вариант мне и следует применить".
    так же никто не делает!!! ответ прост - потому что, программируя на асме, выходной размер скомпиленной программы и так уже стремится к минимальному (если еще с умом и знанием к делу подходить).
    так что, я считаю, что твой вопрос некорректен - как можно разграничить оптимизацию по скорости и по размеру применительно к программированию на асме? если ты и будешь пользоваться более "дорогими" (требующими больше тактов на исполнение) инструкциями, то это еще не значит, что выходной размер программы заведомо будет бОльшим.
     
  4. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    зависит от назначения кода.
     
  5. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    varnie
    Что за ерунда? Выбирать между оптимизацией по скорости и по размеру приходится очень часто и ОСОБЕННО при написании на ассемблере. И дело совсем не в выборе подходящей инструкции.
    Простейший пример - CRC: 1) при оптимизации по скорости будет выбираться, разумеется, табличная реализация, а при оптимизации по размеру (если размер уж очень критичен, как это в вирусах и бывает) - это всего лишь пара операций (xor, да пара сдвигов), зато тормозить будет на ура.
    Или еще вариант, возможно более применимый к вирусам: при написании базонезависимого кода, что будете хранить в нем для получения адресов API: имена вызываемых API или чексуммы имен?
     
  6. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    l_inc
    получается, что 99% всех вирей in-the-wild все поголовно тормозные?

    блин, я не в том контексте пост выше отписал, и походу вы меня недопоняли. я имел ввиду что при написании вирей ясен пень со скоростью исполнения не морочатся, а стремятся достичь наименьшего итогового размера. все остальное - дело десятое.
    тут тонкая грань, и в этом топике я старался пояснить что неверно все под одну гребенку грести как ИМХА топикстартер делает (т.е. сам ход его мысли в корне неверен -- где вы видели вирь, оптимизированный по скорости исполнения? может я и отстал от жизни, если так, то ткните меня носом. фпредь умнее буду.).

    последняя моя реплика:
    я считаю что неоспорима в любом случае:) вот именно эту суть я и хотел высказать фцелом выше. буду рад если докопаюсь с вами до истины в любом случае (истины фтом контексте, о котором я здесь толкую)!
     
  7. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    varnie
    Опять-таки ИМХО очень зависимо. Если вирус перехватывает что-нибудь низкоуровневое, часто вызываемое, то в перехватчике я бы не стал надолго задерживаться, перекодируя семьсотметровый видеофайл в другой формат.
    В общем ИМХО t00x прав. Коротко и ясно.
     
  8. scalter

    scalter New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    30
    l_inc прав насчет выбора. varnie, когда проделываешь некоторые вещи, то не хочется, чтобы твой Х-код задерживал передачу управления на сравнительно заметное время. В общем, я понял, конечно, все зависит от поставленной задачи.
    Но если работа виря отнимает относительно "мало времени", то все же лучше,как я понял, оптимизировать по размеру. Всем большое спасибо. Если что не так, напишите.
     
  9. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    ИМХО в настоящее время когда обьем винта стремится к терабайту, ОЗУ гигабайту,ядро ОС десятки мегабайт.
    Экономить лишние 15-20 байт можно только из большой любви к исскуству ...

    В наше время упор делается на шифрование и антиэвристические механизмы.
     
  10. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    зачем оптимизировать по скорости код для антиотладки?
     
  11. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    t00x
    Это ко мне вопрос что ли? Если вопрос не риторический, то я такого не писал.
     
  12. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    вопрос по теме вообще. это дополнение для лучшего понимания #4.