|
|
| Посл.отвђт | Сообщен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 |