Lazarusta root şifresi isteyen komutları nasıl çalıştırabilirim?

(Bekir Uzun) #1

Lazarusta root şifresi isteyen komutları nasıl çalıştırabilirim?

0 Likes

(Ali KOCA https://t.me/HurrPardus) #2

Merhaba;
Burada böyle bir suâl var.
https://forum.lazarus.freepascal.org/index.php?topic=14479.0

Belki buradaki işinizi görebilir. Görmezse, siz de tekrar suâlden devam edebilir veya yeni başlık açabilrisiniz.

Bir de telegram grubu var.


Eğer forumdan bir netîce alamazsanız buraya da sorabilirsiniz.

Selamlar.

0 Likes

(Bekir Uzun) #3

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,process;

type

{ TForm1 }

TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Memo1: TMemo;
Process1: TProcess;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private

public

end;

var
Form1: TForm1;
a:string; //şifre

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Height:=600;
form1.Width:=800;
form1.Position:=poDesktopCenter;
form1.Edit1.Left:=100;
form1.Edit1.Top:=0;
form1.Edit1.Height:=30;
form1.Edit1.Width:=690;
form1.Edit1.Clear;
form1.Memo1.Left:=10;
form1.Memo1.Top:=40;
form1.Memo1.Height:=550;
form1.Memo1.Width:=780;
form1.Memo1.Clear;
Process1.Options:=[poUsePipes];
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
a:=‘123456’;//şifre
Process1.Create(nil);
Process1.CommandLine:=edit1.text;
Process1.Execute;

a:= a + LineEnding;
Process1.Input.Write(a[1],Length(a));
a:= ‘%*’;
a:= ‘’;
Process1.Execute;

Memo1.Lines.LoadFromStream(Process1.Output) ;

end;

end.

Deneme amaçlı bunu yazdım.
Bazı komutlar çalışmıyor.
edit kutucuğuna yazılan bazı komutlar hata veriyor.
ls
pwd
date
sudo -S iwconfig
sudo -S iwconfig --version
sudo -S fdisk -l
komutları çalışıyor.
ama
help
sudo -S iwconfig --help
time
Komutları çalışmıyor nedense. :slight_smile:

0 Likes

(Ali KOCA https://t.me/HurrPardus) #4

Sudo yu böyle yazmamak gerekiyor olabilir. Pipe ile kullanılıyordu zannedersem.

0 Likes

(𝗄𝖺𝖺𝗇) #5

Önceden yazdığım basit bir fonksiyon işinize yarayabilir;

function TfrmAna.RootKontrol(pas: string): Boolean;
var
  kon:TProcess;
  mem:TMemo;
begin
  kon:=TProcess.Create(nil);
  mem:=TMemo.Create(nil);
  kon.Options:=[poUsePipes];
  kon.CommandLine:='sh -c "echo '+QuotedStr(pas)+' | sudo -S ifconfig"';
  kon.Execute;
  mem.Lines.LoadFromStream(kon.Output);
  result:=length(trim(mem.Text))>0;
  kon.Free;
  mem.free;
end;
1 Like

(Ali KOCA https://t.me/HurrPardus) #6

Evet, evvellden de Kaan hocam başka bir konuda benzer bir komut yazmıştı.
Oradan aklımda kalmış.
Teşekkürler.

Selamlar.

0 Likes

(system) kapatıldı #7

Bu konu son cevaptan 30 gün sonra otomatik olarak kapatıldı. Yeni cevap girilmesine izin verilmiyor.

0 Likes