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

Discussion in 'WASM.RESEARCH' started by Indy_, Apr 3, 2019.

  1. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    Не решённая общим путём задача.

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

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

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    Во-первых там не отвечают на его ответ, во-вторых он пока не может туда идти.
    Зы: отставить, уже может.
     
  3. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    f13nd,

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

    superakira,

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

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

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

    q2e74 Well-Known Member

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

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

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

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    Я знаю эту игру. Что ни предложишь будет объявлено ересью. Но просто как мысль вслух: алгоритм можно рассматривать как ряд зависимостей. В регистр/переменную в памяти помещается значение, из регистра/переменной в памяти забирается значение. Если записывать какие значения на какой позиции в трассе инициализированы, то можно посчитать для каждой позиции в трассе сколько на этот момент инициализированных ранее значений было использовано впоследствии. Просто плюсанув значения с i до j в массиве. И примерно момент около точки входа должен быть самым бедным на такую статистику.
     
    Last edited: Apr 3, 2019
  6. q2e74

    q2e74 Well-Known Member

    Blog Posts:
    0
    Joined:
    Oct 18, 2018
    Messages:
    998
    типа чуть ли не хэш одинаковый?
     
  7. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    q2e74,

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

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

    Attached Files:

    • L.7z
      File size:
      9.7 KB
      Views:
      505
    q2e74 likes this.
  8. f13nd

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    При чем тут хеш? Есть два больших никак не связанных алгоритма. Как только заканчивается один, начинается другой.
     
    q2e74 likes this.
  9. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    f13nd,

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

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    Если управление получает область, закрепленная за внешней длл, это вызов апи, не? Кроме тех случаев, когда несколько инструкций из нее вытащены и исполняются в другом буфере, а дальше переход туда. В принципе можно не вести учет для инструкций в образах библиотек и данных, находящихся в них же, если это помешает, хотя хз как это может помешать.
     
  11. Indy_

    Indy_ Well-Known Member

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

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

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

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

    Code (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
    Тоесть выбираемая страница помечается маркером для выделения первой выборки к ней. Так как функция примтивна, то страницы не объединяются в регионы.

    Code (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 каждую выборку. Так же можно следить за событием перезаписи областей.

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

    NiceProtect
    Mew
    Nspack
    Winunpack

    Однотипно:
    Code (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]
     
    Last edited: Apr 5, 2019
  12. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    Мне дали на кл семпл, надеясь что ничего не получится. Это какой то крякми(Патрик").

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

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

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

    https://yadi.sk/i/lFmHUOerGnSDPQ
     

    Attached Files:

  13. maestroant

    maestroant New Member

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

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    maestroant,

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

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

    Blog Posts:
    0
    Joined:
    Sep 26, 2003
    Messages:
    701
    апи это абстракция, вот пример когда ты дерешься руками лучше чем некоторые ножом это считается оружием ? а если в тебя стреляют а ты увернулся а потом убил нет правды и истины истина на стороне сильного
     
  16. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    sl0n,

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

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

    Blog Posts:
    0
    Joined:
    Sep 26, 2003
    Messages:
    701
    ладно не стану, но опровегни абстракцию
     
  18. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    sl0n,

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

    RETN Member

    Blog Posts:
    4
    Joined:
    Apr 4, 2020
    Messages:
    71
    Виртуализация, да, но к сожалению при защите кодесов она тормозит дико, не смотря на всякии оптимизации, что является неприемлемым например при разработке плагинов для маткада или 3д - макса. Мутацию применяю щас, хотелось бы виртуализацию - но скорость падает на несколько порядков.
     
  20. Rel

    Rel Well-Known Member

    Blog Posts:
    2
    Joined:
    Dec 11, 2008
    Messages:
    5,317
    Ну виртуализация может JIT-компилить, как тот же дотнет или джава делает. Понятно, что мы обратно генерируем код, который защитили, но так код будет разорван на множество исполняемых буфферов и собрать его в единую портянку сложнее. Наверное.