Вопрос по алгоритму автокракера

Тема в разделе "WASM.RESEARCH", создана пользователем OneHalf, 27 окт 2007.

  1. OneHalf

    OneHalf New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2007
    Сообщения:
    6
    Народ! (В-основном обращаюсь к гуру кракинга и программирования)
    Я - ньюб в вопросах крекинга, только учусь, вот как раз в процессе обучения (а точнее - в процессе взлома одной хитрой программки), у меня возникла небольшая идейка:

    Нельзя ли, используя алгоритмы прог типа Olly, состряпать автоматический кракер не очень сложных программ по принципу чуть ли не брутфорса - то есть запускаем крякер на ночь (на неделю) и он поочерёдно подряд меняет переходы во взламываемой проге (в указанном диапазоне адресов) до тех пор, пока не пропадёт окно о триальности, или даже вообще пока скриншот невзломанной проги не перестанет совпадать с текущим скриншотом (Знаю, что тупо звучит, просто умнее объяснить не могу) :)

    То есть - запускаем крекер, в него грузим взламываемую программу, задаём диапазон, в котором надо поочерёдно менять условия перехода, запускаем... Крекер делает снимок невзломанной проги, а затем после каждого изменения сравнивает текущий снимок с эталонным. В случае нахождения различий - останавливается и ждёт дальнейших указаний.

    Сам я такое написать не потяну, но может этот алгоритм возможно реализовать?

    Жду критики. Не пинайте сильно :)
     
  2. Noble Ghost

    Noble Ghost New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2004
    Сообщения:
    204
    Адрес:
    Russia
    сначала посчитай количество переходов в исходной программе, потом прикинь трудоемкость тестирования всех версий "крякнутой" проги :)
     
  3. OneHalf

    OneHalf New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2007
    Сообщения:
    6
    Я же не говорю, что надо всю исходную программу перебирать. Сначала обычной Олли или СофтАйсом определяется приблизительный диапазон поиска, а потом на этот диапазон натравливается автокрякер :)

    ЗЫ: Идея появилась в процессе взлома http://www.almeza.com/ Almeza MultiSet
     
  4. Noble Ghost

    Noble Ghost New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2004
    Сообщения:
    204
    Адрес:
    Russia
    даже в этом случае получается Очень Большое Число :)
    здесь без мозга не обойтись, даже не надейся ;)
     
  5. OneHalf

    OneHalf New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2007
    Сообщения:
    6
    Вот блин... А я-то надеялся обойтись без мозга :)

    Просил же сильно не пинать ;)
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    у криса касперски была идея сравнивать покрытие кода двух экземпляров программы (с истёкшим триалом и нет).
     
  7. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Думаю, идея бесполезная. А если там еще слипы стоят? Надо еще сделать, шоб олька по всем окошкам, кнопкам, менюшкам клацала... Кроме того, мало просто менять ОДИН переход. Надо менять как минимум несколько, чтобы добраться до цели. Почитай про сочетания/перемещения/размещения из теории вероятности и ты поймешь, насколько это сложный процесс. Кстати, как ты будешь определять, взломана программа или нет? Чисто имхо, это невозможно все реализовать.
     
  8. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Для Оли есть плагин-трейсер, который каждую инструкцию пишет в лог, можно 2 его лога сравнивать.
     
  9. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Ну а если там мусор и лампа в виде сплошных переходов? Вообще годами будет перебирать:) А если алгоритм проверки занимает ощутимое кол-во времени(ведь перед сравнение результата, функция проверки выполняется)? Программы, которые ломаются исправлением одного байта можно и ручками разобрать, не так много времени.
     
  10. OneHalf

    OneHalf New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2007
    Сообщения:
    6
    Далеко не во всех программах надо клацать по кнопкам и менюшкам. Вот например в MultiSet ввод регистрационного кода вводится ручками, а потом программа просит её перезапустить и читает этот код из файла и потом проверяет его безо всякого клацанья. Вот как раз этот кусок кода (где проверка) я найти и не могу :) Хотя нашел кусок, в котором определяется имя .key-файла и кусок, запускающий окно с сообщением о незарегистрированной версии. Вот именно промежуток между этими участками я и предлагал брутфорсить ;) Грузится она довольно шустро (не больше 2-4 секунд). За ночь можно получить до 10000 изменений. Монстров, которым надо грузиться пол-минуты и более, я и не предлагал ломать таким образом.

    Ну ладно, спасибо, что ответили :) Я себя почувствовал полным дауном (шутка) :)
     
  11. OneHalf

    OneHalf New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2007
    Сообщения:
    6
    Кстати: Кто подскажет - как заставить Олли включить бряк после определённого количества пропущеных обращений к адресу?
     
  12. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    Программа проверяет свою целостность ... скриншот, конечно, изменится :-\

    Никогда не понимал, для чего нужно ломиться в дверь, если есть окна. В большинстве случаев, ограничения функциональности можно отключить, даже не задумываясь о том, как устроена защита программы - если, конечно, keygen не является самоцелью.
     
  13. LazzY

    LazzY New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2006
    Сообщения:
    123
    в оффтоп былобы вернее :))
    автор улыбнул :)
     
  14. El_Magnifico

    El_Magnifico New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2007
    Сообщения:
    1
    ну может автор поста немного не до конца сформулировал что хочет... у меня давно была такая мысль - но она заключалась в том что человек сам ищет переход, после которого программа работает в нормальном режиме, и сравнивает те переходы которые работают в нормальном режиме и с ограничениями, что то типа того
     
  15. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    Переходов в явном виде (if..then) может и не быть вовсе. Типичный трюк - вычисляемая метка (call eax) итп.
     
  16. OneHalf

    OneHalf New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2007
    Сообщения:
    6
    Да выпил я уже йаду... Не берёт ;)