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

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

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

Создано: 23 апреля 2010 12:00
· Личное сообщение · #1

Всем привет. Я имею дело с инстеллером, который весит около 100 мегабайт, написан на VISUAL BASICE, без Опкодов. Инсталлер защищен Темидой. Это инсталер совмещенный с проверкой кредитной карты, для дальнейшей установки. На данный момент я восстановил IAT(эта которая начинается с адреса 401000), а также косвенные переходы в самом коде, написав скрипт. Таким образом можно уже номально пытаться найти алгоритм сравнения. До этой распаковки вообще неставился bp ни на __vbaNew2 и какое-либо окно вообще, а сейчас все впорядке.
1. Программа начинается после распаковки с функции:
0040256C - E9 3310FE72 JMP 733E35A4 ; MSVBVM60.ThunRTMain
Но не хватает двух первых инструкций. Я с бейсиком не сталкивался сильно, и не знаю Темида может еще что-нибудь украсть как скажем в C++ коде ? Если у кого опыт был, подскажите.

2. Реально ли сделать дамп, а потом с помощью hex-едитора вставить в сам инсталлер только нормальный код, а секцию Темиды вырезать. И удачно запуститься...

3. В VisualBasice есть какие-нибудь спец. функции для проверки интернет-соединения ?

4. В бэйсике не нужно восстанавливать импорт с помощью imprec'а ?



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 23 апреля 2010 12:22 · Поправил: NikolayD
· Личное сообщение · #2

1. Стоишь здесь 0040256C смотришь в стек ESP+4 какое там значение потом восстанавливаешь
Code:
  1. push адрес указанный в ESP+4 
  2. call 0040256C
и так у всех VB прог если не ошибаюсь.
3. --> Link <--
4. Нужно

Есть много статей у латиносов, VB это их хлеб



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

Создано: 24 апреля 2010 13:34
· Личное сообщение · #3

Ok. Спасибо. Попробую. Точно, в ESP как раз будет адрес возврата из call. Так и OEP станет известна. А не вкурсе, есть импорт реконструктор, может быть для бейсика который лучше подходит ?



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 24 апреля 2010 22:09
· Личное сообщение · #4

Robix пишет:
А не вкурсе, есть импорт реконструктор, может быть для бейсика который лучше подходит ?

а чем ImpRec не устраивает? Импорт он и у бейсика импорт.



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

Создано: 25 апреля 2010 15:27
· Личное сообщение · #5

Понятно. Да, работает нормально.
Кстати. Не получилось запуститься после распаковки и восстановления импорта. Пишет непредвиденная ошибка. Из dll бэйсика происходит. Видимо темида где-то еще код украла или еще чего-нибудь.



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

Создано: 25 апреля 2010 16:19
· Личное сообщение · #6

Теперь заработало! Оказывается надо было разместить OEP сразу за ThunRTMain. Попробую теперь прикрутить этот файл в инсталлер с помощью winhex.
0040256C $- FF25 38124000 JMP DWORD PTR DS:[401238] ; msvbvm60.ThunRTMain
00402572 > $ 68 D0284000 PUSH 4028D0 ; ASCII "VB5!6&*"
00402577 . E8 F0FFFFFF CALL 0040256C ; <JMP.&msvbvm60.ThunRTMain>



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

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

Robix пишет:
Оказывается надо было разместить OEP сразу за ThunRTMain

дык так всегда. Открыл бы любую прогу на бейсике и убедился.

Robix пишет:
Попробую теперь прикрутить этот файл в инсталлер с помощью winhex.

а зачем прикручивать сделай свой. Или я что-то не понял?



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

Создано: 26 апреля 2010 07:10
· Личное сообщение · #8

Сам инсталлятор это как оболочка, и он проверяет серийник. Самое главное - это содержимое, которое должно распаковаться. Но для него и ключ еще сгенерируется. После распаковки без дампа в самой Олли программа работает и можно нормально исследовать проверку. Чтобы удобнее было, думал, вставить в этот инсталятор распакованный код сдампленный вместо прежнего, но после запуска потом уже дальше нифига не вышло. Видимо все сложнее. Наверное в таких случаях надо просто исследовать логику проверки и писать какой-нибудь пачт. Внедряться в процесс. Это немножко сложнее, чем просто поиск серийника. Там с интернетом идет связь, чтобы проверить кредитку. Счас вот по олькой исследую, вроде как процесс проверки нашел, но понять очень сложно.



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

Создано: 26 апреля 2010 21:40
· Личное сообщение · #9

Никто не вкурсе, что означает эта строчка. Это какой-то параметр среди всех для отпраки на сервер через функцию HttpSendRequest. Это системный параметр или нет.
03E99EFC 6D 61 63 68 69 6E 65 3D 2D 33 36 33 38 33 machine=-36383



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

Создано: 26 апреля 2010 22:57
· Личное сообщение · #10

"Справочник по базовым функциям API Windows NT/2000" ничего не дал об этой функции.



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

Создано: 27 апреля 2010 07:39
· Личное сообщение · #11

Она из wininet.dll. Мож тогда еще не было ее.
Еще вопросик. Если кто вкурсе, что эта функция делает:
__vbaRaiseEvent
После нее вообщем выскакиват сообщение о неверной регистации. Я подозреваю, что это какая-то хитрая функция. Но по бэйсику информации конечно очень мало.


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


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