Сейчас на форуме: _MBK_ (+7 невидимых) |
![]() |
eXeL@B —› Основной форум —› Нужна помощь в исследовании My Password Manager |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 24 июля 2007 04:35 · Поправил: Djeck · Личное сообщение · #1 Привет всем.Проблема такая-есть программа My Password Manager 2.1.Программа для хранения паролей.Хочу вам сказать,что прога на мой взгляд лучше чем другие из этой области.К тому же есть русский язык.Перейдём от прелюдии к делу. Ссылка: www.mypasswordmanager.com/eng/file/setupmpm.exe Размер-1.2 мб Итак программа: 1)не запакована,peid ничего не находит(Nothing found),Detect Is Easy показывает Microsoft Visual,exeinfope показывает Microsoft Visual C++ ver. 7.x.Судя по всему файл и в правду не запакован(видны строки в диз-ре,вроде бы секции в нормальном состоянии). 2)Ограничение:триал в 30 дней+не даёт делать больше 10 записей в базу. 3)Большое и жирное окно с тремя кнопками Вся проблема в том,что при загрузке в Олю и при запуске программы сразу вылет.Я так понимаю,что это защита програмёров.С помощью дизасамблера удалось только добиться вывода сообщения о правильном серийнике и сбить триал.Но это как вы понимаете не выход. Только заранее прошу не отправлять меня в запросы на взлом.Очень хочеться с этим разобраться с вашей помощью.Тем более где-то здесь на сайте читал статью про взлом RegSnap(это таже фирма),но там немножко запутано и я не разобрался.Вообще прочитав ту статью,и с учётом прошедшего времени я думаю,что защита там довольно интересная. Надеюсь кто-нибудь захочет встрехнуть стариной и размяться на данной программе.Заранее всем благодарен. ![]() |
|
Создано: 24 июля 2007 09:37 · Личное сообщение · #2 |
|
Создано: 24 июля 2007 10:08 · Личное сообщение · #3 |
|
Создано: 24 июля 2007 10:11 · Поправил: Icelot · Личное сообщение · #4 |
|
Создано: 24 июля 2007 10:16 · Личное сообщение · #5 |
|
Создано: 24 июля 2007 10:45 · Личное сообщение · #6 Я может еще слабо вкурил, но что-то там программа имеет на случай отладчика. А точнее почему-то если поставить брейкпоинт на память здесь 49e6e0 (здесь судя по всему переменная типа boolean на зарегность), то программа непременно падает... и вообще как-то странно ведет себя олька если стоят брейкпоинты.. не понятно пока. ----- radio uno in ibisa ... ![]() |
|
Создано: 24 июля 2007 10:56 · Личное сообщение · #7 dimaxmaster пишет: лучше дай ссылку на сайт программы с рапиды например у меня плохо качает, и для интересу бы написал размер в метрах, скорость нета у всех разная Исправил Ara пишет: Нормально в Оле дебажится, ничего не вылетает. Не знаю,у меня при запуске исключение overwriter пишет: Дык а в чем проблема то? Нашел место в дизасме, дык в ИДЕ есть такая штука, Run to cursor называется.. И отлаживай Проблема банальная-нету Иды,а скачать модем не позволяет Icelot пишет: непременно падает... и вообще как-то странно ведет себя олька если стоят брейкпоинты.. не понятно пока. Вот-вот,и я про тоже.Любой бряк и исключение.Так программу отлаживать невозможно.Так кто-нибудь разобрался на чём прога написана? ![]() |
|
Создано: 24 июля 2007 11:05 · Личное сообщение · #8 |
|
Создано: 24 июля 2007 11:06 · Личное сообщение · #9 |
|
Создано: 24 июля 2007 11:10 · Личное сообщение · #10 |
|
Создано: 24 июля 2007 11:17 · Личное сообщение · #11 |
|
Создано: 24 июля 2007 11:31 · Личное сообщение · #12 хы)) кажеццо я знаю от куда виоланты. в этих функах из dll (во второй) есть такой вызов 7C16A575 FF50 0C CALL DWORD PTR DS:[EAX+C] ; MFC71.7C16A383 а в EAX передаеццо через параметры адрес.. видимо если прога не зарегана, то этот адрес(а) один, иначе другой. а если прога не зарегана, а в ней тупо поправить джампы, то и происходит вызов невесть чего. з.ы. могу ошибаться! ----- radio uno in ibisa ... ![]() |
|
Создано: 24 июля 2007 11:45 · Личное сообщение · #13 хм, запустил в ольке, дает ставить бряки, четыре исключения, нажимаю Shift+F9 программа спокойно запускается Icelot пишет: че-то придумали)) основная проверка происходит в dll MFC71 CALL MFC71.7C16A37D CALL MFC71.7C16A56C а какая винда стоит, по-моему в 98 винде такая ошибка при отладке возникает, у меня помню было, а в ХР работает нормально ![]() |
|
Создано: 24 июля 2007 11:47 · Личное сообщение · #14 |
|
Создано: 24 июля 2007 11:57 · Личное сообщение · #15 |
|
Создано: 24 июля 2007 11:59 · Личное сообщение · #16 |
|
Создано: 24 июля 2007 12:06 · Личное сообщение · #17 Icelot пишет: поставь Memory Breakpoint на 49e6e0. XPSP2 а зачем?, я поставил и улетел в бесконечные исключения, что там по этому адресу??? Djeck пишет: Парни кто скачал с офф. сайта скажите там версия 2.1 или другая Я качал версия 2.1 билд 341 Я немного посмотрел, в функции 0042E27D начинается проверка валидности ключа, саму функцию не смотрел. Если вернет 1 то скажет, что прога зарегестрирована и попросит перезапустить прогу, дальше надо ковырять ![]() |
|
Создано: 24 июля 2007 12:15 · Личное сообщение · #18 |
|
Создано: 24 июля 2007 12:17 · Личное сообщение · #19 dimaxmaster пишет: Я немного посмотрел, в функции 0042E27D начинается проверка валидности ключа, саму функцию не смотрел. Если вернет 1 то скажет, что прога зарегестрирована и попросит перезапустить прогу, дальше надо ковырять Да просто напишет,что всё ОК.Дальше можно подправить и сделать,чтобы ключ прога внесла в реестр,но как вы понимаете мы не самые умные и при следующем запуске проверка в реестре не катит.Можно поймать при запуске считывание в реестре,кажись RegQueryValueExA,но нужен дебагер,а он у меня не хочет работать. ![]() |
|
Создано: 24 июля 2007 12:19 · Личное сообщение · #20 |
|
Создано: 24 июля 2007 12:22 · Личное сообщение · #21 |
|
Создано: 24 июля 2007 13:04 · Личное сообщение · #22 SLV пишет: в MFC ничёго по определению проверяться не может... Icelot пишет: mfc71.dll идет в каталоге с прогой. разве это не может быть самопальной dll? Парни не знаю,может там чё-то проверяться,но там проверяется: 00405233 . FF15 4C534700 CALL DWORD PTR DS:[<&MFC71.#304>] ; MFC71.7C16A59C-обрати внимание на вызов 00405239 . 391D 98D74900 CMP DWORD PTR DS:[49D798],EBX 0040523F . 895D FC MOV DWORD PTR SS:[EBP-4],EBX 00405242 EB 0E JE SHORT mypass.00405252 -меняем дедовским методом на JMP Это фуфло отвечает за истечение триала.Когда 30 дней истекает кнопка try не доступна.Теперь всё доступно.(классная вещь этот отладчик).Сейчас нам надо избавиться от гавнистого окна и пол дела сделано.В программе regSnap мне это так и не удалось. ![]() |
|
Создано: 24 июля 2007 13:08 · Личное сообщение · #23 |
|
Создано: 24 июля 2007 13:33 · Личное сообщение · #24 Icelot пишет: Djeck лучше довай кейген сбацаем дружно С удовольствием,я только за,но боюсь обломимся.Ты серийник там видел?Типа Аспра из 50 всяких символов+насколько я помню там ещё из этого кода имя считывается.Я думаю мне не по силам.Что скажешь?Если ты хочешь сбацать кейген нужно искать код генерации,а мне кажется мы там охренеем. Тем более осталась мелочь:я просто в програмёрах ошибся,ни хрена они не умные 00405288 . E8 5D1E0400 CALL <JMP.&MFC71.#6067>-выводить гавнистое окно или нет 0040528D . 391D E0E64900 CMP DWORD PTR DS:[49E6E0],EBX 00405293 74 0B JE SHORT mypass1.004052A0-оно нам не нужно,поэтому меняем на JNE,типа всё ОК. Осталась мелочь: 1)Там ограничение на 10 записей в базу 2)Самое приятное-надо всем вместе дружно вписать свои имена в аналы,так сказать программы.Ну ка дружно наляжим на буржуйский софт. P.S.Icelot-вообще-то твоя идея с кейгеном это вещь хорошая-будем пробовать?Лично я даже хрен знает с чего начать.(нелюблю я в эти дебри лазить) ![]() |
|
Создано: 24 июля 2007 13:52 · Личное сообщение · #25 |
|
Создано: 24 июля 2007 13:55 · Личное сообщение · #26 Djeck пишет: 00405293 74 0B JE SHORT mypass1.004052A0-оно нам не нужно,поэтому меняем на JNE,типа всё ОК. так то оно так, но прогу это не регистрирует, кроме того, прога просит перезагрузки, возможно что-то меняет где-то, помню сталкивался с таким, тогда прога делала записи у себя в РЕ заголовке, надо продолжать ковырять ![]() |
|
Создано: 24 июля 2007 13:58 · Личное сообщение · #27 |
|
Создано: 24 июля 2007 14:06 · Личное сообщение · #28 |
|
Создано: 24 июля 2007 14:32 · Личное сообщение · #29 dimaxmaster пишет: так то оно так, но прогу это не регистрирует Что в твоём понимании не регистрирует?Ограничения в 30 дней нет,триального окна нет и вводи ключей в базу сколько хочешь dimaxmaster пишет: вполне возможно это все, мне прога не нужна, я даже не смотрел, что она делает, смущает меня только то, что прога просила перезагрузки, зачем не знаю Я тебе объясню.Когда ты её регистрируешь она просит перезагрузки только для того чтобы считать с реестра твой ключ и забабахать на его основе твоё имя. Icelot пишет: дык я её тоже регистрировал и снимал ограничения, после перезагрузки всё по новой А у меня и ключ подходит,и окон нет и после перезагрузки всё пучком.Не могу понять только чё с надписями Unregistered делать-хочеца по красивее сделать. Icelot: На сколько я понял проверка ключа начинается отсюда? 0042E24D . E8 0E9D0100 CALL mypass2.00447F60-начинаем 0042E252 . 81EC 20010000 SUB ESP,120 0042E258 . A1 C0CF4900 MOV EAX,DWORD PTR DS:[49CFC0] 0042E25D . 53 PUSH EBX 0042E25E . 56 PUSH ESI ; mypass2.00480758 0042E25F . 6A 01 PUSH 1 0042E261 . 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX ; mypass2.0044E4A6 0042E264 . 8BF1 MOV ESI,ECX 0042E266 . E8 D38E0100 CALL <JMP.&MFC71.#6236> - считываем наш введённый код 0042E26B . 8B46 74 MOV EAX,DWORD PTR DS:[ESI+74] 0042E26E . 8B48 F4 MOV ECX,DWORD PTR DS:[EAX-C] 0042E271 . 33DB XOR EBX,EBX 0042E273 . 3BCB CMP ECX,EBX 0042E275 . 0F84 CB000000 JE mypass2.0042E346 0042E27B . 53 PUSH EBX 0042E27C . 50 PUSH EAX 0042E27D . E8 6CAAFDFF CALL mypass2.00408CEE -замутки с нашим ключом,посмотри там мож,чё надыбаешь,я чёт ни чё не понял. 0042E282 . 85C0 TEST EAX,EAX 0042E284 . 59 POP ECX ; mypass2.00480758 0042E285 . 59 POP ECX ; mypass2.00480758 0042E286 . 0F84 AE000000 JE mypass2.0042E33A -прыжок на сообщение о не правильном коде.Нам это на хрен не надо для кейгена.Так что проверка где то в этом куске кода.Логично? Там дальше насколько я понял идёт запись в реестр. Ну что скажешь? 0042E28C . 8D8D DCFEFFFF LEA ECX,DWORD PTR SS:[EBP-124] 0042E292 . FF15 50534700 CALL DWORD PTR DS:[<&MFC71.#310>] ; MFC71.7C173199 0042E298 . 68 B4644700 PUSH mypass2.004764B4 ; ASCII "String" 0042E29D . 8D8D D8FEFFFF LEA ECX,DWORD PTR SS:[EBP-128] 0042E2A3 . 895D FC MOV DWORD PTR SS:[EBP-4],EBX 0042E2A6 . FF15 4C534700 CALL DWORD PTR DS:[<&MFC71.#304>] ; MFC71.7C16A59C 0042E2AC . 6A 01 PUSH 1 0042E2AE . 8D85 D8FEFFFF LEA EAX,DWORD PTR SS:[EBP-128] 0042E2B4 . 50 PUSH EAX 0042E2B5 . 68 D4DD4900 PUSH mypass2.0049DDD4 0042E2BA . 8D8D E0FEFFFF LEA ECX,DWORD PTR SS:[EBP-120] 0042E2C0 . C645 FC 01 MOV BYTE PTR SS:[EBP-4],1 0042E2C4 . E8 86860000 CALL mypass2.0043694F 0042E2C9 . 8D8D D8FEFFFF LEA ECX,DWORD PTR SS:[EBP-128] 0042E2CF . C645 FC 03 MOV BYTE PTR SS:[EBP-4],3 0042E2D3 . FF15 40534700 CALL DWORD PTR DS:[<&MFC71.#578>] ; MFC71.7C1771B1 0042E2D9 . 68 C8094800 PUSH mypass2.004809C8 ; ASCII "Thank you for registering our software! Please restart the application." ![]() |
|
Создано: 24 июля 2007 14:48 · Личное сообщение · #30 Djeck пишет: На сколько я понял проверка ключа начинается отсюда? отсюда, но сама функа вот здесь: 00408C57 Djeck пишет: 0042E27D . E8 6CAAFDFF CALL mypass2.00408CEE -замутки с нашим ключом,посмотри там мож,чё надыбаешь,я чёт ни чё не понял. вот там и вызывается функа 00408C57, а она и проверяет клчег на валидность, EAX - индикатор. ----- radio uno in ibisa ... ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Основной форум —› Нужна помощь в исследовании My Password Manager |
Эта тема закрыта. Ответы больше не принимаются. |