что это за алгоритм?

Тема в разделе "WASM.A&O", создана пользователем Wolfgang, 29 авг 2005.

  1. Wolfgang

    Wolfgang New Member

    Публикаций:
    0
    Уважаемые знатоки алгоритмов, не скажете ли вы мне, что это за алгоритм такой? Паковщик или криптор? И откуда он берет длину буфера?
     
  2. bogrus

    bogrus Active Member

    Публикаций:
    0
  3. Wolfgang

    Wolfgang New Member

    Публикаций:
    0
    прошу прощения, вот этот (в первый раз не тот файлик приаттачил)

    [​IMG] 562822259___decrypt.txt
     
  4. bogrus

    bogrus Active Member

    Публикаций:
    0
    Наверное это упаковщик PCShrink
     
  5. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Это распаковщик aPLib, дэрэгой.

    А размер буфера ему не нужен, там есть стоп-конструкция после которой он останавливается, параметра соответственно только два.

    unsigned int aP_depack(const void *source, void *destination);
     
  6. Wolfgang

    Wolfgang New Member

    Публикаций:
    0
    спасибо, Dr.Golova, а нет сведений, как он длину входного буфера определяет и чему на выходе равна длина выходного? Ну или хоть каке-то данные
     
  7. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    В данном случае - никак :) Еще раз повторюсь что длину source ему знать ненадо, в потоке закодирован признак коца потока, на котом он останавливает распаковку, а destination он считает достаточного размера (эта забота того кто вызывает функцию распаковки). Этот вариант распаковщика модифицирован и эта инфа нигде не используется. На самом деле readed/written определяется разницей esi/edi до выполнения и после (несложно заметить что в esi хранится указатель source, а в edi - destination). Точный размер наверняка можно узнать раньше, там где выделяется память под destination буфер, или сделать streamed версию распаковщика, чтобы он сам реаллочил память по мере необходимости.
     
  8. bogrus

    bogrus Active Member

    Публикаций:
    0




    PCShrink наверное его юзает? бо тоже такой код встречается
     
  9. Wolfgang

    Wolfgang New Member

    Публикаций:
    0
    bogrus, а как ты так быстро определяешь, откуда алгоритм? :) своя подборка сигнатур есть?
     
  10. bogrus

    bogrus Active Member

    Публикаций:
    0




    Конечно :)) в гугле набрал константу, вот тебе и своя подборка %)



    Это просто быстро, а вообще все популярные .lib .obj можно в один каталог собирать, если есть екзешник то можно в ollydbg их накатить, он покажет совпадения, или в IDA
     
  11. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    > PCShrink наверное его юзает?

    Да, юзает. aplib вообще юзает половина пакеров :)