Сейчас на форуме: bartolomeo (+3 невидимых)

 eXeL@B —› Вопросы новичков —› Пустышка
Посл.ответ Сообщение

Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 марта 2006 14:46
· Личное сообщение · #1

Хранитель экрана StarWar c диска Hard & Soft 6 за 2004 год www.terminalstudio.com/spaceflight.shtml
Все началось слишком уж хорошо буквально через минуту по адресу 004117ab вижу заветный переход поправляю его прямо сайсе прога кричит что все нормально и я теперь легальный пользователь.Но на самом деле не регистрируется.



Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 05 марта 2006 16:12
· Личное сообщение · #2

Ты только заставил прогу записать User Name и Reg. Code в реестр вне зависимости от их правильности. Надо ещё пропатчить процедуры проверки
0040FFD0 /74 09 je short Star_War.0040FFDB
Занопь этот джамп и прогу будет считать себя зарегистрированной =)




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 05 марта 2006 17:28
· Личное сообщение · #3

Milk
Там необходимо исправить 2 проверки:
- при регистрации, чтобы получить окошко "Все хорошо";
- при запуске (проверка данных в реестре).
Попробуй webfile.ru/843881
Имя файла - Space Flight 3D Screensaver.rar , размер 8 Кбайт. Файл будет доступен до 12.03.2006 17:24.
Пароль к архиву: 2558 Думаю, разберешься. Если что, пиши в личку.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 05 марта 2006 18:17
· Личное сообщение · #4

ValdiS, чел вроде ломает другой скринсейвер =)
Только с ссылкой он наверное ошибся. Я брал прогу с указанного выше диска и Space Flight 3D там нет =)

Хотя принцип взлома тот-же



Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 05 марта 2006 19:07
· Личное сообщение · #5

Привет всем. Я вот тут заинтересовался темой, качнул по ссылке программулину и тоже теперь сижу, чешу репу
Фигня какая-то получается. Прыжок на окно о удачной регистрации я тоже нашел, правда он у меня почемуто по другому адресу (может новая версия?)
00414C89 0F85 39010000 JNZ Space_Fl.00414DC8
А дальше такой же гимор. Проге выводит окно о правильной регистрации, а при перезапуске опять выкаблучивается. В принципе понятно. Вывести окно с Thancks это еще не значит зерегестрировать прогу. А вот понять где сверяется введенный серийник с правильным у меня не получается. Никаких подозрительных строчек прога вроде не светит, почти все функции импортирует по ординалу, введенный серийник копирует из одного места в другое раза три... В общем "...ничего не понимаю" (с) Колобки

Klajnor, а как ты находил место где эта процедура проверки?



Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 05 марта 2006 21:48
· Личное сообщение · #6

Sturgeon пишет:
Прыжок на окно о удачной регистрации я тоже нашел, правда он у меня почемуто по другому адресу
- ИМХО Milk ошибся ссылкой.Ты ломаешь Space Flight 3D и ссылка на эту прогу, но Milk в первом посте говорит: Хранитель экрана StarWar. Я взял эту прогу с диска и адрес прыжка на окно о удачной регистрации у меня совпадает.

На счёт серийника не гемороился вообще.
А процедуру проверкии просто угадал)


0040FF7A |. 51 push ecx ; /pBufSize
0040FF7B |. 68 98AD4300 push Star_War.0043AD98 ; |Buffer = Star_War.0043AD98
0040FF80 |. 8D55 F4 lea edx,dword ptr ss:[ebp-C] ; |
0040FF83 |. 52 push edx ; |pValueType
0040FF84 |. 6A 00 push 0 ; |Reserved = NULL
0040FF86 |. 68 108D4300 push Star_War.00438D10 ; |ValueName = "RegKey"
0040FF8B |. 8B45 EC mov eax,dword ptr ss:[ebp-14] ; |
0040FF8E |. 50 push eax ; |hKey
0040FF8F |. FF15 00504300 call dword ptr ds:[<&ADVAPI32.RegQueryValue>; \RegQueryValueExA
0040FF95 |. C745 FC 51000000 mov dword ptr ss:[ebp-4],51
0040FF9C |. 8D4D FC lea ecx,dword ptr ss:[ebp-4]
0040FF9F |. 51 push ecx ; /pBufSize
0040FFA0 |. 68 40AD4300 push Star_War.0043AD40 ; |Buffer = Star_War.0043AD40
0040FFA5 |. 8D55 F4 lea edx,dword ptr ss:[ebp-C] ; |
0040FFA8 |. 52 push edx ; |pValueType
0040FFA9 |. 6A 00 push 0 ; |Reserved = NULL
0040FFAB |. 68 188D4300 push Star_War.00438D18 ; |ValueName = "UserName"
0040FFB0 |. 8B45 EC mov eax,dword ptr ss:[ebp-14] ; |
0040FFB3 |. 50 push eax ; |hKey
0040FFB4 |. FF15 00504300 call dword ptr ds:[<&ADVAPI32.RegQueryValue>; \RegQueryValueExA
0040FFBA |. 8B4D EC mov ecx,dword ptr ss:[ebp-14]
0040FFBD |. 51 push ecx ; /hKey
0040FFBE |. FF15 0C504300 call dword ptr ds:[<&ADVAPI32.RegCloseKey>] ; \RegCloseKey
0040FFC4 |. E8 07EAFFFF call Star_War.0040E9D0
0040FFC9 |. 25 FF000000 and eax,0FF
0040FFCE |. 85C0 test eax,eax
0040FFD0 74 09 je short Star_War.0040FFDB
0040FFD2 |. C605 DDA64300 01 mov byte ptr ds:[43A6DD],1
0040FFD9 |. EB 07 jmp short Star_War.0040FFE2
0040FFDB |> C605 DDA64300 00 mov byte ptr ds:[43A6DD],0

Считываются 2 параметра из реестра("RegKey" и "UserName"), вызывается какая-то процедура. А затем результат сравнивается с нулём. Мне показалось, что это подозрительно. Посмотрел, что джамп по адресу 40FFD0 у меня срабатывает. Занопил его и всё! Прога заработала, как мне надо =)



Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 05 марта 2006 22:31
· Личное сообщение · #7

Klajnor пишет:
А процедуру проверкии просто угадал

Охренеть!
Сколько гигов прог надо отломать, чтобы "угадывать" такие штуки?

А прогу я все-таки отломал. Немного по другому правда. В самом начале есть проверка
00417BF4 |. A0 FD5C4500 MOV AL,BYTE PTR DS:[455CFD]
00417BF9 |. 85C0 TEST EAX,EAX

В незарегестрированной версии по адресу 455CFD лежит значение 00. Это понятно потому что если там ноль прога выдает наг и пишет везде унреги. В зарегестрированной, соответственно 01. Дальше все понятно. А с серийником все равно интересно было бы поковыряться.



Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 05 марта 2006 23:24
· Личное сообщение · #8

Sturgeon пишет:
Охренеть!
Сколько гигов прог надо отломать, чтобы "угадывать" такие штуки?
- если честно, то с реальных прог я почти не ломал. Очень-очень мало. Наверное меньше десятка. И сумме наверно даже на гиг не наберётся
Десяток-другой крякмисов и небольшой опыт распаковки. Изредка ковыряю чё-нить ради удовольствия.
Тут мне скорее помог не опыт, а склад ума и опыт программирования =)



Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 05 марта 2006 23:45
· Личное сообщение · #9

К тому-же не так просто угадал типа : листал себе дизассемблированный код, ткнул мышью в первый попавшийся джамп и занопил его =В
Нет конечно. Поставил бряки на все функции работы с реестром и на MessageBox'ы. Сначала сделал, чтобы прога говорила "спасибо", а затем нашёл и пропатчил проверку данных из реестра




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 06 марта 2006 09:01
· Личное сообщение · #10

Klajnor пишет:
чел вроде ломает другой скринсейвер =)
Только с ссылкой он наверное ошибся. Я брал прогу с указанного выше диска и Space Flight 3D там нет =)

Ничего страшного. Зато у меня теперь неплохой скринсейвер есть. Да и Milk что-то не появился. Ссылка на Space Flight 3D Screensaver для скачивания files.terminalstudio.com/spaceflight3d.exe

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 марта 2006 14:08
· Личное сообщение · #11

Спасибо большое и простите за неверную ссылку.(А не появлялся деньги кончились.)
Прогу я в этот же день пропачил.Но патч это же не круто а серийник найти немогу.




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 10 марта 2006 14:35
· Личное сообщение · #12

Milk пишет:
Но патч это же не круто а серийник найти немогу.

Может и не круто, но зато не надо было ковырять весь алгоритм генерации ключа, а он там немаленький... Тем более, что необходимо подправить всего несколько байт.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 марта 2006 11:03
· Личное сообщение · #13

Да я тоже у же так думаю.


 eXeL@B —› Вопросы новичков —› Пустышка
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати