· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Дизассемблирование

Посл.отвђт Сообщенiе


Дата: Сен 26, 2004 22:44:53

Я тута в aspack увидел:

public main
main proc near
pusha
call first_anti
db 0E9h ; first bad byte :)
main endp
main_metka:
jmp short sekond_anti
first_anti:
pop ebp
inc ebp
push ebp
retn ; jmp main_metka
sekond_anti:
call start_code
db 0EBh ; sekond bad byte :)
start_code:

Это же не писк моды дизассемблирования?! :)))
Какие еще есть?


Дата: Сен 27, 2004 10:17:12

Что-то я не понял что это за first Bad Byte и sekond Bad Byte. jmp без операндов. Для чего? И что случится при их выполнении?


Дата: Сен 27, 2004 11:39:49

А ты уверен что они выполнятся? ;))))


Дата: Сен 27, 2004 12:02:08 · Поправил: shoo

(Эта) подобная ;) тема как раз недавно обсуждалась в треде А бывает относительный безусловный jmp? ;)

не полностью понятно что кого куда вызывает, но вызываемой процедуре никто не запрещает сделать, например, следующее:
mov ebx,dword ptr [esp]
mov byte ptr куда-то,[ebx] ; читаем байт, следующий за call
inc dword ptr [esp] ; увеличиваем адрес возврата на один
                    ; (на следующий байт)


еще: вызываемая процедура также может никогда и не возвращаться в вызываемую (на то он и асьм ;)


Дата: Сен 27, 2004 12:10:35

shoo
Возми Aspack пройди в VA Entry Point и будет ли тебе и тогда казаться что темы похожи?


Дата: Сен 27, 2004 12:18:12

виноват - уже исправился ;) я просто рассуждал исходя из приведенного кода ;)


Дата: Сен 27, 2004 12:26:33

А еще методы противодействия как я просил можешь сказать?


Дата: Сен 27, 2004 12:47:52

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

а это точно так:
„call start_code “
не call main, который возвращает в start_code потом?

я вообще-то не асс ;) наверное, в иде можно скрипт лепить для таких дел, но их тоже на все случаи не слепишь (полиморфизм, однако ;)


Дата: Сен 27, 2004 12:56:19

Да я увидел это в иде, но можно и в Hiew, ваще прикольная вещь, но легко распознается нечто подобное было в Образ Мышления Ida pro:
add si,6
jmp si
b9
А тут не посредственно с адресами без регистров, Есть ли еще методы противодействия?


Дата: Сен 27, 2004 13:23:49 · Поправил: shoo

ну, путать можно по разному, даже не так явно
в фрейме процедуры взять и впендюрить адрес в [ebp+4], после корректного leave пойдем по этому адресу. а вообще, если честно, не понял, противодействие чему ты имеешь ввиду - дизассемблеру или наглому коду? если коду - то все случаи не рассмотришь. Я было анализировал почтовый троян (который ко мне пришел по почте, хе-хе) - там корректная процедура main, которая почти ничего не делает и культурно завершается. там просто пишется двойное слово, которое затирает "культурное завершение" нехорошим кодом, который во время выполнения программы вызывает исключение, а обработчик размещен в ресурсах, который и расшифровывает зашифрованый текст программы. Пришлось вручную менять байты согласно командам и передизассемблировать, чтобы это понять. А если ты хочешь противодействовать взлому - это вопрос не только технический, но и психологический, так как проведя дизассемблер ты заставишь человека с кислой рожей наклонится к монитору - и тут уже держись ;) лучше поводить за нос, чем резко явно мусорить (мнение мое личное)


Дата: Сен 27, 2004 13:34:21

Спасибо


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.059