برای طرح سوال و دسترسی به آموزش ها سورس کدهای بیشتر به مجموعه xstack و یا به کانال ما در تلگرام کانال ما در تلگرام بپویندید.

اجرای برنامه در سطح دسترسی root در lazarus

به نام دانای برحق

مقدمه

شاید اگر شما با لینوکس و دلفی با هم کار کردید سراغ لازاروس هم رفته باشید این پلنگ مظلوم خوب با برنامه نویس های دلفی راه میادش با وجود لنگ زدن بازم سعی می کنه هواتو داشته باشه اما مسائله ای تو لینوکس وجو داره که توی ویندوز هم بخشی از بدل زده شده تو لینوکس دسترسی برنامه ها دو حالت هستش حالت کاربر عادی یا کاربر root یا ریشه که دسترسی کامل رو سیستم داره.
همین حالت تقریبا همون معادل run as admin در ویندوز هست اما با تفاوت های فاحش که اینجا جای بحث نیست.

 

Linux_Android_Root01
این مطلب فک نکنم حتی به انگلیسی وجود داشته باشه ولی ما فقط به پارسی منتشرش می کنیم.

موارد مورد استفاده :

یونیت (ها):

 Process

 

تابع (ها) :

 GetUserDir , RunCommand

سایر موارد

 Application class, gksu app

نحوه run شدن برنامه در حالت دسترسی root :

روی فرمتون دوبار کلیک کنید تا رویداد FormCreate برای ویرایش نمایش داده شود سپس کد زیر رو داخل کپی کنید:

uses Process;
...
procedure xxxx.FormCreate(Sender: TObject);
var
   outp : String;
...
begin
  if Pos('root',GetUserDir()) > 0 then
  begin
     ShowMessage('now root access N-Joy');
  end
  else
  begin
    //ShowMessage('non-root');
    RunCommand('gksu',' '+Application.ExeName,outp);
    //ShowMessage(outp);
    Application.Terminate;
  end;
end;

 

البته با توجه با تغییرات در حد درک برنامه نویسش و توضیحات:

یونیت مورد نظر رو اضافه می کنیم با تابع GetUserDir و جستجو در آن متوجه میشم که این یوزر ریشه است یا خیر؟
در صورت ریشه نبودن دستور RunCammand رو اجرا می کنیم این دستور کارش خیلی ساده است با دستور gksu پسورد رو از کاربر میخواد با این برنامه برنامه خودمون رو دوباره باز می کنیم.

به همین سادگی پس از باز شدن برنامه از کاربر password  درخواست میشه و پس از ورود صحیح برنامه با حالت روت بالا میادش.

اول از همه کوچک ترین عضو مجموعه 4xmen بنده حقیر هستم. در ثانی یک توسعه دهنده هستم زمینه های تخصصی کارم :‌ Delphi, PHP, C++ ,Python, JavaScript, Unity game engine, C#, asm و علاقه مند به لینوکس، RCE ، کریپتوگرافی هستم. تا الان حضرت حق اینا رو به ما داده و هر وقت که بخواد ازمون میگیره دست خودشه. یا حق، با حق، تا حق
نوشته ایجاد شد 96

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته های مرتبط

متنی که میخواهید برای جستجو وارد کرده و دکمه جستجو را فشار دهید. برای لغو دکمه ESC را فشار دهید.

بازگشت به بالا