تسجيل الدخول

مشاهدة النسخة كاملة : التحدي الكبير لأفضل المبرمجين



RealNoooH
05-11-2007, 07:57 PM
السلام عليكم

بالإشارة إلى الموضوع أعلاه وعند تجوالي في أحد المنتديات الأجنبية وجدت أن أحد الأعضاء يتباهى ويتفاخر بأن لديه الطريقة الوحيدة والأفضل لأخفاء البرنامج (Process) من إدارة المهام، حتى أنه قال أن هذه الطريقة -التي اكتشفها على حد قوله - ليس لها مثيل
وأنه يتحدى أفضل المبرمجين لإخفاء البرنامج من إدارة المهام. . .

والمطلوب هل من مبرمج لديه الطريقة لإخفاء البرنامج من إدارة المهام. . .

ملاحظة هامة: ليس المقصود إخفاء البرنامج من قائمة التطبيقات إنما من قائمة العمليات الموجود في إدارة المهام.

تحياتي (NoooH)

Argonaut
06-11-2007, 03:34 AM
و عليكم السلام

هذه هي الطريقة

Private Sub Form_Load()
App.TaskVisible = False
End Sub

أبو هاجر الحلوة
06-11-2007, 12:52 PM
لعله يقصد إخفاء البرنامج من الـ Task manager لفعل ذلك عليك تحويل التطبيق إلى
Service



Private Const RSP_SIMPLE_SERVICE = 1
Private Const RSP_UNREGISTER_SERVICE = 0
Private Declare Function GetCurrentProcessId Lib "kernel32.dll" () As Long
Private Declare Function GetCurrentProcess Lib "kernel32.dll" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32.dll" (ByVal dwProcessID As Long,ByVal dwType As Long) As Long
Public Sub MakeService()
Dim Pid As Long
Dim regserv As Long
Pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(Pid, RSP_SIMPLE_SERVICE)
End Sub
Public Sub NoService()
Dim Pid As Long
Dim regserv As Long
Pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(Pid, RSP_UNREGISTER_SERVICE)
End Sub
'Form_Load لتحويل التطبق إلى خدمة نضع هذا الكود في الحدث
Call MakeService
'Form_QueryUnload و في الحدث
Call NoService

أبو هاجر الحلوة
07-11-2007, 01:55 PM
الكود أعلاه لا يعمل إلا مع الـ Win 95,98,Me و لا يعمل مع الـ Win 2000,Xp ...................
يظهر أني بحاجة لتحديث معلوماتي ................... كود الأخ حسام أسهل و أحسن...........أول مرة أعرف الخاصية TaskVisible (:

RealNoooH
07-11-2007, 08:53 PM
السلام عليكم شباب،

أولاً شكراً على الردود والتي إن دلّت ، فإنما تدل على أن الوطن العربي والإسلامي لا يخلو من المبدعين والطاقات الهائلة التي يمتلكونها . . .

المهم أن جميع الطرق السابقة وللأسف الشديد مجربه من زمان والمطلوب إخفاء البرنامج من إدارة المهام (TaskMGR) تحديداً من قائمة العمليات، لأنني كما أسلفت سابقاً وعند تجوالي في إحدى المنتديات الأجنبية وجدت أحد المغرورين يتباهى بالطريقة الخارقة - على حد قوله - والتي تمكنه من إخفاء البرنامج من إدارة المهام .

ملاحظة أخيرة: لقد وجدت بالفعل برنامج يقوم بإخفاء نفسه من إدارة المهام مما يعني أن الطريقة ممكنه جداً.

وتقبلوا تحياتي (RealNoooH)

ali_stone_server@yahoo.com
ali_stone_server@hotmail.com

Argonaut
08-11-2007, 12:59 AM
لقد وجدت بالفعل برنامج يقوم بإخفاء نفسه من إدارة المهام مما يعني أن الطريقة ممكنه جداً

ممكن ترسل البرنامج او رابط الموقع كي ادرس عمل البرنامج و ارى ان كنت اقدر ان افيدك بشيء .

وشكرا"

RealNoooH
09-11-2007, 04:37 PM
السلام عليكم

وهذا البرنامج كإثبات على الطريقة ممكنة جداً.

يرجى التحميل من المرفقات .

تحياتي (RealNoooH)

أبو هاجر الحلوة
10-11-2007, 02:22 AM
راجع المرفق لترى نتيجة فحص الـ Avira للتطبيق الذي قمت بإرفاقه.........؟؟؟؟؟؟؟؟؟؟؟

قم بارفاق المصدر..................فهو أسلم .

أبو هاجر الحلوة
12-11-2007, 08:00 PM
السلام عليكم و رحمة الله
بعد تحميل البرنامج أعلاه قمت بتفكيك موارده بواسطة Resources Hekers فتبين أنه يحتوي على ثلاث موارد مخصصة عبارة عن ثلاث ملفات تنفيذية (PE) ثم قمت بتفكيكه بواسطة VbDecompiler فتبين أنه يتكون من uعدة وحدات Class من بينها وحدة cHideProcess قمت بالبحث عنها بواسطة الجوجل و كانت النتيجة الحصول على نفس البرنامج مع اختلاف في الواجهة بنفس الـ Class و نفس الـ Resources لكنه مفتوح المصدر
يمكنك تحميله من هنا PSC (http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=66529)
ضع اسم الـ Class في الجوجل و ستحصل على نتائج أخر بالصينينية

RealNoooH
12-11-2007, 09:04 PM
السلام عليكم

تسلم يا أخ أبو هاجر والله أنك لقيت المطلوب بالتمام والكمال . .

تحياتي (RealNoooH)

أبو هاجر الحلوة
13-11-2007, 12:56 AM
الحمد لله............................

هناك أيضا كود بالدلفي أبسط و أخف بكثير من البرنامج السابق لم أجربه إلا أن صاحب الكود يبدو واثقا منه...ربما سأقوم بترجمته إلى الـبيسك إن تيسر ذلك أو سأقوم بنشره هنا على حالته الأصلية إن لم أتمكن من ذلك.

للإشارة ينبغي التنبيه هنا على أن هذا النوع من الأكواد يبدو خطيرا لكن هذا لا يعني احتكاره لأنه متداول بين غير العرب لهذا لا يجب تهويل الأمر ...........ارجع للجوجل مثلا و أكتب مثلا code injection أو أي كلمات لها تعلق بموضوعنا هذا...............و سترى النتيجة الكبيرة و بلغات عديدة.........................و مع هذا تبقى تبعة إستعمال أي كود على نية المستعمل......................إن خيرا فخير أو شرا فشر.

RealNoooH
17-11-2007, 07:22 PM
السلام عليكم

فعلاً الأخ (أبوهاجر الحلوة) عضو مميز جداً فمن خلال مشاركاتك وتعليقاتك المهذبة والسلسة أجد أنك من أفضل أعضاء المنتدى .

تعليق بسيط على آخر رد من الأخ (أبوهاجر الحلوة) وبالنسبة لتهويل الأمر فالتهويل ليس من عندي فعلاً بل من أحد الأعضاء في إحدى المنتديات الأجنبية كما أسلفت سابقاً . . .

أما عن الأكواد التي حاولت البحث عنها في جوجل فلم أجد أفضل من الكود الذي أشار إليه الأخ (أبوهاجر الحلوة).

تحياتي (RealNoooH)

أبو هاجر الحلوة
17-11-2007, 09:21 PM
السلام عليكم و رحمة الله ...
أسف لأني لم أكن واضحا عند كلامي عن مسألة التهويل............لم أكن أقصدك إطلاقا بل على العكس من ذلك تماما فقد كان لك فضل التطرق لمثل هذا النوع من المواضيع الحساسة............إنما كان قصدي كثير من ردود أشخاص رأيتها في بعض المنتديات العربية و التي تنضح بكثير من سوء الفهم و سوء الظن مما جعل مثل هذه المواضيع شبه محضورة عندنا.............!!!! رغم توفرها بمستوى عال في المنتديات الأجنبية.....إن شاء الله تكون الفكرة قد اتضحت...و مشكور مرة أخرى على الموضوع الرائع

RealNoooH
19-11-2007, 09:22 PM
السلام عليكم

الأخ (أبو هاجر الحلوة) لا داعي للأسف فكلنا أخوة، المهم أننا حصلنا على الفائدة .

أيضاًُ هل من الممكن أن تزودني بطريقة أخرى غير التي أشرت إليها سابقاً ؟؟. . .

تحياتي (RealNoooH)

أبو هاجر الحلوة
21-11-2007, 11:15 PM
هذا كود الدلفي الذي أخبرتك عنه سابقا لكني لا أدري ما مدى صدقيته لأني لم أدرسه و لم أحاول ترجمته إلى البيسك............يمكن أن تلقي عليه نظرة
بالتوفيق



code en delphi
Here is Delphi example of hook dll. To install hook - call from .EXE SetHook function.
When DLL is injected into process - it is examine command line to find - "am i injected
onto taskmanager process?" If so -
seek "SysListView32" controls ( Task and Process listviews).

library HookLib;

uses
SysUtils,
Classes, Windows;

var hHook: integer;
hMod: THANDLE;
CurL: integer;
L: array[0..1] of integer;
EnabledIt: Boolean;

procedure DOUT(s:String);
begin
OutputDebugString(PChar(s+#10#13));
end;

function ResetWindowProc(hwnd:integer; NewProc:DWORD):DWORD;
begin
Result := SetWindowLong(hwnd,GWL_WNDPROC, NewProc);
end;

function FindListView(hwnd, prev: integer): boolean;
var wText: PChar;
begin
wText := AllocMem(250);
Result := FALSE;
if (CurL = 2) or (hwnd=0) then Exit;;
if(GetClassName(hwnd, wText, 250) <> 0) then
if wText = 'SysListView32' then
begin
L[CurL] := hwnd;
inc(CurL);
GetWindowText(hwnd, wText, 250);
DOUT(wText + ' ' + 'Found!');
end;
FindListView(GetWindow(hwnd, GW_CHILD), hwnd);
FindListView(GetWindow(hwnd, GW_HWNDNEXT), hwnd);
Result := TRUE;
end;

function HookProc(Code, wParam, lParam: integer): Integer; stdcall;
begin
if (Code = HSHELL_WINDOWCREATED) and (EnabledIt) then
begin
FindListView(wParam, 0);
end;
Result := CallNextHookEx(hHook, Code, wParam, lParam);
end;

function SetHook: DWORD;stdcall;
begin
hHook := SetWindowsHookEx(WH_SHELL, @HookProc, hMod, 0 );
Result := 0;
end;

function ResetHook: DWORD;stdcall;
begin
UnhookWindowsHookEx(hHook);
Result := 0;
end;

procedure InitDLL;
begin
EnabledIt := FALSE;
DOUT(GetCommandLine());
If Pos('taskmgr', GetCommandLine()) <> 0 Then EnabledIt := TRUE;
hMod := GetModuleHandle('HookLib.dll');
end;

exports SetHook, ResetHook;

begin
InitDLL;
end.

RealNoooH
22-11-2007, 06:52 PM
السلام عليكم

في الحقيقة أخ (أبو هاجر الحلوة) خبرتي محدودة في الديلفي، ومع ذلك سأحاول عرض هذا الكود على بعض الزملاء علّهم يساعدوني أكثر.

وعلى العموم جزاك الله ألف خير . . .

تحياتي (RealNoooH)