الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]تعطيل درايفر السيدي روم و درايفر الفلاش ميموري

مغلق
بدأه T15 في 17 فبراير 2008 · 15 رد · 8,812 مشاهدة · في أرشيف قسم Windows APIs
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

ما ادري اذا احد عنده خبر عن امر او كود للقيام بتعطيل درايفر السيدي روم و الفلاش ميميوري

والعكس

شاكر لكم

#2

وجدت الحل وهو عن طريق الريجستري

وجاري عمل البريمج اوالباتش الآن

#3

ما تحتاجه يتم عن طريق gpedit.msc لكن اين يتم حفظ بياناتها في الريجستري لا اعلم.

بأي حال لا يوجد "وظيفة" تنفذها مباشرة لهذا الغرض + لو وضعت ما توصلت إليه للآخرين يعد أفضل.

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

مرحبا اخوي Junkie

قمت بعمل البريمج وتمت تجربتة

الحل:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR

وتعديل قيمة الStart لـ4 Hexadecimal

وبكذا تتعطل أجهزة التخزين عبر منفذ الusb

اما بالنسبة ل السيدي روم عن طريق

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cdrom

وتعديل قيمة الStart لـ4 Hexadecimal

ارجو انها تفيد الاعضاء

وهناك طريقة آخرى

عن طريق انشاء ملفات من نوع .reg

واكتب داخله

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]

"Start"=dword:00000004

وهذا للتمكين

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]"Start"=dword:00000003

تم تعديل هذه المشاركة بواسطة Junkie في 20 فبراير 2008 في 16:44

#5

انظر الى هذا الكود

procedure TMainForm.LockCDROMs;
var
 w: dword;
 Root: string;
 i: byte;
begin
 w := GetLogicalDrives;
 Root := '#:';
 for i := 0 to 25 do
 begin
   Root[1] := Char(Ord('A') + i);
   if (W and (1 shl i)) > 0 then
	 if GetDriveType(PChar(Root)) = DRIVE_CDROM then
	 begin
	   DriveLetter := Copy(Root, 1, Length(Root) - 1);
	   CD_Lock(True, DriveLetter)
	 end
 end;
end;

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#6

انظر الى هذا الكود

procedure TMainForm.CD_Lock(Locked: Boolean, DriveLetter: string);
const
 IOCTL_STORAGE_MEDIA_REMOVAL = $002D4804;
var
 hDrive: THandle;
 Returned: DWORD;
 DisableEject: boolean;
begin
 hDrive := CreateFile(PChar('.' + DriveLetter), GENERIC_READ,
   FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
   0);
 if GetLastError <> 0 then
   MessageDlg('Error:' + IntToStr(GetLastError), mtError, [mbOK], 0);
 try
   DisableEject := Locked;
   if not DeviceIoControl(hDrive,
	 IOCTL_STORAGE_MEDIA_REMOVAL, // PREVENT_MEDIA_REMOVAL,
	 @DisableEject,
	 SizeOf(DisableEject),
	 nil,
	 0,
	 Returned,
	 nil) then
	 MessageDlg('Ошибка:' + IntToStr(GetLastError), mtError, [mbOK], 0)
 finally
   CloseHandle(hDrive)
 end;
end;

.............................................

تم تعديل هذه المشاركة بواسطة romanof في 22 فبراير 2008 في 14:25

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#7

معلش بالعربي يا روفا :P

اللي فهمته ان الشفرة ستقوم فقط بعدم تمكين ازالة الاجهزة الملحقة بالصورة النظامية :wacko:

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#8

يبدو ان هناك خطا في هذا البرنامج احاول تنفيذة ولكن لا فائدة عموما

هذا

//=================================================
function LockMedia(ADriveLetter: Char; ALock: Boolean): Boolean;
var LWStatus: Hwnd;
	LTemp: Cardinal;
	LPMR32: Boolean;
Const IOCTL_STORAGE_MEDIA_REMOVAL = $2D4804;
begin
  LwStatus := CreateFile(PChar('\\.\' + ADriveLetter + ':'), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
  LPMR32 := ALock;
  if LwStatus <> INVALID_HANDLE_VALUE then
  begin
	result := DeviceIoControl(LwStatus, IOCTL_STORAGE_MEDIA_REMOVAL, @LPMR32, sizeof(LPMR32), nil, 0, LTemp, nil);
	CloseHandle(LwStatus);
  end else result := false;
end;

procedure TMainForm.Button1Click(Sender: TObject);
begin
  LockMedia('I',True);
  //
end;
//=================================================
procedure TMainForm.Button1Click(Sender: TObject);
begin
  LockMedia('I',False);
  //
end;
//=================================================

هذا الكود يعطل الCD

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#9

اوه انتظر عندما كنت اقرأ removal خطر في بالي الفلاش.. تمام هيك وصلت الفكرة :)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10

شكراً اخوي romanof

بس هذا الكود باي لغة مكتوب؟

عموماً هذه الاكواد اللي سويتها للي يبغا يستفيد منها مستقبلاً

لتعطيل أجهزة التخزين المحمولة

My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", 4)

ولتعطيل الCD-ROOM

My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom", "Start", 4)

ولتعطيل الFloopy Disk

My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Flpydisk", "Start", 4)
		My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Sfloppy", "Start", 4)

طبعاً مكتوبة بال VB .NET

تم تعديل هذه المشاركة بواسطة T15 في 22 فبراير 2008 في 20:18

#11

بالاذن من romanof, مكتوب بالدلفي

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#12
T15 كتب:
طبعاً مكتوبة بال VB .NET

إذاً لم طرحته في قسم الAPI؟؟؟؟ :S

#13

ممكن حد يحول الكود الى C or C++

لانى مش فاهم حاجة من المكتوب

بســم الله الـرحمــن الرحيــم

[يمين]مرة سألتنى نفسى هل نستطيع هزيمة اسرائيل والبلاد المعادية للاسلام؟

فاجبت هذا ممكن ولكن علينا اولا ان نتمسك بعقديتنا

وثانيا اذا كان معدل ما نكتبه وما يتم تطبيقه من اوراق بحثية يبلغ ضعف الدولة المراد هزيمتها

ثالثا اذا كنا امة عربية واحدة

[وسط]مواطن مسلم من الجمهورية العربية المتحدة

[/يمين] [/وسط]

#14

كود جميل ,, مع تغييرات طفيفة :

[color= #0000ff;]bool LockMedia[color= #000000;]([color= #0000ff;]char Drive, [color= #0000ff;]bool flag[color= #000000;])

[color= #000000;]{

	DWORD dwRet;

	PREVENT_MEDIA_REMOVAL pmr;

	[color= #0000ff;]char device[color= #000000;][[color= #ff0000;]16[color= #000000;]] [color= #000000;]= [color= #A31515;]"";

	[color= #0000ff;]bool rc;

	HANDLE hDevice;

 

	pmr.[color= #808000;]PreventMediaRemoval [color= #000000;]= flag;

	_snprintf[color= #000000;](device, [color= #0000ff;]sizeof[color= #000000;](device[color= #000000;]), [color= #A31515;]"[color= #A31515; font-weight: bold;][color= #A31515; font-weight: bold;].[color= #A31515; font-weight: bold;]%c:", Drive[color= #000000;]);

	hDevice [color= #000000;]= CreateFile[color= #000000;](device, GENERIC_READ[color= #000000;]|GENERIC_WRITE, [color= #ff0000;]0, [color= #ff0000;]0, OPEN_EXISTING, [color= #ff0000;]0, [color= #ff0000;]0[color= #000000;]);

	[color= #0000ff;]if [color= #000000;](hDevice [color= #000000;]== INVALID_HANDLE_VALUE[color= #000000;]) [color= #0000ff;]return false;

	rc [color= #000000;]= DeviceIoControl[color= #000000;](hDevice, IOCTL_STORAGE_MEDIA_REMOVAL, 

		[color= #000000;]&pmr, [color= #0000ff;]sizeof[color= #000000;](pmr[color= #000000;]), [color= #ff0000;]0, [color= #ff0000;]0, [color= #000000;]&dwRet, [color= #ff0000;]0[color= #000000;]);

	CloseHandle[color= #000000;](hDevice[color= #000000;]);

	[color= #0000ff;]return rc;

[color= #000000;]};

تم تعديل هذه المشاركة بواسطة GamingMasteR في 17 أغسطس 2008 في 10:22

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#15

اخى لا اعرف كيف اشكرك

بســم الله الـرحمــن الرحيــم

[يمين]مرة سألتنى نفسى هل نستطيع هزيمة اسرائيل والبلاد المعادية للاسلام؟

فاجبت هذا ممكن ولكن علينا اولا ان نتمسك بعقديتنا

وثانيا اذا كان معدل ما نكتبه وما يتم تطبيقه من اوراق بحثية يبلغ ضعف الدولة المراد هزيمتها

ثالثا اذا كنا امة عربية واحدة

[وسط]مواطن مسلم من الجمهورية العربية المتحدة

[/يمين] [/وسط]

#16

وهذا هو الجزء الخاص بالفلاش ميمورى

LONG CCDLockDlg::LockFlash(DWORD key)
{
	LONG result;

	HKEY hKey1;

	DWORD data=key;//00000003;
	DWORD *pdata=&data;


	LONG resultofSetKey;


	result=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Services\\USBSTOR",NULL,KEY_SET_VALUE,&hKey1);

	if(result==ERROR_SUCCESS)
	{
		resultofSetKey=RegSetValueEx(hKey1,"Start",0,REG_DWORD,(LPBYTE)pdata,(DWORD)(sizeof(pdata)));
		RegCloseKey(hKey1);
	}
	else
	{
		RegCloseKey(hKey1);
	}
	return result;	
}

بســم الله الـرحمــن الرحيــم

[يمين]مرة سألتنى نفسى هل نستطيع هزيمة اسرائيل والبلاد المعادية للاسلام؟

فاجبت هذا ممكن ولكن علينا اولا ان نتمسك بعقديتنا

وثانيا اذا كان معدل ما نكتبه وما يتم تطبيقه من اوراق بحثية يبلغ ضعف الدولة المراد هزيمتها

ثالثا اذا كنا امة عربية واحدة

[وسط]مواطن مسلم من الجمهورية العربية المتحدة

[/يمين] [/وسط]

هذا الموضوع مغلق.

مواضيع مشابهة