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

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


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

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

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

 eXeL@B —› Основной форум —› Антиотладочные приемы
<< . 1 . 2 . 3 . 4 . 5 . >>
Посл.ответ Сообщение

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

Создано: 6 июля 2008 12:07 · Поправил: Sturgeon New!
Цитата · Личное сообщение · #1

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


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

Создано: 8 июля 2008 10:53 New!
Цитата · Личное сообщение · #2

pavka пишет:
CC int3
9D popfd

Это чегой? )

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

Создано: 8 июля 2008 10:58 New!
Цитата · Личное сообщение · #3

dermatolog пишет:
Это чегой? )

китайцы говорят антиотладка однако в последнем VMP


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

Создано: 8 июля 2008 11:05 · Поправил: Smon New!
Цитата · Личное сообщение · #4

dermatolog пишет:
Это чегой?

Прикинулся мля, что не в курсах

ЗЫ: Хотя мож и вправду не в курсах, эта антиотладка (придуманная к слову не dermatolog'ом) в свободном доступе еще не проскакивала


Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 8 июля 2008 12:40 New!
Цитата · Личное сообщение · #5

а разве в ехекруптере не аналогичная хрень использвуется? это вроде против ольги конкретно заточено?

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

Создано: 8 июля 2008 12:43 New!
Цитата · Личное сообщение · #6

А поподробнее?


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

Создано: 8 июля 2008 12:44 New!
Цитата · Личное сообщение · #7

Hellspawn пишет:
а разве в ехекруптере не аналогичная хрень использвуется

есть, но сделано по другому, гораздо более тупо, а заточено конкретно против ольги


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

Создано: 8 июля 2008 12:49 · Поправил: Smon New!
Цитата · Личное сообщение · #8

Sturgeon
Твой док, кстати, более чем на 90 % состоит из работы Ferrie (просто переведена). На, погляди тут, мож чё еще забыл добавить:
http://forum.virustech.org/viewtopic.php?pid=278 http://forum.virustech.org/viewtopic.php?pid=278

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

Создано: 8 июля 2008 12:53 New!
Цитата · Личное сообщение · #9

Smon пишет:
Твой док, кстати, более чем на 90 % состоит из работы Ferrie

Истинная правда.
Но у него и собрано практически все, что лежит в общем доступе в нете. А остальные 10 % насобирал из других мест.

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

Создано: 8 июля 2008 13:58 New!
Цитата · Личное сообщение · #10

Smon пишет:
forum.virustech.org/viewtopic.php?pid=278

Хм.. похоже чел с погремухой осень извращенец тупо постит одно и то же на разных форумах ..антиодладка ради самой антиотладки Живой пример ленин прот, напичкан антиотладкой по самое немогу а снимется в считаные секунды

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

Создано: 8 июля 2008 14:44 New!
Цитата · Личное сообщение · #11

Спасибо Sturgeon крутой док.


Ранг: 274.0 (наставник)
Статус: Участник
Advisor

Создано: 9 июля 2008 02:28 New!
Цитата · Личное сообщение · #12

pavka
А как ты Олькой, обошёл антидебаг на приблуде CHimpRECU???
Кста чего на нём навешано???

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

Создано: 9 июля 2008 03:20 New!
Цитата · Личное сообщение · #13

Bronco
Ленин прот Как обычно циклил в библе


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

Создано: 17 июля 2008 11:07 New!
Цитата · Личное сообщение · #14

pavka пишет:
Живой пример ленин прот, напичкан антиотладкой по самое немогу а снимется в считаные секунды


Это ты про какую версию прота?

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

Создано: 17 июля 2008 14:37 New!
Цитата · Личное сообщение · #15

DaRKSiDE пишет:
Это ты про какую версию прота?

Да у нее все версии одинаковы


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

Создано: 17 июля 2008 14:55 New!
Цитата · Личное сообщение · #16

pavka пишет:
Да у нее все версии одинаковы


Если не секрет, на каком трике возникает зацикливание проги?

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

Создано: 17 июля 2008 17:15 New!
Цитата · Личное сообщение · #17

DaRKSiDE
Это реакция на анитотладку тайминг,int2d чек на нопы и т.д


Статус: Пришелец

Создано: 14 августа 2008 13:06 New!
Цитата #18

Sturgeon

Про вот это:
push ss
pop ss
pushf
nop
,

можно было и поподробнее написать, тем более что виноваты в этом баге не столько отладчики, сколько инженеры Intel. И вроде бы SoftIce на этом не палится (так в книге было какой-то описано - сам правда не проверял ещё.) Для айса код должен выглядеть вот так:
db 2Eh; префикс замены сегмента
pushfd
pop eax
pushfd
pop ebx
sub eax,ebx
jnz _detected


В целом книга (для статьи страниц слишком много) на 5+. Респект автору.

P.S. Прошу простить что поднял не самую свежую тему. Просто сам сейчас пишу проект на masm'е - "AntiSoftICE", который представляет собой квест-задание по антиотладке - надо пройти всё либо по F7, либо по F8 (для OllyDbg и IDA конечно же) и не "спалиться". Как только будет готов beta релиз - выложу на обзор.

Ранг: 271.5 (наставник)
Статус: Участник
Packer Reseacher

Создано: 14 августа 2008 13:19 New!
Цитата · Личное сообщение · #19

Предложил бы пересмотреть материал мануала в следующем ключе. Как понял, то что сейчас имеется это больше справочник, чем учебник и отсюда следует вывод что в любом справочнике должна быть катологизация! Я ее что-то не увидел! Если же говорить об учебной литературе, то думаю надо строить расположение трюков таким образом, чтобы читающий шел от новичка к уровню гуру! Ну и слодоевательно было разделение в содержании, трюки для новичка, трюки для гуру, трюки для среднего уровня! Ну и желательно чтобы в каждом трюке была ссылка на другой трюк, который бы помог познать этот трюк ;)

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

Создано: 14 августа 2008 13:45 New!
Цитата · Личное сообщение · #20

progopis.theCollision
Спасибо за пожелания. Кое-что я уже обновил и добавил. Когда будет существенно переработано выложу обновленную версию.

Ранг: 271.5 (наставник)
Статус: Участник
Packer Reseacher

Создано: 14 августа 2008 16:31 · Поправил: theCollision New!
Цитата · Личное сообщение · #21

Sturgeon
Я бы хотел это видеть таким:
1. Разбитие по категориям с указанием страниц, к примеру "Применение DR-регистров", "Проверка флага TF" и т.д.
2. Содержание от простого к сложному
3. К каждому трюку должен прилогаться список пакеров, протов с указанием их версий, где это можно в живую потрогать
4. Содержание разбить на 3 части - Беггинер, Опытный, Гуру
5. Указание к каждому трюку симптомов. Наверное у многих возникал вопрос во время реверсинга : "Че ваще происходит то?" ;)))

Вообще бы, я бы это выложил уже сейчас, вдруг еще есть какие нюансы?!

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

Создано: 14 августа 2008 17:39 New!
Цитата · Личное сообщение · #22

theCollision пишет:
1. Разбитие по категориям с указанием страниц, к примеру "Применение DR-регистров", "Проверка флага TF" и т.д.

Так оглавление присутсвует. Или я не понял что ты имеешь ввиду?

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

Вот нашел интересную программку. Antidebug Tester. Реализовано много триков антиотладки. Кое-какие косяки в ней есть, но на посмотреть сгодится.

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

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

Создано: 14 августа 2008 21:31 New!
Цитата · Личное сообщение · #23

Кстати, кто-нибудь может объяснить почему следующий код вызывает исключение под отладчиком?

invoke CloseHandle,011h
invoke CloseHandle,012h
invoke CloseHandle,018h
invoke CloseHandle,019h
invoke CloseHandle,01Ah


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

Создано: 14 августа 2008 22:23 New!
Цитата · Личное сообщение · #24

Это возбуждает исключение при закрытие невалидного хендла из ринг0 ещё, издержки дебаг апи, нужно, чтобы отладчик мог следить за обращениями к кривым хендлам.

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

Создано: 14 августа 2008 22:50 New!
Цитата · Личное сообщение · #25

Archer
А, ну да, блин...
В моей же доке это есть.
Просто в одном месте увидел такой код с непонятными комментариями. Вот и впал в ересь.

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

Создано: 15 августа 2008 18:48 New!
Цитата · Личное сообщение · #26

о, а я видел эту антидебаг фичу с closehandle'ами

www.asmtools.com/prod/idchanger.zip


Статус: Пришелец

Создано: 16 августа 2008 12:54 New!
Цитата #27

progopis пишет:
push ss
pop ss
pushf
nop,

SoftICE 4.3.2.1 на этом спалился - в стэке флаг трассировки. А вот 2-ой способ, который я в том посте описывал уже не актуален (начиная с 386 ), во-первых там префикс для cs:, а во-вторых, даже если воткнуть байт 36h ( ss: ) - ни один из отладчиков не попался (IDA 5.0,SoftICE 4.3.2.1,OllyDbg 1.10) - проверено на практике.

Кстати, в статье отсутствует трюк с TerminateProcess, а он, надо сказать, достаточно популярен.


Ранг: 138.1 (ветеран)
Статус: Участник
Одепт ЭкзэЛаба

Создано: 16 августа 2008 13:35 New!
Цитата · Личное сообщение · #28

Народ не кому случаем на глаза не попадалось доков по снятию/обходу Memory breakpoint?

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

Создано: 16 августа 2008 13:45 New!
Цитата · Личное сообщение · #29

g-l-u-k

.386
.model flat, stdcall
option casemap :none ; case sensitive

include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc

includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data
Alloc dd ?
OLDProtect dd 02040001h
msgTitle db "Execution status:",0h
msgText1 db "No debugger detected!",0h
msgText2 db "Debugger detected!",0h
.code

start:

; MASM32 antiOlly example
; coded by ap0x
; Reversing Labs: ap0x.headcoders.net

; The idea is simple. OllyDBG interprets PAGE_GUARD as a
; Memory break-point. If we set SEH and execute PAGE_GUARDed
; code exception will occure. If debugger is present it
; will execute MemBpx and continue executing code after it.
; If debugger is not present handleing will be forwarded to SEH.

; Setup SEH

ASSUME FS:NOTHING
PUSH offset @Check
PUSH FS:[0]
MOV FS:[0],ESP

; Allocate new space

PUSH PAGE_READWRITE
PUSH MEM_COMMIT
PUSH 10000h
PUSH 0
CALL VirtualAlloc

; Write RET there
MOV BYTE PTR[EAX],0C3h
MOV DWORD PTR[Alloc],EAX

; Place Memory break-point
PUSH offset OLDProtect
PUSH PAGE_EXECUTE_READ OR PAGE_GUARD
PUSH 00000010h
PUSH EAX
CALL VirtualProtect

; Execute
CALL [Alloc]

PUSH 30h
PUSH offset msgTitle
PUSH offset msgText2
PUSH 0
CALL MessageBox

PUSH 0
CALL ExitProcess

; SEH handler
@Check:
POP FS:[0]
ADD ESP,4

PUSH 40h
PUSH offset msgTitle
PUSH offset msgText1
PUSH 0
CALL MessageBox

PUSH 0
CALL ExitProcess

end start

Такое пойдет?


Статус: Пришелец

Создано: 16 августа 2008 13:48 · Поправил: progopis New!
Цитата #30

g-l-u-k
Надо играться с API работающими с памятью. Насколько я знаю, OllyDbg для установки memory breakpoint закрывает доступ на целую страницу памяти, а когда наступает момент обращения - происходит исключение, обработкой которого она занимается . Если отловить момент когда бряк стоит, то API вернет "неправильный" параметр доступа к памяти (по-моему VirtualQuery или VirtualQueryEx надо для этого использовать). Еще бывают хардовые бряки на память - делаем исключение, а в обработчике зануляем DrX-регистры - и все - бряка нет.

Когда доделаю "AntiSoftICE project" - можно будет считать доком его исходник.

Sturgeon
+1


Статус: Пришелец

Создано: 16 августа 2008 13:57 New!
Цитата #31

Кстати, народ!
А кто-нибудь знает как SoftICE обходит call'ы, если мы идём по F10 (trace over)?

А то OllyDbg ставит 0xCC сразу после call'а; IDA пропускает несколько команд, действие которых можно отменить - и там ставит бряк, а потом откатывает регистры до команды сразу после call'а. А вот SoftiCE никаких там 0xCC вроде бы не ставит (в call'е проверял CRC). Неужели Hardware-бряк? А если я их все задействовал?
<< . 1 . 2 . 3 . 4 . 5 . >>
 eXeL@B —› Основной форум —› Антиотладочные приемы

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

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