Сейчас на форуме: Rio (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Перехват проверки пароля |
Посл.ответ | Сообщение |
|
Создано: 21 июля 2007 12:30 · Личное сообщение · #1 |
|
Создано: 21 июля 2007 21:18 · Личное сообщение · #2 |
|
Создано: 21 июля 2007 23:06 · Личное сообщение · #3 |
|
Создано: 23 июля 2007 14:54 · Личное сообщение · #4 Это инсталлер InnoSetup. Пароль находиться где-то внутри. Но дело в том, что он кажется еще и шифрует по паролю. При запуске инсталлера создает в X:\Documents and Settings\<User NAme>\Local Settings\Temp две папки вида is-XXXXX.tmp. В первой папке содержится файл вида is-XXXX.tmp (это и есть основной процесс, т.е. на этот процесс и происходит переключение при начальном запуске инсталлера). Во второй папке файлы _iscrypt.dll, _isdecmp.dll (могуть быть и другие). При аттаче к процессу (is-XXXX.tmp) в OllyDbg происходит останов, а затем при запуске процесс не оживает ![]() ![]() |
|
Создано: 23 июля 2007 15:37 · Личное сообщение · #5 |
|
Создано: 23 июля 2007 18:23 · Поправил: cs137 · Личное сообщение · #6 SergX вот такая же по типу инсталляции прога rapidshare.com/files/44563395/egifan4pfull.rar.html Тока тут я преобразовал инсталлер, чтобы его можно было отлаживать с начала. Вот как это делается: запускаем инсталлер (пусть будет setup.exe) и копируем Local Settings\Temp\is-XXXXX.tmp (имя можно посмотреть в списке процессов) в какую-нить директорию и переименовываем (о файлах, создаваемых при запуске в предыдущем посте), например, в install.exe. Закрываем инсталлер. В setup.exe (исходном инсталлере) ищем строку Inno Setup Setup Data (5.0.4) (цифры могут быть и другими) и начиная с первого символа данной строки и до конца файла копируем содержимое в новый файл, который в свою очередь обзываем install-0.bin и кладем с install.exe (т.е. имеем чистый инсталлер install.exe + install-0.bin). Все, теперь можно спокойно отлаживать install.exe ![]() ![]() |
|
Создано: 30 июля 2007 12:10 · Личное сообщение · #7 Мне кажется ставить бряк на месаджебокс не очень удачная идея. По моему давно прошли времена когда вызов этой функции стоял рядышком с тем самым jne/je который выводит на путь истинный при переключению на нужную ветку программы. Хотя кривить душой не буду - иногда случается и такое. Но насколько я понял вопрос стоит в перехвате пароля? Тогда нужно поступать стандартно и ставить бряки на функцию, считывающую строку. Понятно GetWindowTextA(W) или GetDlgItemTextA(W). Такой прием не срабатывает если прога написана на Делфи например. Тут тоже стандартный путь - дожидаешься ругательной мессаги вываливаешься в SoftIce(лучше него все равно не найти) и ищешь строку в памяти s 0 l -1 "Введенная_тобой_строка" и найдя ставить на не бряк и смотреть, кто ею интересуется и не сравнивают ли ее с паролем(что вряд ли). Так что подсмотреть/перехватить/узнать сам пароль скорее всего не удастся - такое бывает только в крэкмисах для новичков, хотя вру - недавно я столкнулся с такой прогой, но это детали. З.Ы. Вообще то на такой вопрос можно найти ответ в любом факе так что лучше смотреть сначала там ![]() |
|
Создано: 20 мая 2008 21:56 · Поправил: proletsearch · Личное сообщение · #8 |
|
Создано: 21 мая 2008 12:24 · Личное сообщение · #9 |
|
Создано: 21 мая 2008 13:16 · Личное сообщение · #10 Попробуй воспользоваться этой штукой.Я думаю поможет. ![]() ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Перехват проверки пароля |