Сейчас на форуме: asfa, _MBK_, Rio (+7 невидимых)

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

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

Создано: 02 марта 2009 16:33 · Поправил: dopton
· Личное сообщение · #1

Привет! Сейчас пытаюсь поломать програмку, написанную на VB. В общем, без сенийника прога работает в демо-режиме, для ввода серийника есть окно с кнопкой.
Вот что показал VB Decompiler по событию Command2_Click()

Private Sub Command2_Click() '4C9960
loc_004C9A07: var_30 = Text3.Text //берем код с текстбокса
loc_004C9A19: var_48 = @Ucase(8) //преобразуем в заглавные буквы
loc_004C9A23: call MSVBVM60.DLL.__vbaStrVarMove(var_48, "", arg_8, arg_8, "", arg_8, arg_8, arg_8, arg_8)
loc_004C9A34: var_1C = MSVBVM60.DLL.__vbaStrVarMove(var_48, "", arg_8, arg_8, "", arg_8, arg_8, arg_8, arg_8)
loc_004C9A56: Proc_004C51D0(var_48, var_1C, "")
If Proc_004C51D0(var_48, var_1C, "") = ebx Then
loc_004C9A9C: var_78 = 3
loc_004C9AAD: var_70 = 1
loc_004C9AD0: frmUnlock2.Show var_1C, %x2
If frmUnlock2.Show var_1C, %x2 < ebx Then
loc_004C9AEC: GoTo loc_004C9BD0
End If
If var_4D15E8 <> 8 Then
loc_004C9B0D: var_60 = 80020004h
loc_004C9B10: var_50 = 80020004h
loc_004C9B13: var_78 = 8
loc_004C9B22: var_70 = "Successful Serial Number"
loc_004C9B46: call esi(00432DF4h, 000002B0h)
loc_004C9B55: call esi
loc_004C9B7A: MsgBox(8, ebx, 10, 10, 10)
End If
loc_004C9BBA: call frmUnlock2.Hide
If frmUnlock2.Hide < ebx Then
loc_004C9BD0: 'Referenced from 004C9AEC
loc_004C9BD2: CheckObj(frmUnlock2.Hide, arg_8, 0042A330h, 000002B4h)
End If
End If
loc_004C9BE0: GoTo loc_004C9C1A
loc_004C9C19: Exit Sub
loc_004C9C1A: 'Referenced from 004C9BE0
loc_004C9C23: Exit Sub
End Sub

Что делает функция vbaStrVarMove? В яндексе всего 20 страниц по ней нашлось, и те ни о чем



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

Создано: 02 марта 2009 16:51
· Личное сообщение · #2

Через IDA патчил прогу, поставил джамп на сегмент кода разблокировки программы при нажатии кнопки, прога разблокировалась, но работает с ошибками. Теперь пытаюсь понять алгоритм обработки введеного serial-а




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 02 марта 2009 20:58
· Личное сообщение · #3

Вот описание функций VB, но такой там нет
www.dotfix.net/module.php?module=@6e786b367c673a3361736575636f6f646860

И вобще лучше ссылку на программу давать

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 02 марта 2009 22:35 · Поправил: Модератор
· Личное сообщение · #4

del



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 02 марта 2009 22:39 · Поправил: Модератор
· Личное сообщение · #5

del



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

Создано: 03 марта 2009 14:55 · Поправил: dopton
· Личное сообщение · #6

Процедуры не постил, так как они длинные, и из одной прыгают в другую.
И не так тут все просто оказалось. Ключик отсылается на сервер, и там уже проверяется. Остается только два варианта - грамотно пропатчить или брутфорс. Благо, ключ восьмизначный. В проге зашито пасхальное яйцо - набираешь 12345678 и вот тебе бонус режим)
вот ссылка http://www.samecost.com/download/RS-setup.exe http://www.samecost.com/download/RS-setup.exe

В IDA патчил по адресу 004C9A5E:
с jnz loc_4C9AF1 на jz loc_4C9AF1

Но при таком патче в этой проге начинают вылеты при выборе опции Super Sniper



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 03 марта 2009 16:19 · Поправил: progopis
· Личное сообщение · #7

А чем тебе поможет, что программа скажет что зарегистрирована? Надо патчить так, чтобы когда программа сама у себя спрашивает зарегистрирована ли она, говорила что да.

Добавлено:
ИМХО надо патчить то место где возвращаемая строка сравнивается на "ip_limit" и "false". Заменить обе строки на что-нибудь ещё, например, "ip+limit" и "farse", чтобы результат сравнения был отрицательный. Но этого мало. Надо ещё разбираться что происходит в процедуре 0x4CBDB0. Слишком она долго возвращаемую строку обрабатывает. Возможно в строке содержатся значения инициализации некоторых переменных.



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

Создано: 03 марта 2009 16:37 · Поправил: dopton
· Личное сообщение · #8

Этим патчем активируются все ранее заблокированные опции ( не просто, что по ним можно щелкать и ставить галочки, а всмысле что они(опции) начинают работать как в лицензионной версии). Только вот с Super Sniper беда.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 03 марта 2009 16:52 · Поправил: progopis
· Личное сообщение · #9

Патчить надо здесь:
Code:
  1. 04C5149                 mov     [ebp+var_20], edi

Заменить на какое-нибудь другое значение. В edi перед этим загружается 0 и так включается демонстрационный режим.

Добавлено:

Пропатчено на:
Code:
  1. 04C5149                 mov     dword ptr [ebp+var_20], 0FFFFFFFFh

Можно регить с любым рег. кодом.

http://ifolder.ru/10842634 http://ifolder.ru/10842634

пароль: 123


 eXeL@B —› Вопросы новичков —› Вопрос по MSVBVM60.DLL
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати