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

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

Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 03 ноября 2010 13:31
· Личное сообщение · #1

Добрый день!
Есть софтина написанная на VB6, защищена неким модулем от отладки. Под Olly вывливается в непонятную область с ошибкой о чтении из неверной области. Попробывал декомпилить VB Decomlpillerом. Есть такой кусок кода , как его можно изменить и обратно засунуть?

Code:
  1.  
  2.  loc_004134A2: Set var_2C = On Error Resume Next
  3.   loc_004134B1: var_24 = txtUnlockCode.Text
  4.   loc_004134E4: edi = (var_24 = 00403C4Ch) + 1
  5.   loc_004134FC: If (var_24 = 00403C4Ch) + 1 = 0 Then GoTo loc_004135B0
  6.   loc_00413507: var_68 = 80020004h
  7.   loc_0041350F: var_70 = 10
  8.   loc_00413512: var_58 = 80020004h
  9.   loc_00413515: var_60 = 10
  10.   loc_00413518: var_48 = 80020004h
  11.   loc_0041351B: var_50 = 10
  12.   loc_0041351E: var_78 = "Please enter a valid Unlock Code."
  13.   loc_00413525: var_80 = 8
  14.   loc_0041354A: MsgBox "Please enter a valid Unlock Code.", 64
  15.   loc_00413579: Set var_2C =
  16.   loc_00413584: call txtUnlockCode.Setfocus(arg_8, var_70, var_24, var_2C, 004046ACh, 000000A0h, var_24, var_24)
  17.   loc_004135B0: 
  18.   loc_004135B7: Unknown_VTable_Call[edx+00000708h]
  19.   loc_004135E1: Unknown_VTable_Call[edx+00000314h]
  20.   loc_004135EC: Set var_2C = Unknown_VTable_Call[edx+00000314h]
  21.   loc_004135FB: var_24 = Me.Mousepointer
  22.   loc_00413622: var_28 = var_24
  23.   loc_0041363C: Unknown_VTable_Call[eax+00000898h]
  24.   loc_00413679: Unknown_VTable_Call[edx+00000740h]
  25.   loc_00413682: Unknown_VTable_Call[eax+00000744h]
  26.   loc_00413688: GoTo loc_00413735
  27.   loc_0041368D: call Err(var_2C, Unknown_VTable_Call[eax+00000898h], var_30, "(нo­ЉџЗE˜ЂTў2.оЉSOFTLOCX1_DesktopStatus", 00000898h, var_30, var_28)
  28.   loc_0041369E: Set var_30 = Err(var_2C, Unknown_VTable_Call[eax+00000898h], var_30, "(нo­ЉџЗE˜ЂTў2.оЉSOFTLOCX1_DesktopStatus", 00000898h, var_30, var_28)
  29.   loc_004136C8: call Erl
  30.   loc_004136D4: Me.%x3 = PropBag.ReadProperty(var_30, Erl)
  31.   loc_0041371D: Me.PropBag.WriteProperty(Erl, var_20, 00403F48h)
  32.   loc_00413740: GoTo loc_0041377E
  33.   loc_0041377D: Exit Sub
  34.   loc_0041377E: 
  35.  




Ранг: 129.0 (ветеран), 116thx
Активность: 0.060
Статус: Участник

Создано: 03 ноября 2010 15:31
· Личное сообщение · #2

droidische пишет:
Добрый день!Есть софтина написанная на VB6, защищена неким модулем от отладки.

Выложи софтину, так будет проще разобраться.

-----
We do what we want because we can.




Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 03 ноября 2010 17:57
· Личное сообщение · #3

Не знаю имеет ли смысл выкладывать только софтину. Она является регистрилкой к объемному пакету. Если надо весь пакет напишите, а сама регистрилка --> тут <--



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 03 ноября 2010 18:13
· Личное сообщение · #4

Что-то не запускается этот регистратор, хотя по коду видно, что
по адресу 004134D8 идет сравнение правильного кода с неправильным и если всё ок, то срабатывает je по адресу 004134FC



Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 03 ноября 2010 19:29 · Поправил: droidische
· Личное сообщение · #5

Vovan666 я так понял вы открыли его в оли?
скорее его он что то проверяет и вываливается потому как не установлен весь пакет. --> полный пакет <--
попробывал в олли сделать замену je на jne(по адрессу 004134FC ) и сохранить не помогло все равно ругается, что не верный серийник. То что видит дебагер видимо искажено



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 03 ноября 2010 22:22
· Личное сообщение · #6

В общем запустил я этот регистратор, в нем ничего интересного нету, это просто болванка для вывода сообщений, прога защищена SOFTLOCX 6 проверка реги проходит в C:\WINDOWS\system32\S6NonCK.ocx



Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 04 ноября 2010 04:24
· Личное сообщение · #7

Скидывание триальника нашел. А как можно бороться с этим SOFTLOCX 6? Vovan666 Могли бы вы подсказать , определение типа защиты произошло как? ( или это из опыта , по OCX вы определили)



Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 04 ноября 2010 12:14 · Поправил: droidische
· Личное сообщение · #8

Есть ли метод выдирания из этго дела серийника? интересует как выдрать серийник из ocx. у меня олли постоянно останавливается , говорит ошибка чтения.



Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 06 ноября 2010 07:46
· Личное сообщение · #9

Подскажите как интерпритировать запись в стэке Registra.00403c4c? что это значит?



Ранг: 87.8 (постоянный), 10thx
Активность: 0.070
Статус: Участник

Создано: 06 ноября 2010 09:16 · Поправил: gena-m
· Личное сообщение · #10

как интерпритировать запись в стэке Registra.00403c4c

Нужно смотреть что программа с ним делает, а вообще может быть что угодно: адрес возврата, указатель на что то, константа, глобальная или локальная переменная, возможно "мусор" оставшийся при выделении памяти под локальные переменные. По этому поводу почитай Касперского "Фундаментальные основы хакерства", но ошибок там тоже хватает, все на веру не принимай.

-----
Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше




Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 06 ноября 2010 13:00 · Поправил: droidische
· Личное сообщение · #11

Сданным выражением происходит выполнение __VbaStrCmp, те как я понимаю там должен содержаться првельный регистрационный код. Переход в дамп не приводит к успеху . Также попытки дебажить процесс напрямую приводт к тому , что программулина перестаёт отвечать на что либо. Помогает плагин IsDebuggerPresent, но и то только в случае Attach а если загружать софтину из олли, она не показывает даже окна. Также это приложение детектит както дебагер, и перестает показывать окошки о том что серийник не верный. Как оботи это дело ?
по адрессу 4134d8, происходит сравнение строк. В 1 строке виден мой введенный номер (почемуто символы идут через 0), а вот во 2ой нули( те я так понимаю вызвана функция и с ее результатом сравнивается мой серйиник) я прав?
те выудить серйиник можно только гдето в недрах VB?




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 06 ноября 2010 14:21
· Личное сообщение · #12

droidische пишет:
почемуто символы идут через 0

Значит юникод строка, там каждый символ кодируется по 2 байта

-----
Yann Tiersen best and do not fuck




Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 06 ноября 2010 14:38 · Поправил: droidische
· Личное сообщение · #13

Действительно , погружение в дебри кода отбило напрочь мозг. Юникод. вот и одгадка( тем более что когда строка береться программой там написано UNICODE ).
Для меня актуальны вопросы
1. Как же достать этот гребанный серийник?
тут я склоняюсь к ответу что не получиться, потому как в дебрях S6NonCK происходит проверка целочисленных значений, и при их вываливании за пределы( какие не понял) происходит определение верности кода.
2. Как Vovan666 определил тип защиты ? ( подозреваю опыт :s5
3. Как сделать отладчик невидимым для этого приложения?
Хотя судя по тому что в библиотеке появлется ошибка о невозможности продолжения, может и серийник я не вижу поэтому.
сейчас пробую в деле StrongOD.
Дело улучшилось, но не до конца. Софтина грузиться, но окошко о неверной регистрации не вываливается в то время как без дебагера оно появляется 2 раза. Скорее всего гдето происходит замер времени исполнения кода. но я не вижу этого



Ранг: 87.8 (постоянный), 10thx
Активность: 0.070
Статус: Участник

Создано: 06 ноября 2010 15:45 · Поправил: gena-m
· Личное сообщение · #14

3. Как сделать отладчик невидимым для этого приложения?

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

Скачал, установил, запустил, никакого триала и регистрации нет, что там регистрировать... непонятно, какие то тараканы бегают.
Никакой антиотладки не нашел, программа расположена у меня в C:\Documents and Settings\ГЕНА\Local Settings\Apps\2.0\Q3JQN9KW.R61\5CWG6GK9.7VB\ants..tion_a3fb2a7a10f9296 d_0001.0001_79497abf0a63f857\AntSim.exe, под отладчиком прекрасно запускается и работает, единственное - это плодит много потоков, причем до прихода в ОЕП поэтому лучше поставить бряк на CreateThread, что бы программа не "уходила" из под отладчика.

Может у тебя установить ее не получается? Для установки нужен второй фреймвок.

Модуль AntSim написан на VC8 ничем не накрыт и антиотладки никакой нет, создает два потока, поэтому тоже нужно ставить бряк на CreateThread после запуска AntSim.exe идет на ExitProcess.

-----
Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше




Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 06 ноября 2010 17:37 · Поправил: droidische
· Личное сообщение · #15

Да нет. Все встает ровно. Регистрилка зовется Registrator, по дефолту лежит тут: C:\Program Files\StonevoiceAS\Apps\Billy\Server\BillSystem\Registrator.exe
Может на файлообменнике что то поменялось...
Должен быть пакет от StoneVoice. Помимо фреймворка требует иис, мсскл, и си редистрибьют. Есть отдельный пакет с необходимым.



Ранг: 87.8 (постоянный), 10thx
Активность: 0.070
Статус: Участник

Создано: 06 ноября 2010 18:20
· Личное сообщение · #16

Я скачал:
StonevoiceAppSuite-2[1].5.0.2-cme-en.exe
И архив AntSim.rar в котором setup.exe и еще файлы и папка.

-----
Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше




Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 06 ноября 2010 18:25 · Поправил: droidische
· Личное сообщение · #17

Не не . Второе не мое . Первый пакет действительно то что надо(StonevoiceAppSuite-2.5.0.2-cme-en.exe). Но он должен был добавить сервис и регистрилку. ее исполняемый файл --> тут <--
StrongOD делает свое дело. Олли становитсья сильной . Но серийник мне не удается найти по прежнему. Поковырял в иде, поставил точки останова на других функциях, и пробегаю все по f9, удается увидеть оба окна. Но найти серийник так и не смог



Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 07 ноября 2010 09:16 · Поправил: droidische
· Личное сообщение · #18

Уважаемые гурру. Приоткройте тайну .
Итак имеем программу защищенную SoftLox( тут до сих пор вопрос, подтверждений слов Vovan666 пока не нашел, а он не прокоментил почему это так). Косвенным подтверждением является работа автоматической чистилги рееста. и Востановление работоспособности софтины.
Данная софтина иммеет антидебагове фичи, которые мне частично удалось подавить используя StrongOD. Действительным является то, что софтина проверяет ключик внутри файла ocx( так понимаю это и есть тот самый компонент защиты).
Почему не работает изменение на прыжок по адрессу 004134FC( подсказонному Vovan666 ) ?
Я предпологаю, что софтина сохраняет данный серийник и затем проверяет уже в сервисах, коих сама плодит свою регистрируемость, и получает облом.
Также насколько я смог осилить данная защита принмает 3 параметра, мой введенный серийник, мой ИД, и еще один( задается программистами ? или авторами защиты ?). А затем генерирует некий хэш(тоже пока не разобрался, где то тут 70050658, как понимаю адресс оcx меняется в памяти поэтому может быть разным, но там происходит запихивание всех 3х параметров а потом вызов функции). Отсюда делаю вывод что кейген можно написать на тоже Васике, используя защиту как кейген, подавая ей на вход параметры вынутые из софтины.
Но вот вопрос с серийником висит, не вижу нигде. Может он и не присутсвует а сравнивается только хэш от него ?
Как тут быть ?( попробывать поправить на безусловное равентсво? но доп фичи как активировать? тоже равенство везде ставить?)
Прошу взглянуть и подсказать, прав ли я.



Ранг: 8.9 (гость)
Активность: 0.010.02
Статус: Участник

Создано: 10 ноября 2010 15:37
· Личное сообщение · #19

Огромное спасибо gena-m, указал как обращаться с данным бинарником. Никакой защиты нет, но есть геморная струтука проверок. Зарылся полностью, как откопаюсь расскажу как её победить


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


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