OEP(протекторы).

Тема в разделе "WASM.RESEARCH", создана пользователем Indy_, 3 апр 2019.

  1. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Не решённая общим путём задача.

    Тут было некоторое обсуждение https://exelab.ru/f/index.php?action=vthread&forum=6&topic=25429&page=0

    Учитывая что там своим не компетентным" мнением люди создают лишь помехи и вводят в заблуждение(не намеренно), не видя общей картины", то обсудим тут. Я покажу что общее и элегантное решение возможно. Но это немного позже(нужно отладить кое что).
     
  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    Во-первых там не отвечают на его ответ, во-вторых он пока не может туда идти.
    Зы: отставить, уже может.
     
  3. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    f13nd,

    Это техническая тема, а не обсуждение кл. Зайти туда я могу всегда, для этого существует куча резервных аккаунтов.

    superakira,

    > тут эта тема не имеет смысла.

    Как раз тут ей и место - раздел соотвествующий и тут есть мои публикации, они её непосредственно касаются.

    Есть какие то мысли конкретные по теме ?
     
  4. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    А что вообще характерно для OEP ? сформированность рантайма, там, к примеру, переменных окружения для формирования верных входных данных? Просто пять шагов до OEP и пять шагов после то набор инструкций, ну он, набор как набор. Я правда не знаю, мне правда интересно. К примеру, обертка нормальный процесс, но переход на свою ветку осуществляется через хиповерфло вроде бы штатного в проге линкед листа. Это абстракция, но гипотетически? Там ведь адрес плавать будет от случая к случаю. Когда придет это "позже" после "отладки", такие штуки она тоже будет щелкать?

    Но если что, сорри, за нубский бред.

    Вот кстати, с другой стороны тоже какие-то мысли. Весна :) Обострения :)
     
    Последнее редактирование: 3 апр 2019
  5. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    Я знаю эту игру. Что ни предложишь будет объявлено ересью. Но просто как мысль вслух: алгоритм можно рассматривать как ряд зависимостей. В регистр/переменную в памяти помещается значение, из регистра/переменной в памяти забирается значение. Если записывать какие значения на какой позиции в трассе инициализированы, то можно посчитать для каждой позиции в трассе сколько на этот момент инициализированных ранее значений было использовано впоследствии. Просто плюсанув значения с i до j в массиве. И примерно момент около точки входа должен быть самым бедным на такую статистику.
     
    Последнее редактирование: 3 апр 2019
  6. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    типа чуть ли не хэш одинаковый?
     
  7. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    q2e74,

    Определение OEP не самая важная в данном случае задача. Протекторы делают что угодно с исходным апп - релоцируют, дробят его на части, морфят и тд. Там есчо и первичные загрузчики есть. Некоторые код вообще убирают из модуля.

    Для проверки идеи я снял лог по активности некоторых протекторов, вот видос записал https://yadi.sk/i/vYIHUB14vzv_FQ и сам лог.
    Лог формируется следующим образом. При абсолютной адресации страница помечается маркером(AI) и выводится в лог(AI: адрес_инструкции [выбираемый адрес]) , если не помечена. При записи в неё маркер сбрасывается(WA), это событие пока не интересно. Это наводящая мысль - смотреть как связаны адреса :scratch_one-s_head:
     

    Вложения:

    • L.7z
      Размер файла:
      9,7 КБ
      Просмотров:
      441
    q2e74 нравится это.
  8. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    При чем тут хеш? Есть два больших никак не связанных алгоритма. Как только заканчивается один, начинается другой.
     
    q2e74 нравится это.
  9. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    f13nd,

    Найди в логе вызовы апи. Тебе ведь нравятся загадки судя по #6.
     
  10. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    Если управление получает область, закрепленная за внешней длл, это вызов апи, не? Кроме тех случаев, когда несколько инструкций из нее вытащены и исполняются в другом буфере, а дальше переход туда. В принципе можно не вести учет для инструкций в образах библиотек и данных, находящихся в них же, если это помешает, хотя хз как это может помешать.
     
  11. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Метод.
    Лишь одно событие связывает области памяти и это событие не может быть удалено из блока кода без полного его разложения на компоненты(те инструкции) - абсолютная адресация(выборка данных, далее AI). Так как данные не отличимы от кода.
    Прямое следствие из этого - AI выборки(DF) связывают выбирающий код. Это значит что не зависимо от расположения выбирающих инструкций они связаны выборкой, а не их адресами.
    Второе следствие - AI не может быть разделена в общем случае, адресуемая область это единое целое, так как находящиеся там данные(размеры структур) не известны.

    Для теста были взяты следующие протекторы, это которые у меня были:

    Armadillo
    Aspack
    Asprotect
    Enigma
    Mpress
    Obsidium
    Pecompact
    PeLock
    Safeengine
    Themida
    Upx
    VMP
    YC

    Тестовая функция элементарна:

    Код (Text):
    1.     if AI-DF
    2.         if Ip !~ DLL[]
    3.             if Pages[LineAddr << 12] = 0
    4.                 Pages[LineAddr << 12] = 1
    5.                 Print "AI Ip LineAddr"
    6.             fi
    7.         fi
    8.     fi
    Тоесть выбираемая страница помечается маркером для выделения первой выборки к ней. Так как функция примтивна, то страницы не объединяются в регионы.

    Код (Text):
    1. Raw:
    2.     AI 0x421828 [0x43D68C]    <-- EP
    3.     AI 0x421857 [0x434198]
    4.     AI 0x4155FF [0x400000]
    5.     AI 0x41972B [0x447990]
    6.     AI 0x419739 [0x454894]
    7.     AI 0x41E525 [0x453740]
    8.     AI 0x41AB65 [0x438E1C]
    9.     AI 0x414433 [0x43E3D0]
    10.     AI 0x4087E2 [0x450DF8]
    11.     AI 0x408810 [0x449738]
    12.     AI 0x4088FA [0x44A8A8]
    13.     AI 0x402166 [0x440C20]
    14.     AI 0x408A1D [0x452320]
    15.     AI 0x406227 [0x44BA00]
    16.     AI 0xF70011 [0x7C97B20C]
    17.     AI 0x406251 [0x44F9E0]
    18.     AI 0x408B9A [0x44E3A8]
    19.     AI 0x408033 [0x435AF0]
    20.  
    21. Obsid:
    22.     AI 0x4CA279 [0x4CA26A]
    23.     AI 0x4C9BE5 [0x4C9A50]
    24.     AI 0xF60011 [0x7C97B20C]
    25.     AI 0x4CA274 [0x7C8855F4]
    26.     AI 0x421828 [0x43D68C]    <-- EP
    27.     AI 0x421857 [0x434198]
    28.     AI 0x4155FF [0x400000]
    29.     AI 0x41972B [0x447990]
    30.     AI 0x419739 [0x454894]
    31.     AI 0x41E525 [0x453740]
    32.     AI 0x41AB65 [0x438E1C]
    33.     AI 0x414433 [0x43E3D0]
    34.     AI 0x4087E2 [0x450DF8]
    35.     AI 0x408810 [0x449738]
    36.     AI 0x4088FA [0x44A8A8]
    37.     AI 0x402166 [0x440C20]
    38.     AI 0x408A1D [0x452320]
    39.     AI 0x406227 [0x44BA00]
    40.     AI 0x406251 [0x44F9E0]
    41.     AI 0x408B9A [0x44E3A8]
    42.     AI 0x408033 [0x435AF0]
    43.  
    44. Arma:
    45.     AI 0x4CF99A [0x517890]    <-- EP
    46.     AI 0x4CF9C9 [0x515138]
    47.     AI 0x4C1C77 [0x52EBA0]
    48.     AI 0x4C1B8E [0x400000]
    49.     AI 0x4CDD21 [0x52F2A0]
    50.     AI 0x4CDD33 [0x5307BC]
    51.     AI 0x4CC276 [0x5181EC]
    52.     AI 0x4C56E4 [0x51AFB4]
    53.     AI 0x4F4943 [0x52D5C8]
    54.     AI 0x4F4C28 [0x516688]
    55.     AI 0x4B0594 [0x51981B]
    56.     AI 0x4C8307 [0x51B164]
    57.  
    58. Aspack:
    59.     AI 0x421828 [0x43D68C]    <-- EP
    60.     AI 0x421857 [0x434198]
    61.     AI 0x4155FF [0x400000]
    62.     AI 0x41972B [0x447990]
    63.     AI 0x419739 [0x454894]
    64.     AI 0x41E525 [0x453740]
    65.     AI 0x41AB65 [0x438E1C]
    66.     AI 0x414433 [0x43E3D0]
    67.     AI 0x4087E2 [0x450DF8]
    68.     AI 0x408810 [0x449738]
    69.     AI 0x4088FA [0x44A8A8]
    70.     AI 0x402166 [0x440C20]
    71.     AI 0x408A1D [0x452320]
    72.     AI 0x406227 [0x44BA00]
    73.     AI 0x406251 [0x44F9E0]
    74.     AI 0xF70011 [0x7C97B20C]
    75.     AI 0x408B9A [0x44E3A8]
    76.     AI 0x408033 [0x435AF0]
    77.  
    78. Enigma:
    79.     AI 0x1035CA5 [0x10634C8] <-- EP
    80.     AI 0x1035B0C [0x106B21C]
    81.     AI 0x1035C71 [0x10620B4]
    82.     AI 0x103A19F [0x10363C4]
    83.     AI 0x104DFCC [0x1068230]
    84.     AI 0x1052118 [0x106972C]
    85.     AI 0x105522C [0x106A368]
    86.     AI 0x104A557 [0x1048B9C]
    87.     AI 0x1037A15 [0x1037A30]
    88.     AI 0x105F703 [0x104B0F4]
    89.     AI 0x105F721 [0x1055CF4]
    90.     AI 0x1055E1A [0x104581C]
    91.     AI 0x105F735 [0x1056FE8]
    92.     AI 0x105F746 [0x1057360]
    93.     AI 0x105F757 [0x1058238]
    94.     AI 0x1045038 [0x1044F44]
    95.     AI 0x1043D45 [0x103EB04]
    96.     AI 0x11D0006 [0x7C80126C]
    97.     AI 0x104D597 [0x103DE48]
    98.     AI 0x104C60D [0x104AE70]
    99.  
    100.     AI 0x421828 [0x43D68C]    <-- EP
    101.     AI 0x421873 [0x434144]
    102.     AI 0x4155FF [0x400000]
    103.     AI 0x41972B [0x447990]
    104.     AI 0x419739 [0x454894]
    105.     AI 0x41E525 [0x453740]
    106.     AI 0x1430000 [0x7C885380]
    107.     AI 0x41AB65 [0x438E1C]
    108.     AI 0x4087E2 [0x450DF8]
    109.     AI 0x408810 [0x449738]
    110.     AI 0x153000E [0x77DC15B0]
    111.     AI 0x4088FA [0x44A8A8]
    112.     AI 0x402166 [0x440C20]
    113.     AI 0x408A1D [0x452320]
    114.     AI 0x406227 [0x44BA00]
    115.     AI 0xFA0011 [0x7C97B20C]
    116.     AI 0x406251 [0x44F9E0]
    117.     AI 0x408B9A [0x44E3A8]
    118.     AI 0x408033 [0x435AF0]
    119.     AI 0x432353 [0x43E650]
    120.  
    121. Pecompact:
    122.     AI 0x421828 [0x43D68C]    <-- EP
    123.     AI 0x421857 [0x434198]
    124.     AI 0x4155FF [0x400000]
    125.     AI 0x41972B [0x447990]
    126.     AI 0x419739 [0x454894]
    127.     AI 0x41E525 [0x453740]
    128.     AI 0x41AB65 [0x438E1C]
    129.     AI 0x414433 [0x43E3D0]
    130.     AI 0x4087E2 [0x450DF8]
    131.     AI 0x408810 [0x449738]
    132.     AI 0x4088FA [0x44A8A8]
    133.     AI 0x402166 [0x440C20]
    134.     AI 0x408A1D [0x452320]
    135.     AI 0x406227 [0x44BA00]
    136.     AI 0x3C0011 [0x7C97B20C]
    137.     AI 0x406251 [0x44F9E0]
    138.     AI 0x408B9A [0x44E3A8]
    139.     AI 0x408033 [0x435AF0]
    140.  
    141. Pelock:
    142.     AI 0x401020 [0x4890DC]
    143.     AI 0x401029 [0x568724]
    144.     AI 0x121063B [0x7C8856D4]
    145.     AI 0x1050011 [0x7C97B20C]
    146.     AI 0x12111BE [0x7E3C14BC]
    147.     AI 0x12103A9 [0x7C80126C]
    148.  
    149.     AI 0x421828 [0x43D68C]    <-- EP
    150.     AI 0x421857 [0x434198]
    151.     AI 0x4155FF [0x400000]
    152.     AI 0x41972B [0x447990]
    153.     AI 0x419739 [0x454894]
    154.     AI 0x41E525 [0x453740]
    155.     AI 0x41AB65 [0x438E1C]
    156.     AI 0x414433 [0x43E3D0]
    157.     AI 0x122789E [0x7CBCF548]
    158.     AI 0x4087E2 [0x450DF8]
    159.     AI 0x408810 [0x449738]
    160.     AI 0x1227208 [0x77DC15CC]
    161.     AI 0x4088FA [0x44A8A8]
    162.     AI 0x1226594 [0x77F54014]
    163.     AI 0x402166 [0x440C20]
    164.     AI 0x408A1D [0x452320]
    165.     AI 0x406227 [0x44BA00]
    166.     AI 0x406251 [0x44F9E0]
    167.     AI 0x408B9A [0x44E3A8]
    168.     AI 0x408033 [0x435AF0]
    169.  
    170. Upx:
    171.     AI 0x421828 [0x43D68C]    <-- EP
    172.     AI 0x421857 [0x434198]
    173.     AI 0x4155FF [0x400000]
    174.     AI 0x41972B [0x447990]
    175.     AI 0x419739 [0x454894]
    176.     AI 0x41E525 [0x453740]
    177.     AI 0x41AB65 [0x438E1C]
    178.     AI 0x414433 [0x43E3D0]
    179.     AI 0x4087E2 [0x450DF8]
    180.     AI 0x408810 [0x449738]
    181.     AI 0x4088FA [0x44A8A8]
    182.     AI 0x402166 [0x440C20]
    183.     AI 0x408A1D [0x452320]
    184.     AI 0x406227 [0x44BA00]
    185.     AI 0x406251 [0x44F9E0]
    186.     AI 0xF70011 [0x7C97B20C]
    187.     AI 0x408B9A [0x44E3A8]
    188.     AI 0x408033 [0x435AF0]
    189.  
    190. Mpress:
    191.     AI 0x433884 [0x4890C8]    <-- EP
    192.     AI 0x421828 [0x43D68C]
    193.     AI 0x421857 [0x434198]
    194.     AI 0x4155FF [0x400000]
    195.     AI 0x41972B [0x447990]
    196.     AI 0x419739 [0x454894]
    197.     AI 0x41E525 [0x453740]
    198.     AI 0x41AB65 [0x438E1C]
    199.     AI 0x414433 [0x43E3D0]
    200.     AI 0x4087E2 [0x450DF8]
    201.     AI 0x408810 [0x449738]
    202.     AI 0x4088FA [0x44A8A8]
    203.     AI 0x402166 [0x440C20]
    204.     AI 0x408A1D [0x452320]
    205.     AI 0x406227 [0x44BA00]
    206.     AI 0x406251 [0x44F9E0]
    207.     AI 0xF70011 [0x7C97B20C]
    208.     AI 0x408B9A [0x44E3A8]
    209.     AI 0x408033 [0x435AF0]
    210.  
    211. YC:
    212.     AI 0x421828 [0x43D68C]    <- EP
    213.     AI 0x421857 [0x434198]
    214.     AI 0x4155FF [0x400000]
    215.     AI 0x41972B [0x447990]
    216.     AI 0x419739 [0x454894]
    217.     AI 0x41E525 [0x453740]
    218.     AI 0x41AB65 [0x438E1C]
    219.     AI 0x4087E2 [0x450DF8]
    220.     AI 0x408810 [0x449738]
    221.     AI 0x4088FA [0x44A8A8]
    222.     AI 0x402166 [0x440C20]
    223.     AI 0x408A1D [0x452320]
    224.     AI 0x406227 [0x44BA00]
    225.     AI 0x406251 [0x44F9E0]
    226.     AI 0x3C0011 [0x7C97B20C]
    227.     AI 0x408B9A [0x44E3A8]
    228.     AI 0x408033 [0x435AF0]
    229.     AI 0x432353 [0x43E650]
    230.  
    231. Safeengine:
    232.     AI 0x4F2AE5 [0x49F42C]
    233.     AI 0x138DF5F [0x7C80108C]
    234.     AI 0x138DF65 [0x7C8856E0]
    235.     AI 0x11D9F67 [0x7C97B0D0]
    236.     AI 0x13818A7 [0x1381104]
    237.     AI 0x1392C8D [0x1380EFC]
    238.     AI 0x4A9EF6 [0x4A9EF2]
    239.     AI 0x11D3EA5 [0x7C9142C8]
    240.     AI 0x421828 [0x43D68C]    <-- EP
    241.     AI 0x4155FF [0x400000]
    242.     AI 0x41972B [0x447990]
    243.     AI 0x419739 [0x454894]
    244.     AI 0x57A465 [0x57A461]
    245.     AI 0x579D57 [0x579D53]
    246.     AI 0x11D7D0E [0x7C97C324]
    247.     AI 0x41E525 [0x453740]
    248.     AI 0x57C89F [0x57C89B]
    249.     AI 0x577B84 [0x577B80]
    250.     AI 0x57D51E [0x57D51A]
    251.     AI 0x578F70 [0x578F6C]
    252.     AI 0x11D2909 [0x7C910490]
    253.     AI 0x41AB65 [0x438E1C]
    254.     AI 0x414433 [0x43E3D0]
    255.     AI 0x13C4879 [0x7C887474]
    256.     AI 0x1486CB7 [0x14813E5]
    257.     AI 0x1488F38 [0x77E36168]
    258.     AI 0x4087E2 [0x450DF8]
    259.     AI 0x408810 [0x449738]
    260.     AI 0x1487329 [0x77DC1668]
    261.     AI 0x553BE1 [0x553BDD]
    262.     AI 0x4088FA [0x44A8A8]
    263.     AI 0x401D87 [0x4348B4]
    264.     AI 0x547555 [0x547551]
    265.     AI 0x402166 [0x440C20]
    266.     AI 0x12882BE [0x7E3C1084]
    267.     AI 0x128829F [0x1280F9C]
    268.     AI 0x1298587 [0x1281020]
    269.     AI 0x129E5F8 [0x7E361118]
    270.     AI 0x55426F [0x55426B]
    271.     AI 0x408A1D [0x452320]
    272.     AI 0x406227 [0x44BA00]
    273.     AI 0x406251 [0x44F9E0]
    274.     AI 0x54FA72 [0x54FA6E]
    275.     AI 0x563E25 [0x563E21]
    276.     AI 0x408033 [0x435AF0]
    277.     AI 0x408B9A [0x44E3A8]
    278.     AI 0x55FA09 [0x55FA05]
    279.     AI 0x580173 [0x58016F]
    280.  
    281. Memory map
    282. 00400000  00001000 dbgview
    283. 00401000  00088000 dbgview    .text
    284. 00489000  00104000 dbgview    .sedata
    285. 0058D000  00001000 dbgview    .idata
    286. 0058E000  00002000 dbgview    .rsrc
    287. 00590000  00001000 dbgview    .sedata
    288.  
    289. Themida:
    290.  
    291.     AI 0x13C9B74 [0x7C8014DC]
    292.     AI 0x13C8754 [0x7C8856C4]
    293.     AI 0x1300011 [0x7C97B20C]
    294.     AI 0x14C81B0 [0x7E3C1224]
    295.     AI 0x14C81B6 [0x7E3613CC]
    296.     AI 0x421828 [0x43D68C]    <-- EP
    297.     AI 0x4155FF [0x400000]
    298.     AI 0x41972B [0x447990]
    299.     AI 0x419739 [0x454894]
    300.     AI 0x4190E2 [0x4342D4]
    301.     AI 0x41E525 [0x453740]
    302.     AI 0x41AB65 [0x438E1C]
    303.     AI 0x414433 [0x43E3D0]
    304.     AI 0x37604E6 [0x77DC15CC]
    305.     AI 0x4087E2 [0x450DF8]
    306.     AI 0x408810 [0x449738]
    307.     AI 0x4088FA [0x44A8A8]
    308.     AI 0x402166 [0x440C20]
    309.     AI 0x408A1D [0x452320]
    310.     AI 0x406227 [0x44BA00]
    311.     AI 0x406251 [0x44F9E0]
    312.     AI 0x408B9A [0x44E3A8]
    313.     AI 0x408033 [0x435AF0]
    314.  
    315. VMP:
    316.  
    317.     AI 0x7F1EA5 [0xCAB088]
    318.     AI 0x46D544 [0x4798B4]
    319.     AI 0x468EC2 [0x474288]
    320.     AI 0x46D332 [0x47C634]
    321.     AI 0x46D340 [0x47DFE0]
    322.     AI 0x468D93 [0x47E118]
    323.     AI 0x188000F [0x1880015]
    324.     AI 0x421828 [0x43D68C]    <-- EP
    325.     AI 0x4155FF [0x400000]
    326.     AI 0x41972B [0x447990]
    327.     AI 0x419739 [0x454894]
    328.     AI 0x4190E2 [0x4342D4]
    329.     AI 0x41E525 [0x453740]
    330.     AI 0x41AB65 [0x438E1C]
    331.     AI 0x414433 [0x43E3D0]
    332.     AI 0x4087E2 [0x450DF8]
    333.     AI 0x408810 [0x449738]
    334.     AI 0x4088FA [0x44A8A8]
    335.     AI 0x402166 [0x440C20]
    336.     AI 0x184000F [0x1840015]
    337.     AI 0x1850015 [0x185001B]
    338.     AI 0x408A1D [0x452320]
    339.     AI 0x406227 [0x44BA00]
    340.     AI 0x17F0011 [0x7C97B20C]
    341.     AI 0x406251 [0x44F9E0]
    342.     AI 0x408033 [0x435AF0]
    343.     AI 0x4117A0 [0x44E3A8]
    344.  
    345. Memory map
    346. 00400000  00001000 dbgview
    347. 00401000  00033000 dbgview    .text
    348. 00434000  00009000 dbgview    .rdata
    349. 0043D000  00018000 dbgview    .data
    350. 00455000  0035B000 dbgview    .vmp0
    351. 007B0000  00555000 dbgview    .vmp1
    352. 00D05000  00002000 dbgview    .rsrc
    353.  
    Что интересного в этом логе:

    AI 0xF70011 [0x7C97B20C] - выбираемый адрес из системного образа(ntdll). Это перемещённая в буфер апи, событие можно убрать проверкой LA ~ DLL[].

    Arma - секция релоцирована.
    Enigma - два образа. Они разделены между собой в мапяти, но можно и без этого узнать - первый образ выполняет вборку на запись во второй(exec after write), эти события не включены в лог.
    AI 0x1430000 [0x7C885380] - так же апи в буфере.
    Pelock - два образа в пределах одной секции.
    Safeengine - три образа:
    AI 0x4F2AE5 [0x49F42C]
    AI 0x13818A7 [0x1381104]
    VMP - три образа.
    -
    В более сложном случае можно не группировать страницы в области, а отслеживать в AVL каждую выборку. Так же можно следить за событием перезаписи областей.

    Сработало на всех имеющихся протекторах.
    --- Сообщение объединено, 5 апр 2019 ---
    Тут образы для тестов https://yadi.sk/d/qV_-JWuYyCIwHA vx
    --- Сообщение объединено, 5 апр 2019 ---
    Нашёл есчо https://yadi.sk/d/gJ9ItuGLEUAKTQ

    NiceProtect
    Mew
    Nspack
    Winunpack

    Однотипно:
    Код (Text):
    1. NiceProtect:
    2.     AI 0x421828 [0x43D68C]
    3.     AI 0x421857 [0x434198]
    4.     AI 0x4155FF [0x400000]
    5.     AI 0x41972B [0x447990]
    6.     AI 0x419739 [0x454894]
    7.     AI 0x41E525 [0x453740]
    8.     AI 0x41AB65 [0x438E1C]
    9.     AI 0x4087E2 [0x450DF8]
    10.     AI 0x408810 [0x449738]
    11.     AI 0x4088FA [0x44A8A8]
    12.     AI 0x402166 [0x440C20]
    13.     AI 0x408A1D [0x452320]
    14.     AI 0x406227 [0x44BA00]
    15.     AI 0x14B0011 [0x7C97B20C]
    16.     AI 0x406251 [0x44F9E0]
    17.     AI 0x408B9A [0x44E3A8]
    18.     AI 0x408033 [0x435AF0]
    19.     AI 0x432353 [0x43E650]
    20.  
    21. Mew:
    22.     AI 0x421828 [0x43D68C]
    23.     AI 0x421857 [0x434198]
    24.     AI 0x4155FF [0x400000]
    25.     AI 0x41972B [0x447990]
    26.     AI 0x419739 [0x454894]
    27.     AI 0x41E525 [0x453740]
    28.     AI 0x41AB65 [0x438E1C]
    29.     AI 0x4087E2 [0x450DF8]
    30.     AI 0x408810 [0x449738]
    31.     AI 0x4088FA [0x44A8A8]
    32.     AI 0x402166 [0x440C20]
    33.     AI 0x408A1D [0x452320]
    34.     AI 0x406227 [0x44BA00]
    35.     AI 0x406251 [0x44F9E0]
    36.     AI 0x3B0011 [0x7C97B20C]
    37.     AI 0x408B9A [0x44E3A8]
    38.     AI 0x408033 [0x435AF0]
    39.     AI 0x432353 [0x43E650]
    40. Nspack:
    41.     AI 0x421828 [0x43D68C]
    42.     AI 0x421857 [0x434198]
    43.     AI 0x4155FF [0x400000]
    44.     AI 0x41972B [0x447990]
    45.     AI 0x419739 [0x454894]
    46.     AI 0x41E525 [0x453740]
    47.     AI 0x41AB65 [0x438E1C]
    48.     AI 0x4087E2 [0x450DF8]
    49.     AI 0x408810 [0x449738]
    50.     AI 0x4088FA [0x44A8A8]
    51.     AI 0x402166 [0x440C20]
    52.     AI 0x408A1D [0x452320]
    53.     AI 0x406227 [0x44BA00]
    54.     AI 0xFA0011 [0x7C97B20C]
    55.     AI 0x406251 [0x44F9E0]
    56.     AI 0x408B9A [0x44E3A8]
    57.     AI 0x408033 [0x435AF0]
    58.     AI 0x432353 [0x43E650]
    59.  
    60. Winunpack:
    61.     AI 0x421828 [0x43D68C]
    62.     AI 0x421857 [0x434198]
    63.     AI 0x4155FF [0x400000]
    64.     AI 0x41972B [0x447990]
    65.     AI 0x419739 [0x454894]
    66.     AI 0x41E525 [0x453740]
    67.     AI 0x41AB65 [0x438E1C]
    68.     AI 0x4087E2 [0x450DF8]
    69.     AI 0x408810 [0x449738]
    70.     AI 0x4088FA [0x44A8A8]
    71.     AI 0x402166 [0x440C20]
    72.     AI 0x408A1D [0x452320]
    73.     AI 0x406227 [0x44BA00]
    74.     AI 0x3C0011 [0x7C97B20C]
    75.     AI 0x406251 [0x44F9E0]
    76.     AI 0x408B9A [0x44E3A8]
    77.     AI 0x408033 [0x435AF0]
    78.     AI 0x432353 [0x43E650]
     
    Последнее редактирование: 5 апр 2019
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Мне дали на кл семпл, надеясь что ничего не получится. Это какой то крякми(Патрик").

    Секция кода криптована, апп проверяет кто его запустил и не работает > XP.

    Из самого exe лишь две выборки к 2-м страницам:

    Код (Text):
    1. AI 0x401D75 [0x4060AC]
    2. AI 0x401D7E [0x408384]
    При первой выборке дампим секцию кода. Решено общим способом.

    https://yadi.sk/i/lFmHUOerGnSDPQ
     

    Вложения:

    • Patrick.7z
      Размер файла:
      276,8 КБ
      Просмотров:
      337
  13. maestroant

    maestroant New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2019
    Сообщения:
    14
    Indy_, какая техника протекторов самая крутая(стабильная но максимально затрудняющая реверсинг) на твой взгляд?
    п.с. сорри за оффтоп
     
  14. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    maestroant,

    Виртуализация, так как вм нужно долго и только вручную разбирать.
     
    RETN и galenkane нравится это.
  15. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    684
    апи это абстракция, вот пример когда ты дерешься руками лучше чем некоторые ножом это считается оружием ? а если в тебя стреляют а ты увернулся а потом убил нет правды и истины истина на стороне сильного
     
  16. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    sl0n,

    Это технические темы одни из годных не порти не нужно.
     
  17. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    684
    ладно не стану, но опровегни абстракцию
     
  18. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    sl0n,

    Либо технически либо никак и не нужно это сложная тема.
     
  19. RETN

    RETN Member

    Публикаций:
    4
    Регистрация:
    4 апр 2020
    Сообщения:
    74
    Виртуализация, да, но к сожалению при защите кодесов она тормозит дико, не смотря на всякии оптимизации, что является неприемлемым например при разработке плагинов для маткада или 3д - макса. Мутацию применяю щас, хотелось бы виртуализацию - но скорость падает на несколько порядков.
     
  20. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Ну виртуализация может JIT-компилить, как тот же дотнет или джава делает. Понятно, что мы обратно генерируем код, который защитили, но так код будет разорван на множество исполняемых буфферов и собрать его в единую портянку сложнее. Наверное.