Сейчас на форуме: asfa, HaRpY, Vicshann, vasilevradislav (+4 невидимых)

 eXeL@B —› Оффтоп —› OllyDBG Trace...
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 07 января 2007 21:52
· Личное сообщение · #1

Это проект для создания плагина для отладчика чтобы расширить возможности трейсера.
Вот три темы, которые я нашел здесь на сайте, которые относятся непосредственно к сабжу.
http://www.exelab.ru/f/action=vthread&forum=2&topic=6136&p age=0
http://www.exelab.ru/f/action=vthread&forum=1&topic=7109
http://www.exelab.ru/f/action=vthread&topic=7236&forum=1&p age=-1
Вы можете скачать архив(11kb) в котором находятся плагин и минихелрпер
тут
Прошу не пинать, хелп писал быстро и постарался описать все на данный момент, что есть в плагине. Решил выложить, чтобы посоветовали в плане как лучше сделать, чтобы удобно было использовать и послушать идеи по улучшению функционала.
В частности стал вопрос формата вывода в лог данных, вот что должно будет выводиться
Address Hex Command Register Flag
Смещение колонок в текстовом файле, могу табы включить для выравнивания колонок, но мне кажется, неудобно или пробелами выравнивать тогда не очень ровные колонки получаются…
Вообщем идеи и предложения буду рад выслушать…

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 07 января 2007 21:53 · Поправил: Demon666
· Личное сообщение · #2

Так на всякий случай, чтобы не спрашивали, для чего этот плаги нужен!
Этот простой код является для трейсера ловушкой
00B93D4C MOVSX DI,DH
00B93D50 JE 00B93D56
00B93D56 MOV EAX,E2181588
00B93D5B ADD EAX,8935A5D
00B93D61 ROL EAX,25
00B93D64 NOT EAX
00B93D66 ADD EAX,739BE285
00B93D6C JMP 00B93D76
00B93D76 PUSH -2D
00B93D78 POP EBP
00B93D79 MOV EBX,666BB103
00B93D7E SUB EBX,934D1EBD
00B93D84 MOV EBP,EBX
00B93D86 NOT EBP
00B93D88 SUB EBP,B887A6C5
00B93D8E MOV EDI,EBP
00B93D90 ROL EDI,39
00B93D93 MOV ECX,EDI
00B93D95 XOR ECX,3D89ADB5
00B93D9B ADD ECX,BAD549A5
00B93DA1 MOV EBX,BA42DE36
00B93DA6 MOV ESI,6817D8C0
00B93DAB SUB ESI,34D2E5D
00B93DB1 XOR ESI,A60B1311
00B93DB7 ROR ESI,0EA
00B93DBA NOT ESI
00B93DBC XOR ESI,A34F4F91
00B93DC2 ROR ESI,0D4
00B93DC5 ROR ESI,47
00B93DC8 INC EAX
00B93DC9 MOV ESI,EAX
00B93DCB ROL ESI,1
00B93DCD XOR ESI,ACD78FA3
00B93DD3 CMP ESI,ECX
00B93DD5 JNZ 00B93DC8
Давайте его разберем
Для начала стоит почикать мусор, а именно найти то, что действительно является главным в этом коде
Если внимательно посмотреть на код то можно заметить что, начиная с адреса 00B93DC8, образуется цикл и надо понять, при каком условии мы из него можем выйти.
А все банально просто, если ESI будет равен ECX, то должны выйти из цикла.
Если короче, то этот код в реальности должен выглядеть так
mov ecx,903667DDh
mov eax,1E2DE5C7h
LoopAntiTrace:
INC EAX
MOV ESI,EAX
ROL ESI,1
XOR ESI,0ACD78FA3h
CMP ESI,ECX
JNZ LoopAntiTrace
Но этот код является своего рода массовкой для трейсера и больше ничем другим
Если еще проще, то код выглядит так
mov ecx,1E70F43Fh
mov eax,1E2DE5C7h
LoopAntiTrace:
INC EAX
CMP EAX,ECX
JNZ LoopAntiTrace
Образно говоря
1E70F43Fh-1E2DE5C7h=430E78h(Десятичное 4394616)
Для процессора прокрутить такой цикл займет доли миллисекунд его времени, но не для трейсера!
Теперь давайте разберем, почему этот код является губительным для трейсера
После нажатия клавиш в отладчике Ctrl+F11 (меню->Debug->Trace into) включается движок трейсера и код который там используется, гораздо больше требует процессорного времени, чем этот цикл!
Отладчик в течении 10 минут обрабатывает около ~70000 проходов
4394616:70000=627*10=6270 минут займет обработка трейсером.
Если не вдаваться в более тонкую работу отладчика и выразить это утрировано, то при записи в лог отладчик передает пакетами один проход по ~500 байт.
4394616*500=2197308000 байт получиться файл, причем будет содержать только этот цикл, то есть один только мусор!
Далее (это еще не все) отладчик также сохраняет эту информацию в памяти, где требуется гораздо больше объема для хранения информации.
4394616*600=2636769600 байт нужно в “памяти&файл_подкачки”, отладчик юзает функцию GlobalMemoryStatus, что само за себя уже о многом говорит.
Сравним:
Protectors
mov ecx,903667DDh
mov eax,1E2DE5C7h
LoopAntiTrace:
INC EAX
MOV ESI,EAX
ROL ESI,1
XOR ESI,0ACD78FA3h
CMP ESI,ECX
JNZ LoopAntiTrace
доли миллисекунд

Trace into
6270 минут
файл 2197308000 байт
память 2636769600 байт

Вот хотелось, чтобы с помощью ваших советов сделать хороший трейсер в отладчике…

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 12 января 2007 05:22 · Поправил: Demon666
· Личное сообщение · #3

гы-гы, нашел время.., вот прикрутил мощный фильтр…
результат плагина:

004010E1 PUSHAD
004010E2 CMP EAX,1
004010E5 JE SHORT 004010F9
004010E7 CALL 004010ED
004010ED JMP SHORT 004010F0
004010F0 CALL 004010F6
004010F6 INC EAX
EAX=00000001
004010F7 JMP SHORT 004010E2
004010E2 CMP EAX,1
004010E5 JE SHORT 004010F9
004010F9 ADD ESP,8
004010FC POPAD
EAX=00000000
004010FD PUSH EAX
004010FE CALL DWORD PTR DS:[<&KERNEL32.GetModuleHandleA>]
EAX=00400000
00401104 MOV DWORD PTR DS:[402000],EAX
00401109 PUSH 0
0040110B PUSH 00401123
00401110 PUSH 0
00401112 PUSH 1
00401114 PUSH EAX
00401115 CALL DWORD PTR DS:[<&USER32.DialogBoxParamA>]

отсюда можно скачать TraceExpand (beta v 0.2) http://demonteam.narod.ru/download/download.html

Ааа...! Чуть не забыл, вот! Заскриншотил =)))


-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 12 января 2007 05:24
· Личное сообщение · #4

aspirin пишет:
По статье он говорит нажать Trace into, я нажимаю и он повисает.

ValdiS пишет:
Комп не повисает, а начинает трассировку кода. На это нужно время. Бывают проги, когда ждешь по 15-20 минут.

Viper_Ya пишет:
Извиняюсь, что немного торможу, но
1) Долго ли трейсить нужно?(желательно ответ в минутах, ато я трейсю уже минут 30 - нифига не брякаюсь)

[EXE]_cutor пишет:
И будет трассировать его довольно долго.
Выглядит он приблизительно следующим образом:

00A33671 41 INC ECX
00A33672 8BF9 MOV EDI,ECX
00A33674 D1C7 ROL EDI,1
00A33676 81F7 A38FD7AC XOR EDI,ACD78FA3
00A3367C 3BFB CMP EDI,EBX
00A3367E ^ 0F85 EDFFFFFF JNZ 00A33671
(пример кода взял из register.exe, т.к. сама electra.exe - распакована)
трассировать его она будет ОООчень долго. НО!!!

1. Жмешь ESC.
2. Ставишь бряк (F2) на первую команду после JNZ 00A33671 и жмешь F9.
Все. цикл обошли за 2 секунды.
После этого снова запускаешь Trace into и ждёшь буквально 5 минут. Далее делаешь как в туторе.
Весь процесс отлома аспра занимает от силы минут десять. Девять из которых уходят на трассировку.


Подробнее…
http://exelab.ru/f/action=vthread&forum=2&topic=6123
Мой второй пост как раз описывает очень подробно, почему это происходит глазами кодера!
Естественно это все было посчитано на калькуляторе, ну и время также зависит от процессора и от значений в регистрах ECX&EAX!
Защиту от Anti-trace (этот движок уже написан) решил добавить после того, как будет дописан и проверен GUI на работоспособность.

P. S.
Мысли вслух…

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




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

Создано: 12 января 2007 07:56
· Личное сообщение · #5

Добавь в функционал возможность пропускать цыклы если сравнение срабатывает больше XXX раз (тоже опцыонально)
Тоесть пропускать цыкл если jnz XX,[xx] сработало XXX раз.



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 22 января 2007 09:29
· Личное сообщение · #6

WoLFeR
Эти функции приватные пока(!), но в релизе все, ну или, по крайней мере, большая часть будет!
Все идеи тут написанные будут учтены и добавлены в плуг, так что пишем!
По частям выкладываю для тестирования так легче на этапе создания каркаса увидеть и пофиксить баги!

Так теперь о плуге, что нового:
Добавлено в меню New log
В любой момент можно начать запись нового лога, активным это становиццо когда прога загружена в отладчик и включена запись в лог.
При этом создается копия старого лога.

Улучшен вызов папки, где хранятся логи

В опции добавлено String и Comments – думаю, очень информативные функции и лишними не будут, но их также можно и отключить, если они не нужны!
LastError пока не рабочая, будет время прикручу!

Ну и об этом Over system DLLs чуть подробнее
Некоторые могут сказать БАЯН и в отладчике есть такая функция Меню->Options->Debugging options->Trace->Always trace over system DLLs, но это не совсем так!
Ну, как всегда результаты плагина при определенных настройках!!!
Вот пример записи в лог плагина с включенной Over system DLLs:
00401000 PUSH 0
00401002 CALL <JMP.&kernel32.GetModuleHandleA>
EAX=00400000 IMAGEBASE "X:exampleexample.exe"
00401007 PUSH 3E8
0040100C CALL 0040103F
0040103F PUSH EBP
00401040 MOV EBP,ESP
EBP=0012FFB8
00401042 PUSH 0040301D ASCII "ACPUDUMP"
00401047 CALL <JMP.&kernel32.GlobalFindAtomA>
EAX=00120000 ECX=7C80CB22 EDX=00000002 ZF=0
0040104C MOV EAX,DWORD PTR SS:[EBP+8]
EAX=000003E8
0040104F PUSH 1
00401051 PUSH 0
00401053 PUSH 00403034 ASCII "/select, ""X:WINDOWSExplorer.EXE"""
00401058 PUSH 0040302B ASCII "explorer"
0040105D PUSH 00403026 ASCII "open"
00401062 PUSH 0
00401064 CALL <JMP.&shell32.ShellExecuteA>
EAX=0000002A ECX=00006BA2 EDX=00140608 ZF=1
00401069 LEAVE
EBP=0012FFF0
0040106A RETN 4
00401011 MOV EAX,0040300A ASCII "explorer",CR,LF,"ACPUDUMP"
EAX=0040300A ASCII "explorer",CR,LF,"ACPUDUMP"
00401016 MOV DWORD PTR DS:[40305C],EAX DS:[0040305C]=00000000
0040101B CALL <JMP.&kernel32.GetCommandLineW>
EAX=0002077C UNICODE """X:exampleexample.exe"""
00401020 MOV EAX,DWORD PTR DS:[403060]
EAX=00000000
00401025 PUSH 0
00401027 PUSH 00403000 UNICODE "Icze"
0040102C PUSH 0040300A ASCII "explorer",CR,LF,"ACPUDUMP"
00401031 PUSH 0
00401033 CALL <JMP.&user32.MessageBoxA>
EAX=00000001 ECX=7C91056D ZF=0 SF=1
00401038 PUSH 0
0040103A CALL <JMP.&kernel32.ExitProcess>

Вот еще:
0040102E POP EBP
EBP=00401000
0040102F LEA EAX,DWORD PTR SS:[EBP+36C]
EAX=0040136C ASCII "user32.dll"
00401035 PUSH EAX
00401036 CALL DWORD PTR SS:[EBP+305] SS:[00401305]=7C801D77 (kernel32.LoadLibraryA)
EAX=77D30000 IMAGEBASE "X:WINDOWSsystem32user32.dll" ECX=7C801BF6 EDX=00080608 ZF=1
0040103C TEST EAX,EAX
ZF=0
0040103E JE SHORT 00401090
00401040 LEA ESI,DWORD PTR SS:[EBP+311]
ESI=00401311 ASCII "DialogBoxParamA"
00401046 LEA EDI,DWORD PTR SS:[EBP+358]
EDI=00401358
0040104C CALL 00401198

А вот кусочек лога отладчика (Оля любительница посрать в лог), думаю, 2000 строк бреда сюда постить смысла нет!
Сравниваем и делаем выводы сами...
Address Thread Command ; Registers and comments
00401002 Main CALL <JMP.&kernel32.GetModuleHandleA> ; EAX=00400000
00401007 Main CALL 0040103F
0040103F Main PUSH EBP ; AtomName = ""
00401040 Main MOV EBP,ESP ; EBP=0012FFBC
00401042 Main PUSH 00403021
00401047 Main CALL <JMP.&kernel32.GlobalFindAtomA> ; EAX=00120000, ECX=7C80CB22, EDX=00000002
0040104C Main MOV EAX,DWORD PTR SS:[EBP+8] ; EAX=7C816D4F
0040104F Main PUSH 1
00401051 Main PUSH 0
00401053 Main PUSH 00403038
00401058 Main PUSH 0040302F
0040105D Main PUSH 0040302A
00401062 Main PUSH 0
00401064 Main CALL <JMP.&shell32.ShellExecuteA> ; EAX=001F5328, ECX=7C9C0000, EDX=7FFB001C, EBX=00000000, EBP=0012E82C, ESI=00000000, EDI=00000000
KiFastSystemCallR>RETN ; EAX=00000000, ECX=00870000, EDX=7C90EB94, EBP=0012E218
KiFastSystemCallR>RETN ; ECX=008C0000, EBP=0012E21C
KiFastSystemCallR>RETN ; ECX=00910000, EBP=0012E1CC
KiFastSystemCallR>RETN ; EAX=FEEEFEEE, ECX=00000400, EDX=0014003D, EBP=0012E7F0
KiFastSystemCallR>RETN ; EAX=7CBC35C0, ECX=0012EBC8, EDX=00000002, EBP=0012E2D8
KiFastSystemCallR>RETN ; EAX=FEEEFEEE, ECX=00000326, EDX=00242CC0, EBP=0012E118
KiFastSystemCallR>RETN ; EAX=77038000, ECX=0000FFFF, EDX=00000002, EBP=0012DDE8
KiFastSystemCallR>RETN ; EAX=77C48A54, ECX=77C11868, EDX=7718DC00
KiFastSystemCallR>RETN ; EAX=77C494AC, ECX=77C1C21B, EDX=77032C00
KiFastSystemCallR>RETN ; EAX=00000000, ECX=00950000, EDX=7C90EB94, EBP=0012D3B0
KiFastSystemCallR>RETN ; EAX=77C49710, ECX=77825000, EDX=00000000, EBP=0012D080
KiFastSystemCallR>RETN ; EAX=77C496CC, ECX=77C37FCC, EDX=77AF3A00, EBP=0012CD50
KiFastSystemCallR>RETN ; EAX=77C48CF0, ECX=77C523D8, EDX=77B1DE00, EBP=0012D080
KiFastSystemCallR>RETN ; EAX=77C496CC, ECX=77C37FCC, EDX=76696800, EBP=0012CD50
KiFastSystemCallR>RETN ; EAX=77C490E8, ECX=77C24DF8, EDX=76C47B00, EBP=0012CA20
KiFastSystemCallR>RETN ; EAX=77C49470, ECX=77C2EEF6, EDX=76CA1A00, EBP=0012CD50
KiFastSystemCallR>RETN ; EAX=0012CB0C, ECX=7FFD9000, EDX=7FFDF000
KiFastSystemCallR>RETN ; EAX=0015D000, ECX=0012C728, EDX=00001000, EBP=0012CC2C
KiFastSystemCallR>RETN ; EAX=E434B613, ECX=0095185C, EDX=00000000, EBX=74DF1519, EBP=0012D250, ESI=00243640, EDI=0012D224
KiFastSystemCallR>RETN ; EAX=00000000, ECX=00000001, EDX=FFFFFFFF
7C90E96C Main RETN 8
7C91E7D3 Main MOV DWORD PTR SS:[EBP-38],EAX
7C91E7D6 Main PUSH DWORD PTR DS:[ESI+18]
7C91E7D9 Main CALL LdrUnloadAlternateResourceModule ; EAX=0012D101, ECX=7C91A06C, EDX=7C97C0D8
7C91E7DE Main XOR EAX,EAX ; EAX=00000000
7C91E7E0 Main CMP BYTE PTR DS:[7C97C030],AL
.........

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 127.3 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 26 января 2007 12:39
· Личное сообщение · #7

Если сможешь улучшить трейс - респект тебе и уважуха Скачал, но пока не смотрел. По циклам- можно сделать(даже нужно) так, чтоб цикл пропускался. Записывались условия в начале и в конце. Но не всякий цикл. Если это просто выделение стека, то нах его записывать, а если отработка ключа, или тредов? Вот тут подумать надо.



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 27 января 2007 07:57 · Поправил: AlexZ
· Личное сообщение · #8

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

То же самое как-то обсуждали про скрипт.

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 29 января 2007 23:26 · Поправил: Demon666
· Личное сообщение · #9

stahh
Ближе к третьему билду, в первом только GUI…

Что нового в бетке 0.3 (0.26 удалил)
Исправлено:
Если в строке встречался символ процент(%), отладчик падал…
Некоторые CALL`ы плагин считал как системные API…
Теперь на всех регистрах работает определение символьных строк…

Добавлено:
Незначительные изменения в интерфейсе ;)
прикрутил функцию LastError
Функция Loop[n/nz] – не дает записываться в лог повторяющимся циклам команд процессора LOOP/LOOPZ/LOOPNZ (Программно циклы в этой версии не прокручиваются!)
Функция Anti PREFIX подробнее на ней остановлюсь, для чего нужна:
Оля любительница комментировать лишние префиксы символьной строкой Superfluous prefix

Вот код, который в отладчике запускался для записи логов:
00401000 B9 0A000000 MOV ECX,3
00401005 F2: PREFIX REPNE: ; Superfluous prefix
00401006 50 PUSH EAX
00401007 40 INC EAX
00401008 36: PREFIX SS: ; Superfluous prefix
00401009 2E:E2 FB LOOPD SHORT 00401007 ; Superfluous prefix
0040100C 58 POP EAX

Вот результаты логов, которые писались параллельно
Отладчика:
Address Thread Command ; Registers and comments
00401005 Main PREFIX REPNE:
00401007 Main INC EAX ; EAX=00000001
00401008 Main PREFIX SS: ; ECX=00000002
00401007 Main INC EAX ; EAX=00000002
00401008 Main PREFIX SS: ; ECX=00000001
00401007 Main INC EAX ; EAX=00000003
00401008 Main PREFIX SS: ; ECX=00000000
Breakpoint at example.0040100C

Плагина:
EAX=00000000 ECX=0012FFB0
00401000 B9 03000000 MOV ECX,3
ECX=00000003
00401006 F2:50 PUSH EAX
00401007 40 INC EAX
EAX=00000001
0040100A 36:2E:E2 FB LOOPD SHORT 00401007
EAX=00000003 ECX=00000000 ; вот здесь если у кого есть идеи что должно записаться чтобы понятнее цикл выглядел пишите желательно с примером, короче… отчет о цикле
0040100C 58 POP EAX
Были включены опции Loop[n/nz] и Anti PREFIX

Плагин с включенной функцией Anti PREFIX не позволяет нарушить правильности записи в лог исполняемых команд процессором, пишет присутствующие префиксы в коде только в HEX dump в одну строку, отделяя друг от друга двоеточием, как и должно, быть!

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 01 марта 2007 11:02
· Личное сообщение · #10

TraceExpand plugin v0.36 (beta)

Loop[n/nz]/Jcc/Jmp + счетчик циклов
Значение счетчика циклов может быть от 0 до 16
Если 0, то циклы писаццо не будут…
Если хочется увидеть вложенные циклы или рекурсивные увеличиваем значение, но это так для “юных математиков”…
Указанное значение в Size (по умолчанию 320) позволяет не записывать циклы не превышающие (в байтах) этот размер
Это то чего не догадались попросить, этот фильтр позволяет игнорировать маленькие вложенные циклы в больших циклах…
Clear run trace освобождает ресурсы отладчика, от хлама ускоряя тем самым работу run trace…
Так теперь о том, где плуг будет упираться
Не обрабатываются извращенные выходы из циклов (в этой версии только джампы)
Для примера вот такой простой код из прота плуг не обработает, вернее я временно добавил сигнатуру, но это универсальным методом назвать нельзя
0043C015 JMP SHORT 0043C021
0043C021 JLE SHORT 0043C01B
0043C01B CALL 0043C02B
0043C02B ADD DWORD PTR SS:[ESP],6 Stack SS:[0012FFBC]=0043C020
0043C02F RETN
0043C026 JBE SHORT 0043C018
0043C028 JA SHORT 0043C018
0043C018 JMP SHORT 0043C030
0043C030 DEC EBX
Многим кажеццо, что это мусор из ненужных джампов, но на самом деле тут нет, не одного лишнего байта кода…
Вся эта игра с джампами есть ничто иное, как защита от автоматических анализаторов полиморфов… причем самая простая из существующих.
По этой причине многие не выдерживают и предпочитают статик-анализ…
Также плагин не обрабатывает циклы, такие как у говнопрота, то есть, к примеру, полиморф в версии 2.2… у которого основа джампов через стЭк в цикле.., но рипнуть полиморфный движок при помощи плагина за 4-5 часов реально…
Программного ускорителя циклов тоже нет (скорее всего, появяццо только с выходом новой версии отладчика, автор обещал улучшить две основные возможности…)
И для Jmp счетчик косячить может, но это если файл превышает 20метров или вложенных циклов будет больше 1000
Так теперь пример как это заюзать (думаю надо это попробовать, чтобы действительно прихуеть…)
Для примера взял прожку попроще так сказать, чтобы было понятно…
www.password-protect-software.com/download/password-protect.exe

до последнего исключения доходим как в статье
“Шаг за шагом”. (LaBBa & Nice)
я использовал стандартный метод 6A0C PUSH 0C (не приходиццо ничего считать)
F2 на первый RET
Shift+F9,F2 и F7
F2 на секции .code
Теперь подключим к работе плагин
меню->Debug-> Trace save log start (Ctrl+Z)
меню->Plugins->TraceExpand->Options
Loop[n/nz]/Jcc/Jmp 0
Address
Hex dump
Command
String
Comments
Anti PREFIX
Kill jmp 2
Trace into (Ctrl+F11)

функу Clear run trace не включаем дабы потом сравнить!
И курим пару минут (время зависит от мощности компа)
Остановились, скролим вверх и видим нули (38)
Ну, теперь надо их восстановить эти самые…
меню->Debug-> Go to folder...
и откроем наш лог (password-protect_log.txt)
скролим вниз до конца
а бля забыл, мы же нИхрена не знаем о проге =)))
так нам надо знать, что мы будем искать в логе
для этого запустим PEiD->Task Viewer ПЛМ на нашем процессе Load in PEiD (Dump)
Microsoft Visual C++ 6.0 [Overlay]
Берем любую прогу (no Pack) и смотрим, как выглядит EP
Я взял для примера EffeTech HTTP Sniffer (Microsoft Visual C++ 7.0)
0040D771 PUSH EBP
0040D772 MOV EBP,ESP
0040D774 PUSH -1
0040D776 PUSH 004127F8
0040D77B PUSH 0040FEF4
0040D780 MOV EAX,DWORD PTR FS:[0]
0040D786 PUSH EAX
0040D787 MOV DWORD PTR FS:[0],ESP
0040D78E SUB ESP,58
0040D791 PUSH EBX
0040D792 PUSH ESI
0040D793 PUSH EDI
0040D794 MOV DWORD PTR SS:[EBP-18],ESP
Теперь нам надо найти такие байты в логе – поищем
009A781B 55 PUSH EBP
009A7820 8F4424 00 POP DWORD PTR SS:[ESP] Stack SS:[0012FFBC]=0012FFF0
009A7824 8BEC MOV EBP,ESP
009A7826 6A FF PUSH -1
009A7828 68 40574400 PUSH 445740
009A782D 68 80024200 PUSH 420280
009A7832 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
009A7838 66:812D 41789A00 3E36 SUB WORD PTR DS:[9A7841],363E DS:[009A7841]=EB64
009A784A 8D643C FE LEA ESP,DWORD PTR SS:[ESP+EDI-2]
009A784E 2BE7 SUB ESP,EDI
009A7850 81EC 02000000 SUB ESP,2
009A7859 50 PUSH EAX
009A785E 8F4424 00 POP DWORD PTR SS:[ESP] Stack SS:[0012FFAC]=009AAE24,
009A7862 64:8925 00000000 MOV DWORD PTR FS:[0],ESP FS:[00000000]=[7FFDE000]=0012FFB0
009A7869 83EC 58 SUB ESP,58
009A786C 66:812D 75789A00 3E36 SUB WORD PTR DS:[9A7875],363E DS:[009A7875]=EB64
009A787E 8D643C FE LEA ESP,DWORD PTR SS:[ESP+EDI-2]
009A7882 2BE7 SUB ESP,EDI
009A7884 81EC 02000000 SUB ESP,2
009A788D 53 PUSH EBX
009A7892 8F4424 00 POP DWORD PTR SS:[ESP] Stack SS:[0012FF50]=7FFDF000
009A7896 66:812D 9F789A00 3E36 SUB WORD PTR DS:[9A789F],363E DS:[009A789F]=EB64
009A78A8 8D643C FE LEA ESP,DWORD PTR SS:[ESP+EDI-2]
009A78AC 2BE7 SUB ESP,EDI
009A78AE 81EC 02000000 SUB ESP,2
009A78B7 56 PUSH ESI
009A78BC 8F4424 00 POP DWORD PTR SS:[ESP] Stack SS:[0012FF4C]=FFFFFFFF
009A78C0 66:812D C9789A00 3E36 SUB WORD PTR DS:[9A78C9],363E DS:[009A78C9]=EB64
009A78D2 8D643C FE LEA ESP,DWORD PTR SS:[ESP+EDI-2]
009A78D6 2BE7 SUB ESP,EDI
009A78D8 81EC 02000000 SUB ESP,2
009A78E1 57 PUSH EDI
009A78E6 8F4424 00 POP DWORD PTR SS:[ESP] Stack SS:[0012FF48]=7C910738 (ntdll.7C910738)
009A78EA 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP Stack SS:[0012FFA8]=0012FF4C
009A78F4 68 9E084200 PUSH 42089E
009A78F9 68 00779A00 PUSH 9A7700
009A78FE C3 RETN
009A7703 51 PUSH ECX
009A7704 57 PUSH EDI
009A7705 9C PUSHFD
009A7706 FC CLD
009A7707 BF 44779A00 MOV EDI,9A7744
009A770C B9 5E140000 MOV ECX,145E
009A7711 F3:AA REP STOS BYTE PTR ES:[EDI] ES:[EDI]=[009A7744]=24 ('$')
009A7713 9D POPFD Stack [0012FF3C]=00000202 (O0 D0 T0 S0 Z0 A0 P0 C0)
009A7714 5F POP EDI
009A7715 59 POP ECX
009A7716 C3 RETN
0042089E FF15 70114400 CALL NEAR DWORD PTR DS:[441170] DS:[00441170]=00991C8C
Посчитаем бинарик хм… 38 то, что надо
Ну, а теперь откроем окно у Оли Run trace и сравним =)))
Потраченного времени меньше пяти минут…

Kill jmp - очень нужная и полезная функция плагина
Не для кого не секрет что проты любители пасрать в код джампами, причем ненужными и нарушающими анализ кода отладчиком
Kill jmp безжалостно убивает их, причем не только JMP, но и JCC тоже которые являются мусором
И еще если, к примеру, выбрать запись в лог двух очень сложных циклов, то плагин может записать около 16000 строк, но если анализ полиморфного движка не так важен, то при включении функции Kill jmp (127) плагин запишет 500 строк

Еще некоторые проты устраивают игры с системными функциями – эта версия не может корректно их обрабатывать и если функция System DLLs включена, то запись в лог будет прекращаться полностью, да и, скорее всего корректная работа и связанные дополнительные с этим функции на паб…
Короче… обойти это можно склеиванием логов, начиная с адреса, где была прервана запись…
Реализация полиморфа в этот мир принесла только – зло!
защищают протами свои творения говнокодеры дабы скрыть свою некомпетентность и 70% использования в своих программах чужого кода – совет им один, вытащить голову из жопы!!!

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 127.3 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 02 марта 2007 08:41
· Личное сообщение · #11

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




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 03 марта 2007 05:11
· Личное сообщение · #12

а где сам плуг то? %)

-----
Тут не могла быть ваша реклама





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 03 марта 2007 07:59
· Личное сообщение · #13

lord_Phoenix пишет:
а где сам плуг то? %)

Да все там же:
demonteam.narod.ru/download/download.html

Жаль нету времени, с удовольствием потестил бы




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 03 марта 2007 22:21
· Личное сообщение · #14

спасибо

-----
Тут не могла быть ваша реклама




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 05 марта 2007 08:39
· Личное сообщение · #15

lord_Phoenix
Так что? Вердикт-то, какой(?) или тоже времени нет??? =)

P. S. (мысли в слух)
Ссылка, к теме топика относиццо – так нА-всякий случай запостил
Хакерские трюки или как поставить бряк на "jmp eax" http://www.insidepro.com/kk/124/124r.shtml
Для тех, кто нИразу не грамотный обязательное чтиво… (что такое "трассировка") =)))

Говнотеория из статьи:
очень сложная задача, которую можно осуществить только написав свой собственный дизассемблер длин, а это... уже настоящий монстр получается! Такие вещи лучше писать на Си и цеплять к отладчику как плагин, тем более, что исходные тексты дизассемблера распространяются вместе с OllyDbg (http://www.ollydbg.de/srcdescr.htm), а, значит, основная часть работы уже сделана за нас. Остальное доделает... Perl (c)Крис Касперски ака мыщъх
прежде чем писать такое, надо хорошо перед этим подумать, ведь читать будет (прочитало), наверное, очень много людей!
Советую ака мыщъх посмотреть:
Ollydbg-> PLUGINS->PSDK
“можно осуществить только написав свой собственный дизассемблер длин, а это... уже настоящий монстр получается!(ц)”-> Readcommand& Disasm(вот этот монстр помощнее да побыстрее будет, возможности, которого ограничиваются только фантазией…)
“Остальное доделает... Perl(ц)”-LOL, я пацтолом целый час был…

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 15 апреля 2007 17:20
· Личное сообщение · #16

Ламоистория, может кого улыбнет (не удержался, решил поиздеваццо)
Поставив перед собой много пива, решил сегодня расслабиться, ну и потестить движок для автоматического заполнения баз сигнатур…
Тупо почесав моск, при этом, выпив одну баночку пива, я все-таки выбрал жертву для теста, им оказался VMProtect…
Решил я не напрягаццо, вступил и скомпилировал проект-ик “ЗдраствуйМир” (на Del(Пии..)), ну и заодно сталобыть истЕну найти %)
Открыл я этот ламопрот(Demo(!)),ну и выбрал в нем свою суперпрогу (ЗдраствуйМир) и опцию “мутация” (“EntryPoint”)
После этого отправил на дальняк ламопрот подумать… и о чудо(!!!) он ВЫсрал супермегапрогу!!!!.... О(!) дааа, а он меня не разочаровал, она запускаеццо!!! (фуххх.., первый этап пройден, птьфу- птьфу)
Ну, сталобыть запускаем сразу две Оли, в первой оригинал, во второй не ломаемая супермегапрога…
Запустил я свой движок, смотрю, а он мне выдал код, ну очень похожий на оригинал EP, только вместо валидных адресов стоят вопросы…
Хм… допивая вторую баночку пива, толчок мысли, а дай думаю копипаст сделаю…
Выделил в оригинале до нулей бинарик и, скопировав, делаю паст по тем же адресам в моей не ломаемаемой супермегапроге и сохраняю это дело…

Оригинал (copy)
0044E874 PUSH EBP
0044E875 MOV EBP,ESP
0044E877 ADD ESP,-10
0044E87A MOV EAX,0044E694
0044E87F CALL 00406064
0044E884 MOV EAX,DWORD PTR DS:[44FFCC]
0044E889 MOV EAX,DWORD PTR DS:[EAX]
0044E88B CALL 0044CE40
0044E890 MOV ECX,DWORD PTR DS:[4500A8]
0044E896 MOV EAX,DWORD PTR DS:[44FFCC]
0044E89B MOV EAX,DWORD PTR DS:[EAX]
0044E89D MOV EDX,DWORD PTR DS:[44E4B4]
0044E8A3 CALL 0044CE58
0044E8A8 MOV EAX,DWORD PTR DS:[44FFCC]
0044E8AD MOV EAX,DWORD PTR DS:[EAX]
0044E8AF CALL 0044CED8
0044E8B4 CALL 004040E8
0044E8B9 LEA EAX,DWORD PTR DS:[EAX]

Жертва (paste)
0044E874 JMP 0044E879
0044E879 TEST SP,0C768
0044E87E PUSH EBP
0044E87F INC AL
0044E881 AAS
0044E882 INC BP
0044E885 LEA EBP,DWORD PTR DS:[EDI+D6283D39]
0044E88B MOV EBP,ESP
0044E88D AAD 0F
0044E88F ROR AL,CL
0044E891 DAA
0044E892 ADD ESP,-10
0044E895 PUSHFD
0044E896 NOT EAX
0044E898 MOV EAX,0044E694
0044E89D PUSHFD
0044E89E PUSHAD
0044E89F LEA ESP,DWORD PTR SS:[ESP+28]
0044E8A3 CALL 00406064
0044E8A8 BSWAP EAX
0044E8AA MOVSX AX,CL
0044E8AE NOT AL
0044E8B0 MOV EAX,DWORD PTR DS:[44FFCC]
0044E8B5 CALL 00456006
0044E8BA POP ESP
0044E8BB JA SHORT 0044E8BD

Старт(!) и что мы видим, а прога запустилась и МУТАТОРА, как и не было двумя щелчками мыши %)
Пойдем дальше, почитаем редми:
Про историю я молчу, она походу писялась для конченых бакланов, которые свято верят в непобедимость защиты… а да, чуть не забыл, там есть опция, которая является просто не заменимой при взломе других прог - при восстановлении импорта ;) (Ну что ж, кто нам вредит, тот нам и поможет (ц) PE_Kill)
Цитата:
Мутация. Исполняемый код видоизменяется на уровне команд процессора (существующие команды видоизменяются, добавляются различные мусорные команды и т.д.). Данный тип компиляции слабо защищает обрабатываемый код от взлома и анализа
-1 (правильнее будет сказать, вообще не защищает!!!)
За это ламо просят на оффсайте 3500&7000 плюс время (которое стоит дороже) на тестирование…
Приговор:
Полный дерьмолохотологический развод

Пссс
От писателейговнозащит претензии не принимаюццо, сталобыть не достойные сцуко!!!
Это предупреждение(!) в следующий раз не коверкайте доброе имя CRACKL@B!!!!...

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 15 апреля 2007 18:55 · Поправил: Hellspawn
· Личное сообщение · #17

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

-----
[nice coder and reverser]





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 15 апреля 2007 21:09
· Личное сообщение · #18

Demon666 пишет:
Так что? Вердикт-то, какой(?) или тоже времени нет??? =)

супер, развивай дальше..надо помощь - свистни =)

-----
Тут не могла быть ваша реклама




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 16 апреля 2007 03:13
· Личное сообщение · #19

Маленький анонс (обещать ничего не буду, но постараюсь ближе к субботе/воскресению) выложить без предварительного тестирования бетку 0.4, времени катастрофически не хватает…
В плуге появиться новый раздел таба Signatures
В нем пока будут доступен только Black list
И три функи (фейс сразу скажу убойный, буду надеяццо, что работать будет у всех)
Первая Filter garbage
Здесь можно будет заполнять сигнатуры (100 штук), которые будут запрещать в лог запись кода соответствующий требованию этих сигнатур
То есть, если для примера сделать одну сигну 90909090, то плуг, если встретит четыре NOP`а, их не запишет в лог, тем самым можно делать своего рода маски по очистке от мусора, длина маски может составлять до одного килобайта, причем в разных комбинациях…
Ну, а теперь не падать пацтол и неубиваццо апстену %)
Синтаксис самих сигнатур, варианты
Просто 90… и т. д. (длина одной сигны, скорее всего, будет 32 байта)
Просто E9????????... – эта сигна позволит запретить любого JMP имеющего опкод E9
Просто ?9 ну или E? – FE C0 3? 66 ?F C5… (тут я пробелы специально вставил для наглядности)
Ну и для тех, кто дизасмит в уме слету
Напряжно (00?1??01) – это побитовые сигны одного байта, там, где вопросы плугу будет пох, что там за бит, а остальные будут сравниваться на наличие инфы в бите, если 0 бит, не установлен, 1 установлен
Пример сигнатуры FE C0 3? (00?1??01) ?F C5…
Так теперь о базе
В одной базе 100 сигнатур может быть
Неограниченное число баз сигнатур, имя базы пишем сами любое 255 символов
Будет присутствовать возможность включения/выключения сигнатур в базе, тоже неограниченно (там чекобоксы имеюццо у каждой добавляемой сигнатуры)
Вторая banning CALL
Иногда бывает нужно записать цикл, но в нем может быть много CALL`ов от которых важен только результат и из-за них лог может получаться большой…
Эта функа позволяет выбрать, какие CALL`ы запретить записывать, все просто находим любую подходящую сигну в этом CALL`е и записываем в базу
Но также можно в дополнительных опциях выбрать возможность Floating Signatures
и установить счетчик диапазон сканирования в байтах…
все короче заипался я уже писать… все равно всех возможностей не смогу описать…

P. S.
если у кого есть идеи, пишем(!), вот это была бы неоценимая помощь…

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 16 апреля 2007 11:43
· Личное сообщение · #20

Demon666 пишет:
Тупо почесав моск, при этом, выпив одну баночку пива, я все-таки выбрал жертву для теста, им оказался VMProtect:
Решил я не напрягаццо, вступил и скомпилировал проект-ик "ЗдраствуйМир" (на Del(Пии..)), ну и заодно сталобыть истЕну найти %)
Открыл я этот ламопрот(Demo(!)),ну и выбрал в нем свою суперпрогу (ЗдраствуйМир) и опцию "мутация" ("EntryPoint")

Перед тем как тупо чесать моск, не плохобы почитать что пишут про режим "мутация" разработчики VMProtect:
* Мутация. Исполняемый код видоизменяется на уровне команд процессора (существующие команды видоизменяются, добавляются различные мусорные команды и т.д.). Данный тип компиляции слабо защищает обрабатываемый код от взлома и анализа и главным образом припятствует определению обрабатываемых функций с помощью сигнатурных анализаторов (PEiD+KANAL, IDA+FLIRT и т.д.). Как правило библиотечные функции не нуждаются в защите от взлома и анализа и достаточно будет только изменить их сигнатуры, чтобы взломщик не смог автоматически определить какие именно библиотеки Вы используете в своем приложении (степень защиты от взлома и анализа - низкая, скорость исполнения кода - высокая).
* Виртуализация. Исполняемый код переводится в байткод, исполняемый на виртуальной машине. Данный тип компиляции следует применять для всех критичных участков кода где помимо противодействию взлому и анализу важна скорость работы (степень защиты от взлома и анализа - средняя, скорость исполнения кода - средняя).
* Ультра (мутация + виртуализация). Исполняемый код видоизменяется на уровне команд процессора и уже после этого переводится в байткод, исполняемый на виртуальной машине. Данный тип компиляции следует применять для всех участков кода где не важна скорость работы (степень защиты от взлома и анализа - высокая, скорость исполнения кода - низкая).


Demon666 пишет:
Мутация. Исполняемый код видоизменяется на уровне команд процессора (существующие команды видоизменяются, добавляются различные мусорные команды и т.д.). Данный тип компиляции слабо защищает обрабатываемый код от взлома и анализа
-1 (правильнее будет сказать, вообще не защищает!!!)

Приводи цитаты из мануала до конца )
Данный тип компиляции слабо защищает обрабатываемый код от взлома и анализа и главным образом припятствует определению обрабатываемых функций с помощью сигнатурных анализаторов (PEiD+KANAL, IDA+FLIRT и т.д.). Как правило библиотечные функции не нуждаются в защите от взлома и анализа и достаточно будет только изменить их сигнатуры, чтобы взломщик не смог автоматически определить какие именно библиотеки Вы используете в своем приложении

DEMO вообще предназначена для ознакомления с продуктам и все дополнительные возможности (в том числе и продвинутая мутация) представлены ТОЛЬКО в полной версии.

Demon666 пишет:
Приговор:
Полный дерьмолохотологический развод…

Пссс
От писателейговнозащит претензии не принимаюццо, сталобыть не достойные сцуко!!!
Это предупреждение(!) в следующий раз не коверкайте доброе имя CRACKL@B!!!!...


Гыыы )



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 16 апреля 2007 15:23
· Личное сообщение · #21

WASM.RU
dermatolog пишет:
Да нет - тут как раз все с точность наоборот - сказать нечего как раз тебе. Я заметил любой спор ты постоянно пытаешься свести к своим "мегакрутым" продуктам (хоть WASM, хоть RSDN, хоть СРЯКЛАБ), это такой новый вид рекламы что-ли?

dermatolog
Покайтесь(публично!) и сталобыть первый после бога вас простит… (ц)
ИМХО – dermatolog мегакультно-облажался сталобыть достоин ВЕЧНОГО БАНА!!!
Ни одного полезного поста на форуме, один пьиар (реклама) VMProtect`а от него!


dermatolog пишет:
Перед тем как тупо чесать моск, не плохобы почитать что пишут про режим "мутация" разработчики VMProtect:

ЛОЛ!!! Просто “мутоген” говнопрота немного ПАсрал на EP и не одной команды не замутогенил (сталобыть неасилил %)), все в чистом виде, один секундный проход моего движка, одним махом снял весь говномусор…
Ваша команда в корне НЕЗНАЕТ, что такое настоящий мутатор, идите НАХ через гугЫль просвещайтесь и НЕ ПОЗОРЬТЕСЬ…

dermatolog пишет:
главным образом припятствует определению обрабатываемых функций с помощью сигнатурных анализаторов (PEiD+KANAL, IDA+FLIRT и т.д.).

Не смешите я уже поцталом, ЛОЛ!!! Нашли же чем потешить народ
KANAL ОНИ наипали %), детский сад мля, ВЫ очередной раз на паблике свою деградацию говнозащит показываете…

Правильно сделал Зумик, что над вами тогда прикололся, просто в то время народ по достоинству не оценил его ЮМОР, он на паблике засветил несостоятельность ваше ГОВНОПРОГРАММЕРСКОЙ команды…
dermatolog
ИДИТЕ, ПОДМОЙТЕСЬ!!!

Demon666 пишет:
ну и заодно сталобыть истЕну найти %)

Demon666 пишет:
Пссс
От писателейговнозащит претензии не принимаюццо, сталобыть не достойные сцуко!!!
Это предупреждение(!) в следующий раз не коверкайте доброе имя CRACKL@B!!!!...

Ну, а теперь сталобыть докажи и покажи где я неправ, а?

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 16 апреля 2007 15:34 · Поправил: lord_Phoenix
· Личное сообщение · #22

если дерматолог ответит, то забаню обоих.. разборки идут лесом (в пм, на мыло, етц)

-----
Тут не могла быть ваша реклама





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 16 апреля 2007 15:43
· Личное сообщение · #23

Demon666 пишет:
он на паблике засветил несостоятельность ваше ГОВНОПРОГРАММЕРСКОЙ команды…

имхо смелое заявление...
dermatolog
Выложите крякми какой-нить с вмпротом со всеми опциями, имхо радости резко поубавится




Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

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

Господа, если есть вопросы по поводу VMProtect - можно это дело обсудить в отдельном топике, либо на форуме продукта:
www.vmprotect.ru/forum/index.php

Там можно будет и крякми выложить )




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

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

Не, крякми надо выкладывать на крякерских форумах




Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 16 апреля 2007 17:30
· Личное сообщение · #26

Ara пишет:
Не, крякми надо выкладывать на крякерских форумах

Выбирайте компилер:
Borland C++ Builder
Delphi
MASM
Visual C++
Крякми будет в виде примера из дистра




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 16 апреля 2007 17:37
· Личное сообщение · #27

Ну я не для себя прошу Для Demon666. Я выбираю Visual C++




Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

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

Выкладываю.


b844_16.04.2007_CRACKLAB.rU.tgz - Project1.vmp.rar




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 16 апреля 2007 17:51
· Личное сообщение · #29

Demon666
Думаю, через часик уже стоит ждать результата, прот ведь лажовый? =))



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

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

Сразу извиняюсь за свой падоновский гонор, но вроде он был разрешен в оффтопе…

lord_Phoenix
Это не разборки!!! И все имеет прямое отношение к двигуразбораVM!!!
Заметь я первый начал разговор о протекторе, и знал, что произойдет наперед…

Ara
ВЫ просите ЗА МЕНЯ совершено неТО!!!
Мне нужен приватный VMProtect->full + паблик разрешение от оффразроботчиков на релиз ОПЕНСОРСА VMProtect`а (самого прота!!!)
Сталобыть отказ dermatolog от авторских прав, если он конечно не являеццо обычным бАрыгой
Я лично сталобыть обещаю, буду релизить сорсы, когда будет свободное время в качестве доказательства на другом языке программирования, ВОТ мои условия!!!
Ara
ПОПРОСИТЕ, ПОЖАЛУЙСТА(!!!) его выполнить мои требования!!! он ведь неломаемый %) сталобыть вам нечего бояццо… ;P

P. S.
А срякмиксссс оставьте себе, НА ПАМЯТЬ ;)

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com



. 1 . 2 . >>
 eXeL@B —› Оффтоп —› OllyDBG Trace...

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати