برنامج يخفي المجلدات صعب الكسر
#1
استخدمت هذا البرنامج لاخفاء مجلد به ملفات مهمة ونسيت كلمة السر التي وضعتها
وعندما حاولت ان اكتشف وجدت قفزات كثيرة وامور معقدة ربما تفيدكم في دراسته
اسم البرنامج
كود :
WinMend-Folder-Hidden
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#2
السلام عليكم
الرد ليس له صلة بالبرنامج .هي طريقة لاخفاء الملفات و المجلدات
وضعته فقط للاستفدة باقي الزملاء
الطريقة مشهورة لكن رأيت أن طرحها يمكن أن يستفيد منه شخص ما. الله أعلم
أنا شخصيا أقوم باخفاء الملفات والمجلدات بكود دوس
Attrib "Nom de Dossier" +a +r +s +h
و لاخفاء ملف معين
Attrib "Nom de Fichier.extention" +a +r +s +h
Attrib "Alko.rar" +a +r +s +h
و لاعادة أظهار المجلد أو الملف استبدال + بـ -
Attrib "Nom de Dossier" -a -r -s -h
استخدم النجمة لاخفاء كل الملفات داخل المجلد * أو *.*
انسخ الكود في ملف نصي بالنوت باد و احفظه باي اسم لكن الامتداد يكون bat
ثم ماعليك الا دوبل كليك على الملف و هو يقوم بالمهمة
الحكمة ضالة المؤمن أنى وجدها فهو أحق الناس بها
[-] كل من 5 users say قال شكرا ل ALKO على المشاركة المفيدة
  • أبو معاذ, wadoud, h-farid, khiro.alg, Delphi4Us
الرد
#3
و عليكم السلام و رحمة الله
للأسف آلية الحماية التي يستعملها البرنامج ضعيفة جدا و يمكن تخطيها بسهولة باستعمال WinRAR مثلا للحصول على الملفات المخفية و كلمة المرور التي يحفظها البرنامج كما هي بدون تشفير...

هذه محكاة عملية انشائه للمجلدات المحمية التي سوف تستقبل الملفات التي سوف يتم اخفائها.
PHP كود :
#include <windows.h>
#include <ntdll.h>

#ifdef _WIN64
char *captionMsg = "64-bit Application";
#else
char *captionMsg = "32-bit Application";
#endif

char *statusMsg = "FAILED!";

#define MAIN_FOLDER L"\\??\\C:\\Winmend~Folder~Hidden"

wchar_t *folders[] = {
 
   MAIN_FOLDER,
 
   MAIN_FOLDER L"\\..." ,
 
   MAIN_FOLDER L"\\...\\cn"
};

void Report(NTSTATUS NtStatus, char *msg, wchar_t *path) {
 
   char buffer[256] = {0};

 
   if (NtStatus == 0)
 
       statusMsg = "SUCCESS";

 
   sprintf(buffer,
 
           "Task:\t%s\nPath:\t%S\nStatus:\t0x%X (%s)",
 
           msg,
 
           path,
 
           NtStatus,
 
           statusMsg);

 
   if (NtStatus == 0)
 
       MessageBoxA(NULL,
 
                   buffer,
 
                   captionMsg,
 
                   MB_ICONINFORMATION);
 
   else
        MessageBoxA
(NULL,
 
                   buffer,
 
                   captionMsg,
 
                   MB_ICONERROR);
}

int main() {

 
   NTSTATUS NtStatus;
 
   HANDLE hTarget;
 
   UNICODE_STRING ObjectName;
 
   OBJECT_ATTRIBUTES ObjectAttributes;
 
   IO_STATUS_BLOCK IoStatusBlock;

 
   for (int x = 0; x < 3; x++) {
 
       RtlInitUnicodeString(&ObjectName, folders[x]);
 
       InitializeObjectAttributes(&ObjectAttributes,
 
                                  &ObjectName,
 
                                  OBJ_CASE_INSENSITIVE,
 
                                  NULL,
 
                                  NULL);

 
       NtStatus = NtCreateFile(&hTarget,
 
                               FILE_READ_DATA | FILE_WRITE_DATA,
 
                               &ObjectAttributes,
 
                               &IoStatusBlock,
 
                               NULL,
 
                               FILE_ATTRIBUTE_HIDDEN,
 
                               FILE_SHARE_READ | FILE_SHARE_WRITE,
 
                               FILE_CREATE,
 
                               FILE_DIRECTORY_FILE,
 
                               NULL,
 
                               0);

 
       Report(NtStatus, "Creating folder...", folders[x]);
 
       NtClose(hTarget);
 
   }

 
   for (int x = 2; x >= 0; x--) {
 
       RtlInitUnicodeString(&ObjectName, folders[x]);

 
       InitializeObjectAttributes(&ObjectAttributes,
 
                                  &ObjectName,
 
                                  OBJ_CASE_INSENSITIVE,
 
                                  NULL,
 
                                  NULL);

 
       NtStatus = NtDeleteFile(&ObjectAttributes);
 
       Report(NtStatus, "Deleting folder...", folders[x]);
 
   }

 
   return 0;
} 

المرفق يحتوي على الملفات المصدرية و التنفيذية للتجربة...


الملفات المرفقة
.rar   inaccessible_folder.rar (الحجم : 2.76 ك ب / التحميلات : 38)
Computer Forensics - Insid3Code Team - I3CT

[-] كل من 2 users say قال شكرا ل naquadria على المشاركة المفيدة
  • mohamed49, Delphi4Us
الرد
#4
اضافة بسيطة للب العملية  بالباسكال:
PHP كود :
var
 
 ObjectAttributes: OBJECT_ATTRIBUTES;
 
 IoStatusBlock: IO_STATUS_BLOCK;
 
 hTarget: THandle;
 
 Status: NTSTATUS;
 
 FolderName: UNICODE_STRING; 
 
 
begin
RtlInitUnicodeString
(@FolderName, '\??\C:\Winmend~Folder~Hidden\...\cn');
InitializeObjectAttributes(@ObjectAttributes, @FolderName, OBJ_CASE_INSENSITIVE, 0, nil);

Status := NtCreateFile(@hTarget,
 
FILE_WRITE_DATA + SYNCHRONIZE,
 @
ObjectAttributes,
 @
IoStatusBlock,
 
nil,
 
FILE_ATTRIBUTE_HIDDEN,
 
FILE_SHARE_READ + FILE_SHARE_WRITE,
 
FILE_CREATE,
 
FILE_DIRECTORY_FILE,
 
nil,
 
0);

if 
Status = STATUS_SUCCESS then  
(* Display Message box *)

NtClose(hTarget);
end; 
Computer Forensics - Insid3Code Team - I3CT

[-] كل من 2 users say قال شكرا ل naquadria على المشاركة المفيدة
  • Delphi4Us, mohamed49
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم