|
|
| Посл.отвђт | Сообщен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 ;И у меня нихрена из этого не вышло |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.099 |