ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

20.08.2009, 01:34
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
как вариант FindResource --> LoadResource --> LockResource
потом имея указатель на ресурс запись его в файл посредством WinApi (их благо много)
ps: размер файла узнаем через SizeofResource
код залить немогу тк с Делфи посл время дружу не очень
|
|
|

20.08.2009, 01:41
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от Jes
как вариант FindResource --> LoadResource --> LockResource
потом имея указатель на ресурс запись его в файл посредством WinApi (их благо много)
ps: размер файла узнаем через SizeofResource
код залить немогу тк с Делфи посл время дружу не очень
Жаль... без примера хз как реализовать ;(
|
|
|

20.08.2009, 02:00
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
эхх , как то так ;)
Код:
Info:= FindResource(0, 'ИмяРесурса', rt_RCData);
MyFile:= CreateFile(PChar('нехорошие_вещи.exe'), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(MyFile, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), BytesWritten , nil);
CloseHandle(MyFile);
// ps: MyFile , Info , BytesWritten :DWORD;
|
|
|

20.08.2009, 17:50
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме: 5209663
Репутация:
357
|
|
Как через Delphi узнать IP сайта, зная его доменное имя?
Последний раз редактировалось НTL; 20.08.2009 в 19:46..
|
|
|

20.08.2009, 17:57
|
|
Новичок
Регистрация: 17.08.2009
Сообщений: 2
Провел на форуме: 1683
Репутация:
0
|
|
Вопрос такой. Что надо написать в обработчике OnClick для RadioButton,чтобы при наступлении этого события обработчик вырубал комп?Ну, или посылал его в спящий режим?
|
|
|

20.08.2009, 18:41
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
Код:
function GetWinVersion: String;
var
VersionInfo : TOSVersionInfo;
OSName : String;
begin
// устанавливаем размер записи
VersionInfo.dwOSVersionInfoSize := SizeOf( TOSVersionInfo );
if Windows.GetVersionEx( VersionInfo ) then
begin
with VersionInfo do
begin
case dwPlatformId of
VER_PLATFORM_WIN32s : OSName := 'Win32s';
VER_PLATFORM_WIN32_WINDOWS : OSName := 'Windows 95';
VER_PLATFORM_WIN32_NT : OSName := 'Windows NT';
end; // case dwPlatformId
Result := OSName + ' Version ' + IntToStr( dwMajorVersion ) + '.' + IntToStr( dwMinorVersion ) +
#13#10' (Build ' + IntToStr( dwBuildNumber ) + ': ' + szCSDVersion + ')';
end; // with VersionInfo
end // if GetVersionEx
else
Result := '';
end;
procedure ShutDown;
const
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege'; // Borland forgot this declaration
var
hToken : THandle;
tkp : TTokenPrivileges;
tkpo : TTokenPrivileges;
zero : DWORD;
begin
if Pos( 'Windows NT', GetWinVersion) = 1 then // we've got to do a whole buch of things
begin
zero := 0;
if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
begin
MessageBox( 0, 'Exit Error', 'OpenProcessToken() Failed', MB_OK );
Exit;
end; // if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)
if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
begin
MessageBox( 0, 'Exit Error', 'OpenProcessToken() Failed', MB_OK );
Exit;
end; // if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)
// SE_SHUTDOWN_NAME
if not LookupPrivilegeValue( nil, 'SeShutdownPrivilege' , tkp.Privileges[ 0 ].Luid ) then
begin
MessageBox( 0, 'Exit Error', 'LookupPrivilegeValue() Failed', MB_OK );
Exit;
end; // if not LookupPrivilegeValue( nil, 'SeShutdownPrivilege' , tkp.Privileges[0].Luid )
tkp.PrivilegeCount := 1;
tkp.Privileges[ 0 ].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges( hToken, False, tkp, SizeOf( TTokenPrivileges ), tkpo, zero );
if Boolean( GetLastError() ) then
begin
MessageBox( 0, 'Exit Error', 'AdjustTokenPrivileges() Failed', MB_OK );
Exit;
end // if Boolean( GetLastError() )
else
ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 );
end // if OSVersion = 'Windows NT'
else
begin // just shut the machine down
ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 );
end; // else
end;
procedure TfrmMain.RadioButton1Click(Sender: TObject);
begin
ShutDown;
end;
Взято с Исходников.ru
|
|
|

20.08.2009, 18:48
|
|
Новичок
Регистрация: 17.08.2009
Сообщений: 2
Провел на форуме: 1683
Репутация:
0
|
|
Спасибо
|
|
|

20.08.2009, 23:03
|
|
Новичок
Регистрация: 20.08.2009
Сообщений: 4
Провел на форуме: 14412
Репутация:
0
|
|
DosiaПомое
му так намного легче будет
Код:
procedure TfrmMain.RadioButton1Click(Sender: TObject);
begin
ExitWindowsEx(EWX_FORCE or ewx_force,0);
end;
Сообщение от НTL
Как через Delphi узнать IP сайта, зная его доменное имя?
Код:
uses winsock;
function IPAddrToName(IPAddr : string): string;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup($101, WSAData);
SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr));
HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt <> nil then
result := StrPas(Hostent^.h_name)
else
result:='';
end;
//Пример использования
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := IPAddrToName(Edit1.Text);
end;
взято с delphisources
|
|
|

20.08.2009, 23:14
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
procedure TfrmMain.RadioButton1Click(Sender: TObject);
begin
ExitWindowsEx(EWX_FORCE or ewx_force,0);
end;
Чушь, сам то пробовал? ТС просил не logoff, а shutdown (в частности на XP именно logoff). Ты думаеш определение версии окон просто так от нечего делать сделали? Чтобы программа побольше занимала?
|
|
|

21.08.2009, 00:22
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме: 5209663
Репутация:
357
|
|
Сообщение от Nobody4alj
DosiaПомое
му так намного легче будет
Код:
procedure TfrmMain.RadioButton1Click(Sender: TObject);
begin
ExitWindowsEx(EWX_FORCE or ewx_force,0);
end;
Код:
uses winsock;
function IPAddrToName(IPAddr : string): string;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup($101, WSAData);
SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr));
HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt <> nil then
result := StrPas(Hostent^.h_name)
else
result:='';
end;
//Пример использования
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := IPAddrToName(Edit1.Text);
end;
взято с delphisources
1. Я уже нашол
2. это не то, это зная IP узнать имя (Проверяй)
3. и взять это с исходников.ру
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|