Сейчас на форуме: asfa (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Сгенерировать ключ, проверяемый CryptoAPI |
Посл.ответ | Сообщение |
|
Создано: 17 апреля 2010 12:19 · Личное сообщение · #1 Доброго времени суток, изучаю довольно специфичную программу - позволяющую писать расширения внутри себя на C#/.NET, при это часть функционала для расширений в программе закрыта и для его активации из кода вызывается спец функция имеющая на входе строку настроек плагина(привязка к домену) и строку ключа активации. Место проверки ключа я определил, пропатчил его всегда возвращать положительный результат и удостоверился что всё работает, но очень хочется не трогая бинарник определить верный ключ для заданного параметра(ну или вообще написать генератор что было бы лучшим решением). Код функции проверки - pastie.org/924363 и pastie.org/924377 a7 - ключ a1 - строка-параметр CryptoAPI для меня увы тёмные лес, поэтому буду рад любым советам - в какую сторону копать. ![]() |
|
Создано: 17 апреля 2010 12:54 · Личное сообщение · #2 |
|
Создано: 17 апреля 2010 13:09 · Личное сообщение · #3 |
|
Создано: 17 апреля 2010 17:30 · Личное сообщение · #4 |
|
Создано: 17 апреля 2010 18:09 · Личное сообщение · #5 NikolayD пишет: гугл меня уже тихо ненавидит ![]() Vovan666 пишет: На васме (он сейчас вроде в дауде) есть статья как создавать такие ключи www.wasm.ru/article.php?article=dio, только там про RSA, а у тебя вроде SHA, но смысл создания кейгена такой же. спасибо, изучаю Archer пишет: Судя по кодесу, там проверка ЦП. Собрался подделать ЦП? Ну-ну. Если это действительно так, то я даже и думать не буду. Но мне пока кажется что это всего лишь расчёт хеша от строки входных параметров и сравнение его с тем что передаю я. ![]() |
|
Создано: 17 апреля 2010 20:52 · Личное сообщение · #6 восстановил более читабельный код с константами и пришёл к неутешительному выводу ![]() 1. В программе зашит 1024 битный RSA публичный ключ 2. Автор программы получив от меня пачку хрустящих купюр и необходимую строку инициализации при помощи своего приватного ключа генерирует мне строку-подпись. 3. Приложение дешифрует строку подпись вставленную в код используя публичный ключ и сравнивает её со строкой инициализации - если совпали - разрешает работать. Т.е. исходя из того что 1024 ключи в обозримом будущем не сломать, вариант написания генератора ключей отпадает и решить задачу можно только правкой бинарника, убирающей вообще проверку. Правильно ли я понимаю? Может ли мне как-то помочь наличие нескольких верных пар "ключ - строка инициализации"? ![]() |
|
Создано: 17 апреля 2010 23:46 · Личное сообщение · #7 |
![]() |
eXeL@B —› Вопросы новичков —› Сгенерировать ключ, проверяемый CryptoAPI |