Сейчас на форуме: Lohmaty (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Можно ли ставить бряк на чтение определенного раздела реестра? |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 12 октября 2006 00:23 · Личное сообщение · #1 Респект, исследователи программных защит! Я тут капаю одну прогу (Sim Easy 7.20). В поле для регистрации ввел «RUffex» и «1234567567890». Сюрприз: «Thank you for register this software, press ‘ok’ to exit, then restart this program to check the register code». После перезапуска все по-старому. Вывод: регистрационная информация записывается в реестр, а при перезапуске проверяется. Ставлю в Оле бряк на RegOpenKeyExA, но прога тормозится где попало (более 20 вызовов). Посмотрел самые подозрительные моменты – ничего не нашел. Лопатить все - нереально. Вопрос: можно ли ставить бряк на чтение определенного раздела реестра? ЗЫ: прога была упакована Armadillo 3.00a - 3.61. ЗЗЫ: окно регистрации вылетает только при подключенном фирменном оборудовании. Всем заранее спасибо! ![]() |
|
Создано: 12 октября 2006 00:33 · Личное сообщение · #2 RUffex пишет: Вывод: регистрационная информация записывается в реестр, а при перезапуске проверяется. Не обязательно в реестре. Может и в файле. Юзай RegMon. Ну а бряки лучше не на открытие ставить, а на чтение из реестра. А еще лучше потрэйсить момент где выводится «Thank you for register this software, press ‘ok’ to exit, then restart this program to check the register code». Там и увидишь куда инфа записывается. ![]() |
|
Создано: 12 октября 2006 00:39 · Личное сообщение · #3 |
|
Создано: 12 октября 2006 00:43 · Личное сообщение · #4 |
|
Создано: 12 октября 2006 00:44 · Личное сообщение · #5 |
|
Создано: 12 октября 2006 01:01 · Личное сообщение · #6 WELL пишет: Но более универсально было бы сделать как я уже выше постил: Инфа записывается до этого (сработало на GetWindowTextA), причем в реестр. Вот кусок кода: sub_4138C0 proc near ; DATA XREF: .rdata:0044DC04o .text:004138C0 .text:004138C0 sub esp, 8 .text:004138C3 push ebp .text:004138C4 push esi .text:004138C5 mov esi, ecx .text:004138C7 push 1 .text:004138C9 call sub_431B59 .text:004138CE lea eax, [esp+10h+dwDisposition] .text:004138D2 lea ecx, [esp+10h+phkResult] .text:004138D6 xor ebp, ebp .text:004138D8 push eax ; lpdwDisposition .text:004138D9 push ecx ; phkResult .text:004138DA push ebp ; lpSecurityAttributes .text:004138DB push 0F003Fh ; samDesired .text:004138E0 push ebp ; dwOptions .text:004138E1 push ebp ; lpClass .text:004138E2 push ebp ; Reserved .text:004138E3 push offset aSoftwareTlzj18 ; "SOFTWARE\\TLZJ18 Software\\sim easy" .text:004138E8 push 80000002h ; hKey .text:004138ED mov [esp+34h+phkResult], ebp .text:004138F1 call ds:RegCreateKeyExA .text:004138F7 cmp eax, ebp .text:004138F9 jnz short loc_41396D .text:004138FB mov ecx, [esi+6Ch] .text:004138FE xor eax, eax .text:00413900 cmp ecx, ebp .text:00413902 jz short loc_41390E .text:00413904 push ecx ; hKey .text:00413905 call ds:RegCloseKey .text:0041390B mov [esi+6Ch], ebp .text:0041390E loc_41390E: ; CODE XREF: sub_4138C0+42j .text:0041390E mov edx, [esp+10h+phkResult] .text:00413912 cmp eax, ebp .text:00413914 mov [esi+6Ch], edx .text:00413917 jnz short loc_41396D .text:00413919 push ebx .text:0041391A mov ebx, ds:lstrlen .text:00413920 push edi .text:00413921 mov edi, [esi+64h] .text:00413924 push edi .text:00413925 call ebx ; lstrlen .text:00413927 inc eax .text:00413928 push eax ; cbData .text:00413929 mov eax, [esi+6Ch] .text:0041392C push edi ; lpData .text:0041392D push 1 ; dwType .text:0041392F push ebp ; Reserved .text:00413930 mov ebp, ds:RegSetValueExA .text:00413936 push offset aName ; "name" .text:0041393B push eax ; hKey .text:0041393C call ebp ; RegSetValueExA .text:0041393E mov edi, [esi+68h] .text:00413941 push edi .text:00413942 call ebx ; lstrlen .text:00413944 mov ecx, [esi+6Ch] .text:00413947 inc eax .text:00413948 push eax ; cbData .text:00413949 push edi ; lpData .text:0041394A push 1 ; dwType .text:0041394C push 0 ; Reserved .text:0041394E push offset aRegcode ; "regcode" .text:00413953 push ecx ; hKey .text:00413954 call ebp ; RegSetValueExA .text:00413956 mov eax, [esi+6Ch] .text:00413959 pop edi .text:0041395A test eax, eax .text:0041395C pop ebx .text:0041395D jz short loc_41396D .text:0041395F push eax ; hKey .text:00413960 call ds:RegCloseKey .text:00413966 mov dword ptr [esi+6Ch], 0 ![]() |
|
Создано: 12 октября 2006 01:18 · Личное сообщение · #7 Если прога записывает рег. данные в реестр я делаю так: загружаю прогу в Олю, ставлю BP RegOpenKeyExA и F9. Когда брякаюсь на RegOpenKeyExA гляжу на стек, там третьим параметром идет ValueName="бла-бла-бла". Если не то что надо опять F9 и т.д. RUffex в твоем случае нуна давить F9 пока не будет ValueName="regcode", а дальше уже по F8 пока в регистрах не появится введеный код и собственно ищешь место проверки. З.Ы. более 20 вызовов это фигня, бывает и по сотне ![]() |
|
Создано: 12 октября 2006 01:28 · Личное сообщение · #8 RUffex пишет: Сюрприз: Скорее всего это трюк. Если точно перевести : выйди и зайди - я проверю. Т.е. проверка правильности идет до запроса "правильного" кода. Ищи место, где читают из реестра и проверяют. И не пости сюда куски тривиального кода - это же основной форум. Вот когда найдешь и разгадаешь проверку, тогда можно. Тем более еще никто не подключился к теме - кому вообще нужен код. Хотя по-моему тема явно не тянет - ей место в форуме новичков. ![]() |
|
Создано: 12 октября 2006 01:55 · Личное сообщение · #9 |
|
Создано: 12 октября 2006 03:21 · Личное сообщение · #10 |
|
Создано: 12 октября 2006 03:28 · Поправил: YDS · Личное сообщение · #11 PE_Kill пишет: Там армадилла висела, скорее всего регистрация на ней висит (т.к. в следующей версии висел аспр и регистрация на нем была) Точно так. Если топик создан только взлома ради, то достаточно распаковать сабж. В "запросах на взлом" есть распакованный exe. По распаковке именно этой проги можешь глянуть тут: http://www.exelab.ru/f/action=vthread&topic=6333&forum=1&p age=-1 - найдешь видео по снятию дампа с этой проги (только на последнем этапе примени LordPE), затем стандартным образом фиксишь magic jump и прикручиваешь импорт. ![]() |
|
Создано: 12 октября 2006 04:23 · Личное сообщение · #12 |
|
Создано: 12 октября 2006 05:25 · Поправил: tundra37 · Личное сообщение · #13 RUffex Перечитал внимательно твой первый пост - пардон! Ты все правильно понял сразу - лови RegQueryValueExA и смотри стек - там имя параметра. По поводу Армадиллы я думаю народ не прав. После распаковки работают простые функции и все радуются - больше ничего делать не надо. А вот вам сюрприз - дополнительная защита. Но похоже у тебя прога уже распакована, т.к. бряки Армадилла сразу поставить не даст. Например, YDS писал про debug blocker - его явно нет уже. ![]() |
|
Создано: 12 октября 2006 14:04 · Личное сообщение · #14 |
|
Создано: 13 октября 2006 00:53 · Поправил: RUffex · Личное сообщение · #15 PE_Kill пишет: Там армадилла висела, скорее всего регистрация на ней висит Даже после распаковки, PEiD говорит "Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks". crc1 пишет: в твоем случае нуна давить F9 пока не будет ValueName="regcode", а дальше уже по F8 пока в регистрах не появится введеный код так и делаю, но ни в стеке, ни в регистрах не появляется тествовая информация (ни моего ника, ни рег.кода не видно). Буду дальше капать. Есть еще пару идей о регистрации. Что получится - сообщу. ![]() |
|
Создано: 13 октября 2006 23:32 · Личное сообщение · #16 Ну тошто после распаковки показывает Armadillo 1.xx - 2.xx внимания не обращай обреж секции армы и т.д Блин ну быть не может если параметр хранится в реестре то он должен считываться. Запусти RegMon посмотри какая Api перед этим вызывается поставь бряку на нее и попробуй потрейсить так. А вообще приатач распакованную может чем помогу. ![]() |
|
Создано: 14 октября 2006 05:36 · Личное сообщение · #17 RUffex пишет: так и делаю, но ни в стеке, ни в регистрах не появляется тествовая информация (ни моего ника, ни рег.кода не видно). Все-таки, помедленней рассказывай. 1) Был вызов с ValueName="regcode" ? 2) Что после этого делал ? 3) На выходе должен быть текст "1234567890" , если конечно именно F8 давил ![]() ![]() |
|
Создано: 14 октября 2006 07:10 · Личное сообщение · #18 |
|
Создано: 15 октября 2006 02:33 · Поправил: RUffex · Личное сообщение · #19 |
|
Создано: 15 октября 2006 03:10 · Личное сообщение · #20 |
|
Создано: 15 октября 2006 03:13 · Личное сообщение · #21 |
|
Создано: 15 октября 2006 03:33 · Личное сообщение · #22 |
|
Создано: 15 октября 2006 12:56 · Личное сообщение · #23 |
|
Создано: 15 октября 2006 19:30 · Поправил: RUffex · Личное сообщение · #24 Dark Star пишет: перезалей tundra37 пишет: Не забудь ее запаковать с паролем и название сменить. Небось афторы уже ждут тебя ![]() Сказано - zalil.ru/upload/23255941 Пароль - www.crackl@b.ru Dark Star пишет: Походу его уже взяли!!!!!!!! Всмысле? Распаковать - это одно, а найти рабочий пасс или поправить пару нужных байтов - другое дело.. У меня нихрена не получаетя. Кряк или кейген (типа идти от противного) найти не могу. Прога китайская, а на ихних сайтах фиг что найдешь, тем более что мои знания в китайском ограничиваются несколькими десятками слов. Короче, кто может, посмотрите прогу, если не трудно.. ![]() |
|
Создано: 16 октября 2006 06:35 · Личное сообщение · #25 |
|
Создано: 16 октября 2006 14:00 · Личное сообщение · #26 |
|
Создано: 16 октября 2006 22:59 · Личное сообщение · #27 tundra37 пишет: А так она ничего не говорит - все нормально. Логичео предположить, что происходит проверка не при включении проги, как предполагалось, а где-то в середине, т.к. ключи в реестре при вводе новой рег. информации перезапивывается, а не проверяются. Dark Star пишет: Какой нафиг SIM reader? Это прога или устройство для симак. Это устройство, предназначенное для считывания информации с СИМ-карт, в том числе и специальных кодов, необходимых для клонирования СИМок. ![]() |
|
Создано: 17 октября 2006 01:18 · Личное сообщение · #28 |
|
Создано: 19 октября 2006 03:19 · Личное сообщение · #29 tundra37 пишет: К тому же ты сам написал, что регистрацию требует, когда ты работаешь со спец-девайсами. Где же твоя логика ?! Да, регистрацию требует, только когда работаешь с кард-ридером, но только при использовании одной функции (заливание кодов на карту). Но это не обязательно значит, что регистрацию прога проверяет только при подключенном девайсе, хотя, на месте программиста, проверку бы я сделал только при включенном оборудовании. ![]() |
|
Создано: 20 октября 2006 01:09 · Личное сообщение · #30 |
. 1 . 2 . >> |
![]() |
eXeL@B —› Вопросы новичков —› Можно ли ставить бряк на чтение определенного раздела реестра? |
Эта тема закрыта. Ответы больше не принимаются. |