Smirnov писал(а):промежуточный вывод: Делаю всё по-своему, самое главно не использовать ниодного готового алгоритма....
На мой взгляд - Вы немного не поняли (а может и я - хз). Тут уже правильная мысля прозвучала - не стоит думать что Вы единственный гениальный человек. Надо для начала поучится на тему, что есть. Я больше чем уверен, что Вам отвечают люди не только начитавшиеся инета, но и немного (или много) практики. Вы простите вскрывали хоть раз программную какую либо защиту? Нет, не теми 'крутыми' инструкциями по правке реестра (речь про форточки, как пример) а дебажили, выкидывали своё время, на обучение себя любимого всяким трюкам по поиску и обходу? Если да - то вопросы немного не те были бы
я предлагаю немного отвлечься (чуть чуть).
1) для чего защита? готовы ли Вы пожертвовать известностью программы в угоду защиты?
2) создаёте защиту Вы. Взламывать (если кому то это потребуется кстати) её будут не сотня и не тысяча а гораздо больше людей, для которых это хлеб(возможно). Вы уверены, что все хакеры будут думать как Вы и идти уготовленным путём ловушек? (по секрету - хакеров нет. есть профи которым лень жопу подымать для покупки. а так же, за 5 копеек тратить на взлом больше чем на 1 копейку.)
3) Вы даёте руку на отсечение, что всё предусмотрели и не сделали ляпов на физическом и на логическом уровне? (по секрету - практически ВСЕ взломы базируются именно на этом. я бы даже сказал, что 'искуство' взлома кроется не в умении работать с дебагером, а в умении обойти ВСЕ затраты при взломе).
4) Если Вы сможете взломать свою защиту - знайте, что есть люди которые опытнее Вас. Посему такая защита не стоит и ломанного гроша.
5) защита - это КОМПЛЕКС мер, а не только криптография и плавающие последовательности.
чтоб не казалось, что это чиссо инет-лозунги приведу пример из жизни.
было это давно. была такая программка CERBERUS (если прально начертал). Что она делала. Она защищала любую DOSовскую программку клиента. Декларировалось, что взломать её не возможно без аппаратного отладчика и т.д. и т.п.. Как она функциклировала. Она шифровала бинарник, откусавала ему шапку, сносила таблицу векторов, дос область, биос область... ну короче говоря тупо отладчиком пройти - маловероятно. Дезасэмблировать - можно, но анализ не хилый плюс криптозащиту не дураки делали... Короче говоря продукт не плохой... почти соответствует рекламе... почти...
попросили меня глянуть. пару часов под отладчиком немного поубавил мой азарт... потом немного уставший ехал домой и.....стоп!!! Что делает церберус? прально!!! = 'Она защищала любую DOSовскую программку клиента.' КЛИЕНТА!!!! всё. на следующий день программа была взломана и скопирована. Через пол года - год, я нашёл описание и программулину для взлома церберуса на досках в инете... подход взлома совпадал с моим...
осадок:
кто ломает идёт не теми дорогами, что уготовлены для хакеров. я бы сказал, что в ловушки идут лохи.
могу ышо один пример из жизни. на тему ляпов 'от ума'. если бы автор(ы) программы сделали тупо бы по математике - взлом был бы не возможен. а захотелось немного улучшить... улучшили

Не буду называть фирму зарубежную. суть:
виртуальные диски имели защиту от записи зависящую от пароля юзверя. опуская азм листинг:
есть на входе пароль клиента.
есть некая хэш функция выдающая результат со всего пароля клиента. функция не обратимая.
есть вторая обратимая функция (f), которая умеет шифровать. на её вход подаётся два байта = хэш (x) и очередной байт из пароля (z).
код делает следующее...
берётся хэш от всего пароля = X, и применяется вторая функция для первого символа из пароля.
y1 = f(X,z1)
далее y1 записывается на позицию z1
далее хэш из пароля заменяется полученным закодированным символом y1 и процесс повторяется для второго символа
y2 = f(y1, z2)
y3 = f(y2, z3)
и т.д. до конца всего пароля.
Круто? А ошибку заметили? Она явно сделана от излишнего усердия авторов. Вот если бы они использовали для шифровки везде X (то вскрывалось бы немного по другому - почти шутка

)!!!
а так имеем...
пусть f` = обратная функция от f
тогда
z2 = f`(y1, y2)
z3 = f`(y2, y3)
z4 = f`(y3, y4)
и т.д..
всё вскрывается за исключением первого символа. Ну а кто отменил перебор? Ведь первая функция известна. Результат её работы известен. Не известно только число разрядностю 255. Как Вы думаете сколько требуется PCXT для перебора 255 значений? прально - копейки. А для мощных компов - вообще не смешно.
вот такие пироги с котятами...
удачи Вам
(круглый)
ЗЫ
Перефразирую Ваш вывод немного:
промежуточный вывод:
Кол-во и качество взлома прямо пропорциональна известности программы.