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

 eXeL@B —› Программирование —› АнтиОбфускатор
<< . 1 . 2 . 3 . 4 . >>
Посл.ответ Сообщение


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 04 декабря 2008 18:02 · Поправил: Модератор
· Личное сообщение · #1

Какие есть методы по борьбе с обфускацией ? Цель написать анализатор заменяющий 10 обфусцированных команд в одну настоящую. Для этого наверное нужно делить по блокам , а потом уже в них искать смысл и изменения. Бывает что между командами лежит просто мусор , который даже не используется =) Поэтому пока что эту часть я хочу просто опустить .. и отследить одну команду выполненую 10 или более команд без изменения смысла той самой одной.

У кого нить есть информация с РАН фаха Кибернетики ? Там професора пишут ух какие тексты.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




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

Создано: 04 января 2009 02:52
· Личное сообщение · #2

Yotun - я тоже сообразил что так-то оно лучше, и пока на подводные камни попал.
Использую DevCpp v3.2 (MinGW).

Вот тут: www.archivum.info/qemu-devel@nongnu.org/2005-11/msg00010.html
Сказано следующее:
This P-code is then turned into working machine code by filling in the
corresponding snippets (the compiled code of the op_* functions) and the
arguments are put into the correct place.
А тут тоже некоторые выкладки насчет работы QEmu:
Portable dynamic translation - detailed explanation:
libvncserver.sourceforge.net/qemu/qemu-porting.html

Из чего очень похоже, что результаты выполнения инструкции мы там
в полном виде не увидим. Скорее всего придется генерировать самим таблицы и функции
из например файла i386.md (для каждого процессора свой файл .md).
Функции на каждую инструкцию уже есть в QEmu, за исключением такой
архи-важной мелочи как изменение состояние регистра флагов и ещё чего-нибудь, без чего
эта затея никак не сможет работать.
Там довольно замысловатое описание процессора (в файле i386.md).
Из него для сборки GCC генерируется несколько файлов (размером даже до 2 мб)
утилитами (с именами начинающимися с Genxxxxx.c -> Genxxxxx.exe) которые собираются
также во время сборки компилятора. Вот такая там ерунда.
Я искал вобщем-то файлы opc.h и gen-op.h, а наткнулся - что изложил выше.
А GCC компилятор успешно прошёл все инклюды (кроме тех что я пока не нашел)
и застрял в теле исходника.



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

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

QEmu сорцы целиком:
bellard.org/qemu/qemu-0.9.1.tar.gz
opc.h и gen-op.h получатся при сборке утилиты из dyngen.c -> .exe с main() внутри.

Еще есть мысль, генерировать информацию о состояния процессора после выполнения инструкции .
Можно попробовать на реально работающем процессоре, который дебажится, потом записывать в отдельный файл в удобном для парсинга формате. И так проходясь по файлу со списком инструкций
можно создать готовую таблицу которую потом можно использовать для генерации уже готового кода.
Или как минимум такого кода, который останется только немного дописать.
Сами тела функций которые переносятся в память для исполнения можно брать из этого же QEmu.
Как я понимаю, взяв их адреса. Впрочем - посмотрим, это незрелые мысли пока.



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

Создано: 04 января 2009 04:18
· Личное сообщение · #4

www.h7.dion.ne.jp/~qemu-win/

там есть отдельно патчи для сборки qemu под win32, возможно, что-то может пригодиться



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

Создано: 17 января 2009 04:48
· Личное сообщение · #5

Еще раз убедился что этот винегрет - QEmu, как основа не подходит. Об этом сказано
на:
bellard.org/qemu/qemu-tech.html#TOC7
Не следует он точно инструкциям, а эмулирует только работу наиболее быстрыми способами. Транслирует
функции в исполняемый код импровизируя на ходу, можно так выразиться.

Но нашел я другой эмулятор, называется Bochs:
bochs.sourceforge.net/
там сказано буквально следующее:
The 'typical' use of bochs is to provide complete x86 PC emulation, including the x86 processor, hardware devices, and memory.
Полную эмуляцию. Посмотрим, насколько полную.




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 29 июня 2009 14:48
· Личное сообщение · #6

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

Смысл в том что можно было обойтись без второй ВМ , а просто строить графы по выполнению первой ВМ машины а также анализировать состояние регистров , при таком подходе нужно всеголишь описать правила чистки , например как это делалось с помощью питона в выше описанных в этом топе статьях.

Но судя по примерным прикидам , каждый из методов имеет какие то минусы. Вторая ВМ это что то типо перевода на си , и потом оптимизация оптимизирующим компиллером , но код скорее не сишный будет , а правила вм более упрощенные.

Первая вм это анализ выполнения и работа с самим асм кодом , тоесть получается реализованы 2 метода. Оставить 2 или же использовать один я пока не знаю , в любом случае оба направлления очень интересны в плане реализации.

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

В итоге бинарная трансляция будет в обоих вм , просто разные реализации , поэтому для упрощения задачи было решено сделать одно ядро для обоих антиобфускационных ВМ машин.

Сейчас насобирал много классных книжек по Графам и Компиляторным технологиям , но проблема с метаморфами пока остается. Единственное решение которое пока есть , это этот же вм ный трасер , который будет собирать карту не по общему дизассемблерному листингу а по мере выполнения и собирания кода в строчку удаляя морфирующие блоки с помощью анализатора.

У кого есть какие мысли по поводу морфленного кода ?

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 01 октября 2009 15:28
· Личное сообщение · #7

Ктонибудь может обфусцировать мне небольшой код асмовый ? Нужно как можно больше вариантов , все это нужно для тестов , можно в приват , конфендициальность обфускационных наработок гарантирую , то есть сигнатуры не разойдутся. Сэнкс

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




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

Создано: 01 октября 2009 15:41
· Личное сообщение · #8

mak
Если не секрет как ты снимаешь аспр? Скрипты, а потом свой деобфускатор или же полностью свой анпакер сделал?




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 02 октября 2009 14:20
· Личное сообщение · #9

progopis за флуд надеюсь не забанят) , вообще не понятно причем тут аспр и деобфускатор ? Деобфускатор там не использовался , пока что.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




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

Создано: 02 октября 2009 14:58 · Поправил: Модератор
· Личное сообщение · #10

mak
А почему флуд? Мы же вроде про деобфускатор говорим?

Но это не ответ. Ты сам умеешь снимать аспр или скрипты используешь? Можно в личку.

Просто я видел как ты в запросах выкладывал файл в котором вроде не было обфусцированного кода, на сколько я помню (и если ничего не путаю) он там в оригинале был, а значит ты как-то деобфусцировал. Сложностей нет никаких, просто любопытно довёл ли ты свою разработку до поддержки аспра.

mak пишет:
Деобфускатор там не использовался , пока что.

А как тогда?

Добавлено:
Кстати могу привести тебе много примеров обфускатора в аспре. Он там слабый, вручную всё за 5 минут можно разгрести, но я пока не видел 100% работающих автоматических средств.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 06 октября 2009 16:56
· Личное сообщение · #11

progopis пишет:
вручную всё за 5 минут можно разгрести, но я пока не видел 100% работающих автоматических средств.

Проблемма наверное только в заинтересованности!?!?
т.к. если программист понимает принцип (как это делается вручную) то преград не видно, а у тебя написано Статус: Кодер

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 06 октября 2009 18:11 · Поправил: Модератор
· Личное сообщение · #12

Isaev
Преграда в том, что человек может иногда своими мозгами дойти до того, что тупая программа (им же написанная) не сможет сделать ибо она делает только то, что в неё вложил программист. Поэтому задача логику своего анализа перенести в программу, которая всё сделает за тебя.




Ранг: 247.7 (наставник), 3thx
Активность: 0.160
Статус: Участник
Халявщик

Создано: 06 октября 2009 19:16
· Личное сообщение · #13

progopis
Другими словами задача сводится к тому чтобы написать ИИ? Тут есть одно но: захочет ли оно (ИИ) работать на тебя после того как напишешь?

-----
Лень - это подсознательная мудрость




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

Создано: 06 октября 2009 19:26
· Личное сообщение · #14

depler
Да нет. Не стоит гипертрофировать. ИИ здесь не нужен. Нужен просто хороший правильный алгоритм.



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

Создано: 02 декабря 2009 16:57
· Личное сообщение · #15

Решил не создавать новый топик, а спросить здесь.
А существуют ли коммерческие деобфускаторы, в виде готового к использованию продукта?




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 02 декабря 2009 18:22
· Личное сообщение · #16

progopis пишет:
много примеров обфускатора в аспре.

Хз..кто как хочет так и называет, хотя мне как-то ближе и понятней в отношении аспра - это деморф.
По шаблону или ручками, но это как-то решаемо под Олькой. А вот как свернуть цикличный код, т.е привести его в боллее менее читабельно_последовательный код. Силами олька_скрипт из-за шибко цикличных тыренных процедур приложения, это как-то сложновато.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





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

Создано: 03 декабря 2009 02:15
· Личное сообщение · #17

KurSh пишет:
А существуют ли коммерческие деобфускаторы, в виде готового к использованию продукта?


чего-то заслуживающего внимания нет




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

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

Bronco пишет:
progopis пишет:
много примеров обфускатора в аспре.
Хз..кто как хочет так и называет, хотя мне как-то ближе и понятней в отношении аспра - это деморф.
По шаблону или ручками, но это как-то решаемо под Олькой. А вот как свернуть цикличный код, т.е привести его в боллее менее читабельно_последовательный код. Силами олька_скрипт из-за шибко цикличных тыренных процедур приложения, это как-то сложновато.


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

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 06 декабря 2009 21:16
· Личное сообщение · #19

А пример можешь привести ?! Из кода прям ... или указать куда глянуть по адресам , я щас цикличные коды просто разбираю , разных вариаций полно .. если это вм то не надо , с ней все понятно , а если нет то пример бы было б хорошо

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 10 декабря 2009 17:38 · Поправил: mak
· Личное сообщение · #20

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

нужно поделить циклы на блоки
определить главный управляющий блок по возможности
оптимизировать блок - соотвественно можно делать оптимизацию и до и после различных манипуляций
Построить таблицы джампов , определить возможно ли совместить или же удалить блоки вообще
Просканить таблицу на наличие дубликатов
Если у нас произошло слитие блоков , нужно пересчитать таблицы прыжков
Проверить мертвые джампы в таблице , так как после слития блоков это возможно
Функции хэширофания или поиска некоторых условий цыклов , почти теже сигнатуры
проверка наличия мертвых переходов для превращения их в безусловные
умное совмещение блоков , где совмещение уже будет не по признакам а насильно обьединяя главный интератор блок со всеми другими

Циклическая ВМ - это вм которая исполняет сама себя , это базовый термин , все остальное это уже какие то вариации на тему. Ветвление в циклических машинах весьма интересно

Есть разные подходы к оптимизации циклических интерпретаторов
customization
type analysis and splitting
type feedback
dynamic recompilation
polymorphic inline caches

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

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

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 11 декабря 2009 02:50
· Личное сообщение · #21

mak
известные мне коды, используют такого типа эмуляторы
плезир, тыкни пальцем на что глянуть, или закидай сорцами.
нужно поделить циклы на блоки
Поясни ещё раз, что ты делишь на блоки.
Потому, что из описания ниже цитаты, сложилось впечатление, что само тело цикла ещё не собрано.
Циклическая ВМ - это вм которая исполняет сама себя
Рекурсия - как один из методов такой цикличности, или как основной ?

-----
Чтобы юзер в нэте не делал,его всё равно жалко..




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

Создано: 13 января 2010 21:08
· Личное сообщение · #22

А как крис писал, по поводу снятия обфускации? Там трейсер использовался, опять же очистка трассы потом, руками.




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

Создано: 13 января 2010 22:16
· Личное сообщение · #23

Трассер хрень, вообще говоря, он не даёт полного покрытия, половину алгоритма посеять можешь. Да и Крис графоман. Он много, что писал. Да вот мало, что дельного выкладывал.



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

Создано: 13 января 2010 23:05
· Личное сообщение · #24

Qemu пееехал, есть версия 0.12
www.qemu.org/download.html



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

Создано: 15 марта 2010 13:31
· Личное сообщение · #25

Archer пришет:
Трассер хрень, вообще говоря, он не даёт полного покрытия, половину алгоритма посеять можешь. Да и Крис графоман. Он много, что писал. Да вот мало, что дельного выкладывал.


Мне попался такой код, пришлось трассировать, поскольку ни в Олли ни в Ида невозможно увидеть нормальный код:
код в Олли
Code:
  1. 003A60A8   /EB 01                   JMP SHORT 003A60AB
  2. 003A60AA   |97                        XCHG EAX,EDI
  3. 003A60AB   \0FB6D5                MOVZX EDX,CH
  4. 003A60AE    EB 03                   JMP SHORT 003A60B3
  5. 003A60B0    DE9B BA0FB7C6   FICOMP WORD PTR DS:[EBX+C6B70FBA]
  6. 003A60B6    EB 03                   JMP SHORT 003A60BB
  7. 003A60B8    0D B624E800       OR EAX,0E824B6
  8. 003A60BD    0000                    ADD BYTE PTR DS:[EAX],AL
  9. 003A60BF    00EB                     ADD BL,CH
  10. 003A60C1    04 30                   ADD AL,30
  11. 003A60C3    52                        PUSH EDX
  12. 003A60C4    07                        POP ES                                   ; Модификация сегментного регистра
  13. 003A60C5    AD                        LODS DWORD PTR DS:[ESI]
  14. 003A60C6    5D                        POP EBP
  15. 003A60C7    EB 01                   JMP SHORT 003A60CA
  16.  

результат трассировки:
Code:
  1. Адрес       Поток   Команда                                      ; Регистры и комментарии
  2. 003E0068 Main     PUSHAD                                       ; ESP=0012FED4
  3. 003E0069 Main     PUSHFD                                       ; ESP=0012FED0
  4. 003E006A Main     MOV SI,0EDD1                              ; ESI=006BEDD1
  5. 003E006E Main     MOV CH,0A7                                ; ECX=0000A7D8
  6. 003E0070 Main     JMP 003A60A8
  7. 003A60A8 Main     JMP SHORT 003A60AB
  8. 003A60AB Main     MOVZX EDX,CH                              ; EDX=000000A7
  9. 003A60AE Main     JMP SHORT 003A60B3
  10. 003A60B3 Main     MOVZX EAX,SI                              ; EAX=0000EDD1
  11. 003A60B6 Main     JMP SHORT 003A60BB
  12. 003A60BB Main     CALL 003A60C0                             ; ESP=0012FECC
  13. 003A60C0 Main     JMP SHORT 003A60C6
  14. 003A60C6 Main     POP EBP                                       ; ESP=0012FED0, EBP=003A60C0
  15. 003A60C7 Main     JMP SHORT 003A60CA
  16. 003A60CA Main     MOV EBX,DWORD PTR SS:[EBP-13C]            ; EBX=003A0130
  17. 003A60D0 Main     JMP SHORT 003A60D3
  18. 003A60D3 Main     SUB EBP,65AC24                            ; FL=CPAS, EBP=FFD4B49C
  19. 003A60D9 Main     JMP SHORT 003A60DD
  20. 003A60DD Main     JMP SHORT 003A60E0
  21. 003A60E0 Main     JMP SHORT 003A60E6
  22. 003A60E6 Main     CALL 003A60EB                             ; ESP=0012FECC
  23. 003A60EB Main     JMP SHORT 003A60F0
  24. 003A60F0 Main     ADD DWORD PTR SS:[ESP],22                 ; FL=0
  25. 003A60F4 Main     JMP SHORT 003A60F8
  26.  

здесь больше половины кода составляют джампы, процентов тридцать от оставшегося - мусор, и как в таком случае делать деобфускацию, дамп делать нет смысла поскольку код ходит по одному куску несколько раз прыгая в середину инструкций, обфусцированы небольшие фрагменты кода, и в них нет условных переходов, кроме двух циклов. Запихивать в оптимизирующий компилятор смысла не вижу, быстрее оттрассировать и результат трассировки вручную обработать. Подскажите что в таком случае делать без трассировки ?
А вот насчет того что Крис свои статьи сильно обфусцирует - это согласен.

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





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

Создано: 15 марта 2010 15:04
· Личное сообщение · #26

gena-m пишет:
Подскажите что в таком случае делать без трассировки ?

Без трассировки ничего не сделать, но трассировка трассировке рознь, вы делали динамическую трассировку, а можно в этом случае делать статическую, которая уберет не только все jmp'ы, но и все условные переходы без ветвления. Но для этого надо писать обработчик, алгоритм простой:
1. читаем команду, дизассемблируем
2. если не переход и не call, то на 1 по следующему смещению
3. если jmp или саll, то переход по адресу, далее на 1
в результате имеем тот же список...

-----
Everything is relative...




Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

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

gena-m пишет:
здесь больше половины кода составляют джампы, процентов тридцать от оставшегося - мусор, и как в таком случае делать деобфускацию, дамп делать нет смысла поскольку код ходит по одному куску несколько раз прыгая в середину инструкций, обфусцированы небольшие фрагменты кода, и в них нет условных переходов, кроме двух циклов. Запихивать в оптимизирующий компилятор смысла не вижу, быстрее оттрассировать и результат трассировки вручную обработать. Подскажите что в таком случае делать без трассировки ?

Судя по коду ты все импорт обсида ковыряешь . Принципиально там ни чего не менялось со старых версий читай манулы



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

Создано: 15 марта 2010 17:25
· Личное сообщение · #28

gena-m
Вы издеваетесь? Обсидовские EB 01, EB 02, EB 03 это полная лажа, как крик о помощи. Чел не шарит в обфускации, а на реальном хорошем примере трассировка слетит нафиг. И не нужно в обсиде никакую трассировку делать.



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

Создано: 15 марта 2010 21:24
· Личное сообщение · #29

progopis:
а на реальном хорошем примере трассировка слетит нафиг

Это именно реальная трассировка обсида, задача побыстрее снять обсид не стоит,просто тренируюсь работать в связке Олли-Ида, и ничего плохого не вижу что бы исследовать алгоритм вызова API, котрый сделан довольно запутанно, и кстати, а как по другому импорт найти?
Из мануалов по обсиду вообще ничего не нашел путного, поэтому ковыряю сам потихоньку.
Насчет "не шарит" согласен, только учусь (нужно же на чем то учиться).

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




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

Создано: 06 апреля 2010 19:13
· Личное сообщение · #30

gena-m пишет:
Насчет "не шарит" согласен, только учусь (нужно же на чем то учиться)

хех, вообще-то я автора обсида имел в виду.

В обсиде меня интересовали только крипт (лажа) и ВМ (получше). Схему защиты импорта помню лишь примерно, так что за этим не ко мне.

P.S. Сори за некро-пост.



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

Создано: 13 мая 2011 15:48 · Поправил: antipod
· Личное сообщение · #31

Простите за некрофилию но может кто выложит архива от ОКОВ на первой странице вот этот rapidshare.com/files/171388363/deobfus.ZIP.html


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


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