eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: Adler, user99 (+4 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Протекторы —› Oreans UnVirtualizer ODBG Plug-in
<< . 1 . 2 . 3 . 4 . >>
Посл.ответ Сообщение


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 25 марта 2011 21:02 · Поправил: BoRoV New!
Цитата · Личное сообщение · #1

UnVirtualizes CISC Themida/WL/CodeVirtualize Machines

Автор: Deathway

Code:
  1. This tool will help conversion VirtualOpcodes -> Assembly Instruction
  2. restoring the original code of your virtualized Application, the basic engine
  3. was from CodeUnvirtualizer, my other tool
  4.  
  5. [Features]
  6. - Supports WinLicense/Themida/CodeVirtualizer Cisc Machines
  7. - Supports almost all common opcodes
  8. - Supports CHECK_MACRO_PROTECTION
  9. - Supppots MultiBranch Tech
  10.  
  11. [Use]
  12. - Right-click on the jump leading to the Virtual Machine Area and press Unvirtualize (If machine isn't found
  13. you have to click again, after checking that the full machine was correctly deofuscated)
  14.  
  15.  
  16. [Oreans UnVirtualizer]
  17. [v1.0]
  18. - First public Version


{ Атач доступен только для участников форума } - OreansUnVirtualizerv1.0.rar

| Сообщение посчитали полезным: Maximus, Rio, HandMill



Ранг: 390.8 (мудрец)
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 15 марта 2012 08:56 New!
Цитата · Личное сообщение · #2

VodoleY я приватные версии не видел ваще ниразу и про конец фиме согласен. Ее уже сейчас можно анпачить не имея даже ключа, а с этим инструментом можно в том числе и восстанавливать то что лежит под VM.

Из нормальных протов остался только лишь VMProtect, но думаю, у него тоже нет шансов, и со временем и он загнется, как загибались проты до него.


Ранг: 534.2 (!)
Статус: Участник
оптимист

Создано: 15 марта 2012 10:20 New!
Цитата · Личное сообщение · #3

Maximus пишет:
про конец фиме согласен

Тоьлко чтоб этим самым концом не получить полбу,под RISC VM плагинов вообще нету ;)


Ранг: 390.8 (мудрец)
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 15 марта 2012 15:02 New!
Цитата · Личное сообщение · #4

ClockMan ты отстал от жизни
[v1.4]
...
- Risc-64 machine function
- Added OreansAssember_Risc.cfg

А на дворе версия 1.5 ;)

| Сообщение посчитали полезным: -Sanchez-



Ранг: 1116.7 (!!!!)
Статус: Участник

Создано: 15 марта 2012 17:02 New!
Цитата · Личное сообщение · #5

Maximus пишет:
VMProtect, но думаю, у него тоже нет шансов


он вроде бы на паях в каком-то конверте?


Ранг: 526.1 (!)
Статус: Участник
5KRT

Создано: 15 марта 2012 17:24 New!
Цитата · Личное сообщение · #6

Gideon Vi
SenceLock

Ранг: 280.6 (наставник)
Статус: Участник
Destroyer of protectors

Создано: 15 марта 2012 23:34 New!
Цитата · Личное сообщение · #7

сабж Code Virtualizer не берёт?

Ранг: 189.9 (ветеран)
Статус: Участник

Создано: 15 марта 2012 23:46 New!
Цитата · Личное сообщение · #8

MasterSoft пишет:
сабж Code Virtualizer не берёт?

BoRoV пишет:
Supports WinLicense/Themida/CodeVirtualizer Cisc Machines

там кажется ещё видео есть про фимку и виртуалайзер.

Ранг: 280.6 (наставник)
Статус: Участник
Destroyer of protectors

Создано: 16 марта 2012 01:10 New!
Цитата · Личное сообщение · #9

NikolayD
дык что-то пробовал на винлиценз - всё супер. на кодевиртуализере пишет что-то типа Machine instruction not found


Ранг: 1986.5 (!!!!)
Статус: Модератор
retired

Создано: 16 марта 2012 09:39 New!
Цитата · Личное сообщение · #10

Code Virtualizer-это CISC из фимы/винлиценз, должен брать.

Ранг: 488.4 (мудрец)
Статус: Участник

Создано: 16 марта 2012 11:16 New!
Цитата · Личное сообщение · #11

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

Ранг: 329.1 (мудрец)
Статус: Участник

Создано: 2 апреля 2012 15:41 New!
Цитата · Личное сообщение · #12

Уважаемые члены форума. У меня возник вопрос по использованию этого плагина. При распаковке одной программы, я использовал этот плагин для восстановления оригинального кода программы. Он прекрасно отработал, и нормально восстановил весь код программы. Но, в нескольких восстановленных подпрограммах, я встретил такой код:

Code:
  1. 004C0B47     E8 E48FF4FF      CALL 00409B30                                    ; Восстановленный код с Oreans UnVirtualizer
  2. 004C0B4C     E8 C31EF4FF      CALL 00402A14                                    ; 00402A14
  3. 004C0B51     8B15 0CF64D00    MOV EDX,DWORD PTR DS:[4DF60C]                    ; Unchipex.004E0044
  4. 004C0B57     8902             MOV DWORD PTR DS:[EDX],EAX
  5. 004C0B59     8B45 FC          MOV EAX,DWORD PTR SS:[EBP-4]
  6. 004C0B5C     8B80 C4020000    MOV EAX,DWORD PTR DS:[EAX+2C4]
  7. 004C0B62     8B80 54020000    MOV EAX,DWORD PTR DS:[EAX+254]
  8. 004C0B68     E8 8BD7FAFF      CALL 0046E2F8                                    ; 0046E2F8
  9. 004C0B6D     8B45 FC          MOV EAX,DWORD PTR SS:[EBP-4]
  10. 004C0B70     8B80 C4020000    MOV EAX,DWORD PTR DS:[EAX+2C4]
  11. 004C0B76     8B80 54020000    MOV EAX,DWORD PTR DS:[EAX+254]
  12. 004C0B7C     E8 C7D3FAFF      CALL 0046DF48                                    ; 0046DF48
  13. 004C0B81     8B45 FC          MOV EAX,DWORD PTR SS:[EBP-4]
  14. 004C0B84     8B80 C4020000    MOV EAX,DWORD PTR DS:[EAX+2C4]
  15. 004C0B8A     8B80 54020000    MOV EAX,DWORD PTR DS:[EAX+254]
  16. 004C0B90     E8 AFD7FAFF      CALL 0046E344                                    ; 0046E344
  17. 004C0B95     E8 A4084500      CALL 0091143E                                    ; Здесь сделать корректировку
  18. 004C0B9A     EB 00            JMP SHORT 004C0B9C                               ; 004C0B9C
  19. 004C0B9C     55               PUSH EBP
  20. 004C0B9D     31C9             XOR ECX,ECX
  21. 004C0B9F     89F2             MOV EDX,ESI
  22. 004C0BA1     89D8             MOV EAX,EBX
  23. 004C0BA3     E8 28FFFFFF      CALL 004C0AD0                                    ; 004C0AD0
  24. 004C0BA8     59               POP ECX


Среди нормального кода, затесалась такая пара инструкций:

Code:
  1. 004C0B95     E8 A4084500      CALL 0091143E                                    ; Здесь сделать корректировку
  2. 004C0B9A     EB 00            JMP SHORT 004C0B9C                               ; 004C0B9C


Когда я зашел в CALL 0091143E, то увидел опять VM:

Code:
  1. 0091143E     68 83E5780A      PUSH 0A78E583
  2. 00911443   ^ E9 64D6DAFF      JMP 006BEAAC                                     ; 006BEAAC


Однако, она уже не обрабатывается этим плагином. Если кто-либо сталкивался с таким явлением, поясните, что это значит, и как бороться с этим явлением (т.е., каким здесь был оригинальный код). Если нужна более подробная информация, можем пообщаться через личку.

Заранее благодарен за советы.

Ранг: 488.4 (мудрец)
Статус: Участник

Создано: 2 апреля 2012 16:01 · Поправил: VodoleY New!
Цитата · Личное сообщение · #13

vnekrilov а не вызов ли это функции, которая в свою очередь тоже под ВМ?
типа
startVM
functcion summ;
EndVM
StartVM
а:=1;
b:=2;
c:=summ(a,b);
EndVM
как то очень это смахивает на что, что говорил Вамит, о новом ВМпроте, когда Вмашина, вызываеца из ленты пикода, как функция


Ранг: 526.1 (!)
Статус: Участник
5KRT

Создано: 2 апреля 2012 16:09 New!
Цитата · Личное сообщение · #14

vnekrilov
1.Если не ошибаюсь, это может быть функция расшифровки строки.
2.Опять-таки, если не ошибаюсь, там надо руками указывать каждую функцию.
И какая версия плага?

Ранг: 329.1 (мудрец)
Статус: Участник

Создано: 2 апреля 2012 16:19 New!
Цитата · Личное сообщение · #15

VodoleY пишет:
как то очень это смахивает на что, что говорил Вамит, о новом ВМпроте,


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

daFix пишет:
И какая версия плага?


Последняя версия - 1.5

Ранг: 488.4 (мудрец)
Статус: Участник

Создано: 2 апреля 2012 16:28 New!
Цитата · Личное сообщение · #16

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

на последней страничке свипера


Ранг: 534.2 (!)
Статус: Участник
оптимист

Создано: 2 апреля 2012 16:44 New!
Цитата · Личное сообщение · #17

vnekrilov пишет:
CALL 0091143E

Ну попытайся заменить CALL на JMP может прокатит ,хотя что это возможно анти - дамп функция.

Ранг: 329.1 (мудрец)
Статус: Участник

Создано: 2 апреля 2012 17:37 New!
Цитата · Личное сообщение · #18

ClockMan пишет:
Ну попытайся заменить CALL на JMP может прокатит


Я это попробовал первым делом, но не прокатило. Получил дамп в txt-формате, просмотрел его, но не нашел ни одной нормальной инструкции, откуда можно было-бы начать восстановление кода, т.е. там все мусор. Кстати, я попытался выполнить эту инструкцию при запуске программы, зашел в этот CALL, установил бряку памяти на доступе на секцию кода, и запустил программу. Остановился на API Sleep. А дальше меня выбросило на выполнение обычного и очень длинного кода, но в другом потоке программы. А потом я пришел на JMP 006BEAAC, который находится после этого CALL. Но что интересно, этот поток выполнялся в отдельной ветке кода с другим стеком, выделенным под эту ветку. Но как это заставить работать в обычной программе, пока не додумался.


Ранг: 1986.5 (!!!!)
Статус: Модератор
retired

Создано: 2 апреля 2012 17:41 New!
Цитата · Личное сообщение · #19

Вамит писал про вмпротект, а это ореансовский CISC. В циске виртуализацию нескольких функций одним блоком я не встречал. А раз другой стек, то другой тип вм там может быть-RISC. Возможно, та функция накрыта другой вм просто.


Ранг: 324.2 (мудрец)
Статус: Участник

Создано: 2 апреля 2012 18:03 · Поправил: Vamit New!
Цитата · Личное сообщение · #20

Если кто-либо сталкивался с таким явлением, поясните, что это значит, и как бороться с этим явлением (т.е., каким здесь был оригинальный код).
Это может быть одно из двух (сужу по аналогии с вмпротом), или вызов спец. функции прота (кодирование строк, вызов полностью съеденной АПИ и другое) или вызов другой функции проги, которая целиком находится под вм, но в этом случае её тело в проге можно найти, там должен быть jmp на 0091143E и "мусорный" код...


Ранг: 534.2 (!)
Статус: Участник
оптимист

Создано: 2 апреля 2012 23:54 New!
Цитата · Личное сообщение · #21

vnekrilov пишет:
Получил дамп в txt-формате, просмотрел его, но не нашел ни одной нормальной инструкции

Ну выложи листинг поглядим...

Ранг: 329.1 (мудрец)
Статус: Участник

Создано: 3 апреля 2012 04:46 New!
Цитата · Личное сообщение · #22

ClockMan пишет:
Ну выложи листинг поглядим...


Листинг CALL 0091143E (JMP 0091143E) - полученный Oreans UnVirtualizer v1.5.

{ Атач доступен только для участников форума } - listing CALL 0091143E (JMP 0091143E).txt

Ранг: 488.4 (мудрец)
Статус: Участник

Создано: 3 апреля 2012 09:51 New!
Цитата · Личное сообщение · #23

ИМХО замусорреный код под ВМ
008FCB21 PUSH EAX
008FCB44 SHL EAX,0x5
008FCBCD XOR EAX,0x218a
008FCC96 XOR EAX,EBP
008FCE42 PUSH EDI
008FCE63 AND AH,0xf1
008FCF56 XOR EAX,EDI
008FD06F POP EDI
008FD0EF POP EAX
явно мусор.. я смотрю Oreans UnVirtualizer v1.5. по прежнему часть примитивов не распознает?
008FC39D 0007(00000007)
008FC39F 001C(00000007)
чтоб алго дергать, его б от мусора почистить чемнибудь... хоть ручками


Ранг: 1986.5 (!!!!)
Статус: Модератор
retired

Создано: 3 апреля 2012 09:52 · Поправил: Модератор New!
Цитата · Личное сообщение · #24

В начале функции могут идти антидампы, где-то с 0090E6BF примерно или дальше код более-менее чистый, может быть реальный код функции (по размеру места смотреть надо), этот адрес и надо в окошко вбивать в плаге. Может, и вся она антидамп, но я таких пока не встречал.
Как вариант-выложить файл, кто-нить и посмотрит, может.


Ранг: 534.2 (!)
Статус: Участник
оптимист

Создано: 3 апреля 2012 10:36 New!
Цитата · Личное сообщение · #25

Когда видете код на подобие 00910CDE ADD EBX,DWORD PTR [EBP+0xa4d10f5] то стоит обратить внимание на [EBP+0xa4d10f5] это код чисто Oreans


Ранг: 390.8 (мудрец)
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 3 апреля 2012 11:17 New!
Цитата · Личное сообщение · #26

К плагину есть скриншоты, там показано как отсекать проверки от кода. Читайте доки, и не будет таких листингов.

Ранг: 329.1 (мудрец)
Статус: Участник

Создано: 3 апреля 2012 14:05 New!
Цитата · Личное сообщение · #27

Maximus пишет:
Читайте доки, и не будет таких листингов


Такой листинг получает сам плагин, без вмешательства юзера. Ведь выделяешь адрес, и выбираешь команду UnVirtualize, и получаешь листинг. А потом выбираешь читаемый код, и вставляешь его. Поэтому такой замусоренный листинг получается автоматически.

ClockMan пишет:
то стоит обратить внимание на [EBP+0xa4d10f5]


Обращал внимание, но отладчик на таких адресах просто показывает вопросительные знаки (т.е. нет памяти по этим адресам, и программа просто валится).

Ранг: 7.7 (гость)
Статус: Участник

Создано: 3 апреля 2012 17:01 · Поправил: Ra1n0 New!
Цитата · Личное сообщение · #28

vnekrilov пишет:
А потом выбираешь читаемый код, и вставляешь его

Выбираешь и вставляешь? поподробнее.

Как бэ вроде ты ищешь откуда начинается реальный код и копипастишь этот адрес плагу.

Ранг: 329.1 (мудрец)
Статус: Участник

Создано: 3 апреля 2012 17:11 New!
Цитата · Личное сообщение · #29

Ra1n0 пишет:
Как бэ вроде ты ищешь откуда начинается реальный код и копипастишь этот адрес плагу.


Абсолютно верно. Находишь реальный код, и адрес начала этого реального кода скармливаешь плагину. Сначала было как-то непривычно, а потом быстро набивается рука.

Ранг: 35.3 (посетитель)
Статус: Участник

Создано: 4 апреля 2012 10:01 New!
Цитата · Личное сообщение · #30

в таком случае обычно делал так:
выделяем память где-либо для своих нужд, туда лепим код "jmp 0091143E" Запускаем плагин на этой новой инструкции, смотрим код.


Ранг: 534.2 (!)
Статус: Участник
оптимист

Создано: 4 апреля 2012 10:07 · Поправил: ClockMan New!
Цитата · Личное сообщение · #31

vnekrilov пишет:
Обращал внимание, но отладчик на таких адресах просто показывает вопросительные знаки (т.е. нет памяти по этим адресам, и программа просто валится).

правильно и будет валится если ты его вставишь в секцию кода, потомучто
ClockMan пишет:
[EBP+0xa4d10f5] это код чисто Oreans

где EBP "BaseOreans" и идёт обращение в секцию дата-код протектора.
Archer пишет:
Может, и вся она антидамп, но я таких пока не встречал

я раньше встречал другой код антидампа, поэтому сказать уверенно что это он немогу...
<< . 1 . 2 . 3 . 4 . >>
 eXeL@B —› Протекторы —› Oreans UnVirtualizer ODBG Plug-in

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS