Сейчас на форуме: Adler, asfa, bartolomeo (+8 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› QIP 2012 - снова начудили с шифрованием паролей как в старом QIP 2005 |
Посл.ответ | Сообщение |
|
Создано: 19 октября 2012 20:48 · Личное сообщение · #1 Сегодня ради любопытства скачал свежий QIP 2012 и даже зарегился на qip.ru )) Попытался воспользоваться утилитами, достающими пароль из QUDF-файла (DecryptICQ и UFR 3). Не получилось. Лезу в файл и вижу: 1) формат файла сменили с 4 на 5 (в заголовке) 2) сигнатуры, по которым ищет UFR, уже другие 3) логин и пароль снова стали шифроваться набором "хитрых" алгосов (поверх накрыто Base64) В qip 2005 что то похожее было. С выходом Infium обычный NOT применяли для "скрытия". Но вот снова вернулись с истокам. Полазив немного в IDA не нашёл место дешифрации, а с отладчиками не очень дружу. Помогите найти функцию дешифрации этих полей. Дальше я уже сам справлюсь. ![]() |
|
Создано: 19 октября 2012 21:08 · Личное сообщение · #2 |
|
Создано: 19 октября 2012 21:11 · Личное сообщение · #3 |
|
Создано: 20 октября 2012 13:11 · Личное сообщение · #4 |
|
Создано: 20 октября 2012 13:26 · Личное сообщение · #5 |
|
Создано: 20 октября 2012 18:33 · Поправил: ressa · Личное сообщение · #6 |
|
Создано: 20 октября 2012 19:35 · Личное сообщение · #7 |
|
Создано: 20 октября 2012 21:09 · Поправил: ressa · Личное сообщение · #8 |
|
Создано: 20 октября 2012 21:19 · Личное сообщение · #9 ressa Да Johnny Mnemonic правильно говорит, раскрывать там нечего, т.к. как таковой технологии там нет. К примеру, вы знаете, что некая программа (любая, не обязательно квик-клиент или аська) хранит ваш пасс в зашифрованном виде в каком-то ключе реестра. Вам хочется сделать так, чтоб малварь, пробравшаяся к вам на комп, даже сперев пароли, не могла ими воспользоваться. Концепт в том, чтоб дать ей спереть неправильный пароль. Для этого в вашем софте находим место, где происходит чтение пошифрованного пароля из реетра, после этого места вставляем код, который будет проводить дополнительное дешифрование, а потом передавать дешифрованный пасс на дальнейшую дешифровку программе. Поясню на примере: у вас есть пасс ressaisthebest, например. Ваш софт как-то его шифрует (даже не надо знать, как) и получается после шифрования на выходе 134234560. Вы думаете, что в качестве бонуса нужно получившийся пасс обработать, пусть самым простым способом, и к каждой цифре добавляете 1, тогда всё выглядит так: ressaisthebest -> 134234560 -> 245345671 Дальше прога считывает из реестра пасс 245345671, она изначально ничего не знает про то, что вы применили дополнительное шифрование, потому вы встраиваете код, который отнимает единицу из каждой цифры, а потом результат суёте программе: 245345671 -> 134234560 -> ressaisthebest Вот в обеспечении функционала это последней жирной стрелки и состоит задача заинжекченного кода. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 20 октября 2012 21:58 · Личное сообщение · #10 |
|
Создано: 20 октября 2012 22:13 · Личное сообщение · #11 KingSise пишет: может он их и не собирается воровать, так, подправить алго шифрации, что б засранчики сперли не то ☺ А хорошую идею подкнул. Уже есть мысля пропатчить бинарь QIP 2005, которым сам пользуюсь. Но придётся сначала и там найти адрес функции шифрования. Меня пока QIP 2012 озадачил. Просто интересен тамошний набор применяемых чудо алгосов. ![]() |
|
Создано: 20 октября 2012 22:15 · Личное сообщение · #12 |
|
Создано: 20 октября 2012 22:32 · Личное сообщение · #13 |
|
Создано: 20 октября 2012 23:02 · Личное сообщение · #14 |
|
Создано: 20 октября 2012 23:27 · Личное сообщение · #15 |
|
Создано: 20 октября 2012 23:50 · Личное сообщение · #16 Flint Оно, но есть: Code:
Заменить эту функцию на свою и стайлер идет лесом. ![]() ![]() |
|
Создано: 21 октября 2012 11:01 · Личное сообщение · #17 |
|
Создано: 22 октября 2012 18:37 · Поправил: OSA · Личное сообщение · #18 |
|
Создано: 22 октября 2012 20:47 · Поправил: KingSise · Личное сообщение · #19 |
|
Создано: 23 октября 2012 00:59 · Личное сообщение · #20 |
|
Создано: 23 октября 2012 09:14 · Личное сообщение · #21 |
|
Создано: 23 октября 2012 09:24 · Личное сообщение · #22 F_a_u_s_t Вопрос. Если тоже юзаешь Пси, там же есть достоный конфиг - тонкая настройка. Может там можно сделать рандомное шифрование. Или чтобы каждый юзер при тонкой настройке мог вставить функцию шифрования, подобную твоей, но не перекомпиллируя и не реверся программу. Как думаешь, возможно ли такое? Если да - то может сможешь мою мысль как-нить обернуть в понятный и читабельный вид, а я отпишу разрабам? Потому, что Пси+ - лучший клиент, в вряд ли его кто-нить сможет переплюнуть. ![]() |
|
Создано: 23 октября 2012 09:52 · Личное сообщение · #23 ressa пишет: Или чтобы каждый юзер при тонкой настройке мог вставить функцию шифрования, подобную твоей, но не перекомпиллируя и не реверся программу. В данный момент это не возможно сделать средствами самого psi, функция шифрования захардкоржина, только перекомпиляция, нужны скрипты что бы алгоритм менять, а сами константы что с них толку, выдерут их из памяти, можно допилить webkit и использовать js как скриптовый движек, ка у того же chrome. ![]() |
|
Создано: 23 октября 2012 10:01 · Личное сообщение · #24 |
|
Создано: 23 октября 2012 14:29 · Личное сообщение · #25 |
|
Создано: 23 октября 2012 14:55 · Личное сообщение · #26 |
|
Создано: 23 октября 2012 15:00 · Поправил: Модератор · Личное сообщение · #27 А смысл в адресах? Алгос то стандартный. Ну если очень надо, то скачивай сурцы DCPCrypt2 и подгружай в иду это: Ну а алгос создания ключа, оставлю вам на откуп. Кстати, разрабы QIP ещё раз подтвердили свою никчёмность. В расчёте ключа шифрования участвует имя профиля, которое представлено в ANSI кодировке. При смене текущей кодировки в системе не возможно открыть ни один из созданных профилей, т.к. производится преобразование имени профиля из UTF-16 в ANSI. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› QIP 2012 - снова начудили с шифрованием паролей как в старом QIP 2005 |