Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];

Вниз

Сели тут со знакомым и за два дня ...   Найти похожие ветки 

 
Kerk ©   (2015-11-03 22:54) [40]

Просто, по-моему если доступен надежный инструмент в виде CryptoAPI, надо им пользоваться.

100% простая защита от кейгенов у нас есть, а от кряков к сожалению нет.  Запутывания пригодятся, например, чтоб спрятать проверку целостности exe. Или логику программы сделать зависимой от значения 3го и 5го байтов публичного ключа. Ну и т.п.

Но кряки относительно безобидны. Изменил пару строк, перекомпилировал программу и кряк скорее всего уже не работает. А вот если кейген появится на просторах сети, то туши свет.


 
Rouse_ ©   (2015-11-03 22:59) [41]


> Kerk ©   (03.11.15 22:54) [40]

Ром ты рассматриваешь это в некой абстракции, а я на практике.
Так вот утвердительно на 99.9% я смогу ответить только в том случае, если у меня спросят - наступит ли завтра утро.
А на практике я еще не встречал ни одной программы защищенной неким серийником, которая держалась бы долго только на проверке оного. Просто поверь моему опыту :)


 
DVM ©   (2015-11-03 23:37) [42]


> Rouse_ ©   (03.11.15 22:29) [33]
> Поясню, любой софт с RSA полагает что что-то, что он может
> расшифровать свои пабликом, считается валидным.
> Атака на такую схему защиты заключается в изменении публичного
> ключа, после чего все это RSA идет в лес :)

Подробнее можно, а то из этого предложения ничего не понятно. Как можно кого то заставить использовать твой публичный ключ вместо настоящего?


 
DVM ©   (2015-11-03 23:40) [43]


> Как можно кого то заставить использовать твой публичный
> ключ вместо настоящего?

Предполагается, что есть доступ к исполняемому файлу процесс которого оперирует ключом, что ли?


 
Rouse_ ©   (2015-11-03 23:41) [44]


> VM ©   (03.11.15 23:40) [43]
> Предполагается, что есть доступ к исполняемому файлу процесс
> которого оперирует ключом, что ли?

Конечно


 
Kerk ©   (2015-11-04 00:16) [45]


> Rouse_ ©   (03.11.15 22:59) [41]

Ты на какой своей волне. Я утверждаю только одно - защититься от гейкенов можно очень легко. Можно патчить, крякать - что угодно, но не написать кейген. Чего не скажешь об мсремовском поделии. Которое очень сложное, но с задачей справляется хуже, чем вызов нескольких стандартных функций.


 
Rouse_ ©   (2015-11-04 00:40) [46]

Удалено модератором


 
Германн ©   (2015-11-04 01:18) [47]

Вот только вчера в поисках нужной статьи на королевстве наткнулся на цикл статей Дмитрия Логинова 15-16 летней давности.
Вот вроде почти уже сто лет прошло, а аргументы сторонников защиты путем серийников (любых) всё ещё приводятся.


 
DayGaykin ©   (2015-11-04 03:17) [48]

Меня ещё позабавил кейген для IDEA. Кейген на яве с исходниками - такая ирония:)

Я сам за веб - хорошо, что там эта проблема не стоит.
Писал ещё софт для терминалов - там тоже не стояла.


 
Игорь Шевченко ©   (2015-11-04 10:23) [49]

А вот Oracle без всяких кейгенов и серийников, и ничего, процветает.


 
Юрий Зотов ©   (2015-11-04 17:56) [50]

> Kerk ©   (03.11.15 22:04) [27]

Зотыч, конечно, RSA не изобретал. Но каждый день с ним работает.

:o)


 
Eraser ©   (2015-11-04 22:05) [51]

да, триал-стоп и кейген - самые неприятные вещи. ну а кряки - что с них взять )


 
Германн ©   (2015-11-05 01:42) [52]

Удалено модератором
Примечание: Создание пустых сообщений


 
Вопрошающий2015 ©   (2015-11-10 23:57) [53]


> Kerk ©   (03.11.15 22:21) [30]


> Давай проведем эксперимент. Я делаю простенький пример с
> использованием виндового CryptoAPI. Строчек 50 займет максимум.
>  У тебя месяц на написание кейгена. Не кряка, не патча,
> а именно кейгена. Чтобы генерировал настоящие валидные ключи,
>  которые эта программа примет.

Вот, кстати, всегда было интересно, как это можно реализовать на RSA? Ведь публичный ключ шифрует данные, секретный расшифровывает, а не наоборот. Так каким образом поможет публичный ключ пригодиться внутри программы для проверки? Им же не расшифруешь.

Подозреваю, что есть какая-то хитрость, любопытно какая, хотя бы намеки.


 
Kerk ©   (2015-11-11 00:01) [54]


> Ведь публичный ключ шифрует данные, секретный расшифровывает,
>  а не наоборот.

Наоборот тоже можно. Так что программа с помощью публичного ключа расшифровывает то, что было зашифровано секретным ключом.


 
Вопрошающий2015 ©   (2015-11-11 00:46) [55]


> Kerk ©   (11.11.15 00:01) [54]

Спасибо за наводку, посмотрю в этом направлении.


 
Rouse_ ©   (2015-11-11 09:45) [56]


> Вопрошающий2015 ©   (10.11.15 23:57) [53]

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


 
Eraser ©   (2015-11-11 19:09) [57]


> Rouse_ ©   (11.11.15 09:45) [56]


> любое сообщение зашифрованное приватным, сможет расшифровать
> любой, но никто не сможет создать такое-же зашифрованное
> сообщение.

цифровая подпись? )


 
Kerk ©   (2015-11-11 19:10) [58]


> цифровая подпись? )

Ну она так и работает. Обычно шифруют секретным ключом хэш сообщения. Любой желающий может пересчитать хэш, расшифровать твою версию и сравнить.


 
Rouse_ ©   (2015-11-11 20:09) [59]


> Eraser ©   (11.11.15 19:09) [57]
> цифровая подпись? )

Да, если не использовать скомпроментированный SHA1, цифровая подпись работает на этом-же принципе, как Рома выше и сказал :)


 
Rouse_ ©   (2015-11-12 18:41) [60]

Ну собственно фреймворк (для C++14) готов, на выходных буду часть его переводить под Дельфи и готовится к статье.
Почему часть? Ну потому что есть у меня свои идеи по развитию данного проекта, и не всем готов открыто поделиться. Сори.

Впрочем, кто там говорил что хочет посмотреть кейгенми?
Так у меня есть он: http://rouse.drkb.ru/tmp/keygenme.zip

Файл не запакован, не зашифрован, антиотладки и прочих трюков нет.
Адрес обработчика кнопки: 00401270

В этом же виде он выложен на "crackmes.de", но пока не прошел модерацию, скоро должен открыться по данной ссылке: http://www.crackmes.de/users/rouse/keygenme_1/
Как раз к выходу статьи и посмотрим, насколько хороша технология, о которой собираюсь рассказать :)

ЗЫ в дополнению к вопросу:


> DayGaykin ©   (02.11.15 15:59) [17]
> А если я сделаю:
> A = vmAdd(10, 20)
> B = vmAdd(A, 30)
> То итоговый код этих команд будет идти по порядку сначала
> первой команды, а потом второй или смешается между собой?


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


 
Rouse_ ©   (2015-11-12 18:52) [61]

ЗЫ: забыл особо указать на то, что это результат работы обычного компилятора.
Т.е. файл вот как он был скомпилирован, так и был выложен. Никаких последующих махинаций с ним не производилось.
При этом (даже вот в таком простом случае) IDA Pro, уже отказывается строить граф хэндлера.
В Delphi, конечно, именно такого результата не добиться, но что-то очень сильно приближенное, и практически так-же усложняющее анализ логики, скорее всего получится.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.007 c
15-1445808784
K-1000
2015-10-26 00:33
2016.07.24
EDID. Получить ID монитора (Работа с байтами)


15-1441106416
Rouse_
2015-09-01 14:20
2016.07.24
Небольшой анонс по поводу FWZip


15-1442611639
DayGaykin
2015-09-19 00:27
2016.07.24
Помощник игры в Сапера.


15-1443389401
Юрий
2015-09-28 00:30
2016.07.24
С днем рождения ! 28 сентября 2015 понедельник


2-1415727709
Mimikron
2014-11-11 20:41
2016.07.24
DBGrid, скроллинг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский