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

23.04.2009, 12:09
|
|
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
Провел на форуме: 813785
Репутация:
314
|
|
Сообщение от Nightmarе
Приведите пример рабочего кода как проверить занят ли файл другим процессом.
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
windows;
var
hFile:DWORD;
OFS: OFSTRUCT;
label err;
begin
hFile:=CreateFile('fsg.exe',GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0);
If hFile = INVALID_HANDLE_VALUE
Then goto err;
hFile:= OpenFile('fsg.exe', OFS, OF_READWRITE);
if hFile = INVALID_HANDLE_VALUE then
halt;
Writeln('All OK!');
readln;
halt;
err:
Writeln('Something wrong!');
readln;
end.
|
|
|

23.04.2009, 12:43
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
ЖЖжете.
The OpenFile function creates, opens, reopens, or deletes a file.
This function is provided for compatibility with 16-bit versions of Windows. In particular, the OpenFile function cannot open a named pipe. Win32-based applications should use the CreateFile function.
OpenFile устаревший аналог CreateFile
GENERIC_WRITE - какраз может послать тебя нах есл ифайл уже открыт монопольно на запись. Так что лучше всего просто напросто свотреть возможность чтения.
И вообще Label - это жесть.
Да и закрывать файл не забывай
Если дело на то пошло то
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
windows;
var
h:DWORD;
begin
h:=CreateFile('fsg.exe',GENERIC_READ, FILE_SHARE_READ,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0);
if h<>dword(-1) then
begin
Writeln('OK!');
CloseHandle(h);
end else Writeln('ERR!');
readln;
end.
|
|
|

23.04.2009, 13:08
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
А еще лучше тогда экспортировать NtCreateFile и RtlInitUnicodeString и InitializeObjectAttributes из ntdll.dll и почти напрямую делать открытие файла ) *CRAZY*
|
|
|

23.04.2009, 13:33
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от Rebit
Нада человек який решить задачки 1-курсу института
Задача типа
С меня плюсики + благодарность
Заданий много то стучите все и при цьом задания разних типов
для начала уважай собеседников и переведи все на чистый русский язык, а потом уже проси о помощи
|
|
|

23.04.2009, 20:53
|
|
Познающий
Регистрация: 05.03.2007
Сообщений: 99
Провел на форуме: 744734
Репутация:
44
|
|
Как можно в записать такой ряд в Дэлфи?
Помогите, нужно срочно

Последний раз редактировалось Mosvit; 23.04.2009 в 20:55..
|
|
|

24.04.2009, 15:31
|
|
Участник форума
Регистрация: 01.02.2005
Сообщений: 233
Провел на форуме: 748321
Репутация:
112
|
|
вот... мутка такая...
есть сторонний софт и в нем есть много конфигов...
тоесть в программе пользователь выбирает конфиг 5 например и программа обрабатывает файл например
C:\5.cfg
тоесть разные типо настройки в разных конфигах...
вот сижу и думаю.... как узнать что он использует именно этот конфиг.. из своей проги конечно...
мысль пока о поиске открытых файлах и хендлов в определенном целевом процесе...
но осилить такое я кнешно не могу... нашел примеры которые все открытые файлы у всех процесов выводят...
http://forum.sources.ru/index.php?showtopi...0&#entry1242689
но он работает блин ооочень медленно пока все переберет и тд...
может кто нить поделиться кодом как это сделать мне ??...
крайне надо .... какой день уже туплю..=((
|
|
|

24.04.2009, 17:15
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
Сообщение от Mosvit
Кому не сложно подскажите как разложить такую функцию на Делфи:

function fact(x:integer):integer;
begin
if (x=1) or (x=0) then fact:=1 else fact:=x*fact(x-1);
end;
function pow(x:real; y:integer):real;
var res:real;i:integer;
begin
res:=1;
if (y=0) then pow:=1;
if (y=1) then pow:=x;
for i:=1 to y do res:=res*x;
pow:=res;
end;
function s(x:integer):real;
var i:integer;
res:real;
begin
res:=0;
for i:=1 to 10 do begin
res:=res+(pow(-1,i)*x*pow(sin(x),i)/i);
end;
s:=res;
end;
function p(x:real):real;
var i:integer;
res:real;
begin
res:=1;
for i:=1 to 6 do begin
res:=res*(pow(x,i)/fact(i));
end;
p:=res;
end;
только не забудь что sin(x) работает с радианами а не с градусами)
|
|
|

24.04.2009, 17:31
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
AHTOLLlKA
Если ты пишешь на чём то вроде пшп или с++ то есть некие библиотеки, которые позволяют скажем получить имя файла, в котором мы работаем. 
|
|
|

24.04.2009, 18:00
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
Сообщение от Mosvit
Как можно в записать такой ряд в Дэлфи?
Помогите, нужно срочно

Кароч могу разложить ряд и написать сумму игриков.
aX^5+bX^4+cX^3+dX^2+eX+f
a,b,c,d,e,f - коэффициенты,
график сам делай!!!
function pow(x:extended; y:extended):extended;
begin
pow:=exp(y*(ln(x)));
end;
function y(x:extended; n:integer):extended;
var
res:extended;
i:integer;
begin
i:=n;
res:=0;
while (pow(x,i)>=pow(10,-6)) do begin
res:=res+pow(x,i);
dec(i);
end;
y:=res;
end;
Такая вот функция вышла.
тебе осталось только пройти по всем иксам и перемножить положительные у и разделить на колличество. а отрицательные сложить и тоже разделить на колличество.
Последний раз редактировалось KaZ@NoVa; 24.04.2009 в 18:07..
|
|
|

24.04.2009, 18:06
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Вот задумал написать функцию определения типа интернет соединения, какой IP внешний или NAT, пришёл к выводу что это проще всего сделать через данные с ipconfig, но дальше затёрся, не знаю по каким параметрам парсить и каким образом...
Кто может помочь, подскажите пожалуйста как отпарсить по данным ipconfig является ли IP адрес внешним или используется NAT ?
Одна идея, проверить IP адрес через сайт проверки IP и сравнить его с текстом из ipconfig, но можно ли сделать как-то проще без коннекта к инету?
Если кто знает как, просьба привести код как это реализовать.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|