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

 WASM Phorum —› WASM.VIROLOGY —› Защита от дампа

. 1 . 2 . >>

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


Дата: Ноя 11, 2004 03:37:58

люди пожалуйста кто может помогите
с процедурой обьясните почему не работает она
и если сможете чемто помочь вышлите пожалуйста ответ на Homadoctor@mail.ru


вот эта процедура:
AntiDAMPING:
; Óçíàåì áàçó íàøåãî ìîäóëÿ
push 0
call dword ptr [ebp + offset v_GetModuleHandleA]
mov ebx, eax


; Òàì, êàê èçâåñòíî íàõîäèòüñÿ DOS çàãëóøêà
assume eax: PTR IMAGE_DOS_HEADER
; Â êîòîðîé ñìåùåíèå íà pe çàãîëîâîê
mov eax, [eax].MZ_lfanew
add eax, ebx
assume eax: PTR IMAGE_NT_HEADERS

;Â êîòîðîì (à èìåííî â OptionalHeader'e) è õðàíèòüñÿ ðàçìåð è áàçà ìîäóëÿ
lea ebx, [eax].NT_OptionalHeader.OH_SizeOfImage
lea ecx, [eax].NT_OptionalHeader.OH_ImageBase
push ecx
push ebx
mov edx,[ebp+offset v_VirtualProtect] ;Ïðîöåäóðà èçìåíåíèÿ òèïà äîñòóïà ê ñòðàíèöå ïàìÿòè.
push eax
push PAGE_READWRITE
push ebx
push ecx
call edx ;Äåëàåì Call íà ïðîöåäóðó èçìåíåíèÿ òèïà äîñòóïà ê ñòðàíèöå
pop ecx
pop ebx
mov dword ptr [ebx], 798h
mov dword ptr [ecx], 0000h
ret


Дата: Ноя 11, 2004 10:09:25

нифига не понял кто есть offset v_GetModuleHandleA?


Дата: Ноя 11, 2004 10:51:14

Narkomanius

В ebp delta-смещение, получившееся в результате попытки сделать код независящий от положения в памяти
...
  call delta
delta:
  pop ebp
  sub ebp, offset delta
...


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

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


Дата: Ноя 11, 2004 12:11:28 · Поправил: Dr.Golova

Только обьяснение очень простое - дамперы читают заголовок с диска а не из памяти, так что этот код бесполезен :)


Дата: Ноя 11, 2004 12:28:19

Dr.Golova
обьяснение очень простое
Последует вопрос: "Как спрятать заголовок на диске?", а затем дальше и дальше.


Дата: Ноя 11, 2004 13:57:51

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


Дата: Ноя 11, 2004 23:27:50

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


Дата: Ноя 11, 2004 23:31:29

Тфу ты,
про название темы забыл :)


Дата: Ноя 12, 2004 00:13:47

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


ещё раз больное спасибо за поддержку и если можете то подскажите ещё что нибуть буду очень признателен.


Дата: Ноя 12, 2004 00:18:34

Dr.Golova

Я всего лишь учусь а вы профи но всёравно спасибо.


Дата: Ноя 12, 2004 01:17:33

Последний параметр, передаваемый VirtualProtect'у - указатель, куда нада сохранить старое значение, этот указатель обязателен,
если нам на старое значение пофигу,
то мона сделать так
mov eax, esp ;(!)
push ebx
mov edx, [ebp+offset v_VirtualProtect]
push eax 
push PAGE_READWRITE 
push ebx 
push ecx 
call edx 

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


Дата: Ноя 12, 2004 01:36:15 · Поправил: B_108

Мля, у меня седня день невнимательности...
mov eax, esp ;(!)
нужно ставить перед pop'ом, коего тут увы нет...
Тока lea поможет


Дата: Ноя 12, 2004 01:56:00

B_108

ты СУПЕР СПАСИБО ОГРОМНОЕ ПРИ ОГРОМНОЕ хоть ктото помог блин СПАСИБО ещё раз приезжай комне я тебя за это на рыбалку свожу ТЫ ПРОСТО ГЕНИЙ!!!!!!!!!!!!!


Дата: Ноя 12, 2004 02:13:34

B_108

Я полный тормоз и я это знаю но всё равно не мог бы ты написать то что нужно для конкретного примера который привожу сдесь я . Заранее спасибо Сергей.


Дата: Ноя 12, 2004 02:31:23

B_108


вот немного переделаная процедура я переделал рукаводствуясь твоим советом. но всё равно ERROR!!!!!!
чё за косяк то блин понять не могу.


assume eax: PTR IMAGE_DOS_HEADER
mov eax, [eax].MZ_lfanew
add eax, ebx
assume eax: PTR IMAGE_NT_HEADERS
lea ebx, [eax].NT_OptionalHeader.OH_SizeOfImage
lea ecx, [eax].NT_OptionalHeader.OH_ImageBase
push ecx
push ebx
;атрибуты страниц в этом районе на RW

;-----Я попробовал так-------------------------
lea eax,[ebp+Buff]
push ebx
push eax
push PAGE_READWRITE
push ebx
push ecx
call dword ptr [ebp+offset v_VirtualProtect]
;----------------------------------------------

pop ebx
pop ecx
; изменяем на то что нам надо ;)
mov dword ptr [ebx], 000000000h
mov dword ptr [ecx], 000000000h

;И у меня нихрена из этого не вышло

. 1 . 2 . >>


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