ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Получение базы kernel32.dll [Asm]
  #1  
Старый 20.01.2010, 22:34
Аватар для isqad88
isqad88
Новичок
Регистрация: 16.12.2009
Сообщений: 14
Провел на форуме:
20162

Репутация: 0
По умолчанию Получение базы kernel32.dll [Asm]

Вот решил провести эксперимент и написал (не без помощи сайтов) прогу (masm32), которая определяет адрес базы kernel32.dll:
Код:
.386
option casemap:none
.model flat, stdcall
;----------------------------include---------------------
includelib \masm32\lib\kernel32.lib
include \masm32\include\kernel32.inc
;--------------------------------------------------------

.data
    db 0

.code
    start:
        mov esi, [esp]
        call GetBase; после вызова в eax база kernel32.dll
        invoke ExitProcess, 0

;#####################################GetBase###############################
;
;                 Получение базы kernel32.dll
;
;###########################################################################
GetBase:
   
	push esi;сохраняем все регистры, которые используются
	push ecx

	pushf;сохраняем регистр флагов
	and esi,0FFFF0000H;гранулярность выделения памяти
	mov ecx,6;счетчик страниц

_@1:            ;проверка очередной страницы
	  
        cmp word ptr [esi], "ZM"
        jz WeGotBase
_@2:
        sub esi, 10000h
        loop _@1
WeFailed:
        mov eax, 00000000h ;база не найдена
        jmp EndGetBase
WeGotBase:
    xchg eax, esi
        

EndGetBase:	
	popf;восстанавливаем значения флагов
	pop ecx
	pop esi;восстанавливаем значения регистров
	ret

;#########################################################################
;Конец процедуры GetBase
;#########################################################################
end start
В Windows XP SP3 я получил адрес базы 7C800000h в Windows 7 77140000h
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение базы kernel32.dll _Great_ Авторские статьи 1 09.07.2008 17:23
7 причин не напрягаться насчет базы данных МТС novichok Сотовый фрикинг 1 02.03.2006 15:32
Взломай базы данных и сделай популярный сайт Zaratustra Мировые новости 1 24.01.2006 15:03
Долбим Sql’ные базы данных k00p3r Чужие Статьи 0 13.06.2005 14:13



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ