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

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


Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 25 марта 2011 21:02 · Поправил: BoRoV
· Личное сообщение · #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


3bb2_25.03.2011_EXELAB.rU.tgz - OreansUnVirtualizerv1.0.rar

-----
Лучше быть одиноким, но свободным © $me


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


Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

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

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

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

-----
StarForce и Themida ацтой!





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

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

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

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

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

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

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

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

-----
StarForce и Themida ацтой!


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


Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

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

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


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




Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

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

Gideon Vi
SenceLock

-----
Research For Food




Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

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

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



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

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

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

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

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



Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

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

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




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

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

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



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

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

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

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 02 апреля 2012 15:41
· Личное сообщение · #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.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

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

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

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

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

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

-----
Research For Food




Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

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

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


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

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


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



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 02 апреля 2012 16:28
· Личное сообщение · #16

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

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

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

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

vnekrilov пишет:
CALL 0091143E

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

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

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

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


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




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

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

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




Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

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

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

-----
Everything is relative...





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

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

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

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

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

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

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


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

c53f_03.04.2012_EXELAB.rU.tgz - listing CALL 0091143E (JMP 0091143E).txt



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 03 апреля 2012 09:51
· Личное сообщение · #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)
чтоб алго дергать, его б от мусора почистить чемнибудь... хоть ручками

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

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

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




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

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

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

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

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

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

-----
StarForce и Themida ацтой!




Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

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

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


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

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


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



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

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

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

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

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



Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

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

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


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



Ранг: 35.4 (посетитель), 15thx
Активность: 0.020
Статус: Участник

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

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




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

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

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

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

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

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

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.



<< . 1 . 2 . 3 . 4 . >>
 eXeL@B —› Протекторы —› Oreans UnVirtualizer ODBG Plug-in
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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