[ MatezYU @ 18.12.2007. 14:09 ] @
| Da li ima neko ideju kako mogu da upisem neke parametre u registry fajl udaljenih racunara.
Hteo bih da napravim neko malo programce u kojem se nalazi lista udaljenih racunara gde bih mogao da administriram parametre koji su u registryju.
Ako zelim nesto citati iz registry-ja da li se sve to vuce preko mreze do mene pa se ponovo vraca? Koliko ce ovo gusiti mrezu i sta je najbolje resenje? |
[ savkic @ 18.12.2007. 17:41 ] @
> Da li ima neko ideju kako mogu da upisem neke parametre u registry fajl udaljenih racunara.
Pogledaj TRegistry.RegistryConnect.
> Ako zelim nesto citati iz registry-ja da li se sve to vuce preko mreze do mene pa se ponovo vraca? Koliko ce ovo gusiti mrezu i sta je najbolje resenje?
Ne prenosi se čitav fajl već samo podaci koje si tražio, naziv ključa i vrednosti, to je uglavnom mala količina podataka.
[ CaSper01 @ 18.12.2007. 23:50 ] @
Napavis jedan obican rat program slicno kao remote file manager samo sto u tvom slucaju radis sa registry bazom...
Ako imas bilo kakvo iskustvo u pisanju takvih programa , mogu ti pomoci oko source koda
[ MatezYU @ 19.12.2007. 13:05 ] @
Radi ovo sa RegistryConnect.
Thx.
Nego CaSper01 kako si mislio ovo sa RAT? Jel moze neki primer?
Imam problem sa timeout-om. Racunar koji nije dostupan zablokira program. Napravio sam da program pokupi listu racunara, i onda ide redom i odradjuje posao. Stavio sam svaki posao bude jedna nit. Ogranicio sam da u jednom momentu moze max 10 poslova da se radi zbog ogranicenja winxp sp2 na 10 konekcija. Problem mi je to sto kada je racunar ugasen treba mu oko 10 sekundi da skonta... Jel moze ovaj timeout nekako da se smanji?!
[ savkic @ 19.12.2007. 13:33 ] @
> Imam problem sa timeout-om. Racunar koji nije dostupan zablokira program.
Prvo uradi ping ili nešto slično i znaćeš da li je računar dostupan.
> moze max 10 poslova da se radi zbog ogranicenja winxp sp2 na 10 konekcija.
10 konekcija je ograničenje kod File pristupa, kod TCP/IP nema tehničkog ograničenja (ali je ograničenje u licenci).
[ MatezYU @ 19.12.2007. 13:51 ] @
Kako da ga pingujem na najlaksi nacin?
[ savkic @ 19.12.2007. 16:16 ] @
> Kako da ga pingujem na najlaksi nacin?
Šeluj windowsov ping utility.
[ MatezYU @ 20.12.2007. 08:02 ] @
[ CaSper01 @ 20.12.2007. 21:50 ] @
Vidi nisam te najbolje razumeo.Dali ti hoces da kontrolises registry nekom racunaru preko neta recimo u Americi ili u lokalnoj mrezi?
Evo ti jedna jednostavna funkcija za listanje koji su racunari na mrezi:
//=============================================================================
//--------------------Funkcija odbrojavanja racunara u LAN-u---------------------
function LAN: string;
var
Domen: string;
procedure Broji(aResource:PNetResource);
var
aHandle: THandle;
k, BufferSize: DWORD;
Buffer: array[0..1023] of TNetResource;
i: Integer;
begin
WNetOpenEnum(2,0,0,aResource,aHandle);
k:=1024;
BufferSize:=SizeOf(Buffer);
while WNetEnumResource(aHandle,k,@Buffer,BufferSize) = 0 do
for i:=0 to k-1 do
begin
if Buffer.dwDisplayType = RESOURCEDISPLAYTYPE_SERVER then
Domen := Domen + Copy(PChar(Buffer.lpRemoteName),3,MAX_PATH) + #13#10;
if Buffer.dwUsage > 0 then
Broji(@Buffer)
end;
WNetCloseEnum(aHandle);
end;
begin
Broji(nil);
Result:=Domen;
end;
A sto se tice RAT-a napravis server i klient aplikaciju...
[ CaSper01 @ 20.12.2007. 23:10 ] @
Evo ti jedan jednostavan primer za remote reg:
// RemoteReg function by CaSper01
function RemoteReg(MachineName: string; Key: HKEY; SubKey,Name,Value: string): boolean;
var
RegKey: HKEY;
begin
Result:=true;
if RegConnectRegistry(PChar(MachineName),Key, RegKey) <> 0 then
begin
Result:=false;
showmessage('Ne mogu da se konektujem');
Exit;
end
else
begin
showmessage('Konektovan');
if RegCreateKey(RegKey, PChar(SubKey), RegKey) <> ERROR_SUCCESS then
begin
Result:=false;
showmessage('Ne mogu da napravim kljuc');
Exit;
end;
RegSetValueEx(RegKey, PChar(Name), 0, REG_SZ, PChar(Value), Length(Value));
end;
RegCloseKey(RegKey);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if RemoteReg(Edit1.Text, HKEY_LOCAL_MACHINE,
'SOFTWARE\Microsoft\Windows\CurrentVersion\run',
'TestTIKA', 'C:\WINDOWS\TestTika.exe') then
showmessage('upisano')
else showmessage('nije upisano');
end;
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.