ааа, чорт, алгоритм генерации и сравнения меня убьёт. Плохо быть нубом (это я про себя). Пока раскопал первоначальные условия для пароля: 1. длина пароля = 36 символам 2. в нём недолжно быть символов G, @, O, : 3. в позициях нацело делящихся на 3 должны быть символы меньше '4' а далее начинаются нудные арифм. операции в ктр я постоянно путаюсь. Немогу даже понять где кончается генерация и начинается проверка. Единственно смог раскопать, что по результатам того алго в локальной переменной ([ebp - 28]) сохраняется 0 или 1, а потом происходит генерация слова Wrong (если 0) или Valid (если 1) вообще можно както в таких случаях, когда правельный серийник не сохраняется, а сравнивается на лету (помоему так и происходит) делать так, чтобы не проходить весь алгоритм? Иначе получается долго и нудно.
1 и 3 посностью правильно, 2 не совсем, в серийнике не должно быть ничего кроме 0..9 и A..Z, насчет valid и wrong тоже все правильно.
да я ступил, sub тоже флаги выставляет, и там переход по jle Но видимо либо ты ошибся, либо не хотел показывать всего - там могут бытьтолько 0-9 и A-F
как всегда и поступают в таких слу4аях, никто в ку4е арифмети4еского мусора не расбирается, а рипает нах весь код функи и полу4ает нужный результат на выходе. вот набросок, дальше возится с делфями и заполнением буфера рандомными данными для брута серийника(юзаются несложныме арифм. операции, думаю брутер перебирать валидные серийники довольно быстро) для юзернейма не хо4ется: http://prot.someshit.net/crackme.txt