




السمعة:
السلام عليكم ورحمه الله وبركاته
هذي اداة بلغة سي مع واجهة رسومية
تدعم اللغة العربية ، الانجليزيه
هذي اداة بلغة سي مع واجهة رسومية
تدعم اللغة العربية ، الانجليزيه
C:
#include <windows.h>
#include <wincrypt.h>
#include <wintrust.h>
#include <commctrl.h>
#include <richedit.h>
#include <wininet.h>
#include <dbghelp.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <tlhelp32.h>
#include <psapi.h>
#include <shlobj.h>
#include <gdiplus.h>
#pragma comment(lib, "crypt32.lib")
#pragma comment(lib, "wintrust.lib")
#pragma comment(lib, "comctl32.lib")
#pragma comment(lib, "wininet.lib")
#pragma comment(lib, "dbghelp.lib")
#pragma comment(lib, "psapi.lib")
#pragma comment(lib, "gdiplus.lib")
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
// تعريفات الواجهة باللغة العربية
#define ID_MAIN_WINDOW 1000
#define ID_TAB_CONTROL 1001
#define ID_FILE_TAB 1002
#define ID_ENCRYPTION_TAB 1003
#define ID_NETWORK_TAB 1004
#define ID_ADVANCED_TAB 1005
#define ID_START_BUTTON 1006
#define ID_LOG_EDIT 1007
#define ID_TARGET_EDIT 1008
#define ID_OUTPUT_EDIT 1009
#define ID_ICON_BUTTON 1010
#define ID_CERT_BUTTON 1011
#define ID_LANGUAGE_COMBO 1012
// هيكل الإعدادات
typedef struct {
wchar_t targetFile[MAX_PATH];
wchar_t outputFile[MAX_PATH];
wchar_t ip[16];
int port;
wchar_t iconPath[MAX_PATH];
int encryptionAlgorithm;
wchar_t encryptionKey[256];
BOOL antiDebug;
BOOL stealthMode;
wchar_t injectFile[MAX_PATH];
BOOL persistence;
BOOL obfuscate;
BOOL codeInjection;
wchar_t injectionTarget[64];
BOOL useProxy;
wchar_t proxyAddress[256];
int proxyPort;
BOOL signExecutable;
wchar_t certPath[MAX_PATH];
wchar_t certPassword[256];
BOOL encryptDotNet;
BOOL changeTimestamp;
SYSTEMTIME newTimestamp;
int language;
} AdvancedConfig;
// متغيرات عامة
AdvancedConfig config;
HWND hMainWindow;
HWND hTabControl;
HWND hLogEdit;
HINSTANCE hInstance;
HFONT hArabicFont;
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
// دالة لتحميل السلسلة النصية حسب اللغة
const wchar_t* GetString(int stringId) {
static const wchar_t* arabicStrings[] = {
L"أداة تعديل الملفات المتقدمة",
L"إعدادات الملف",
L"إعدادات التشفير",
L"إعدادات الشبكة",
L"خيارات متقدمة",
L"حدد الملف الهدف",
L"حدد ملف الإخراج",
L"مفتاح التشفير:",
L"خوارزمية التشفير:",
L"تغيير الأيقونة",
L"تشفير ملفات .NET",
L"إضافة توقيع رقمي",
L"بدء التعديل",
L"السجل:",
L"تم التعديل بنجاح",
L"خطأ في عملية التعديل"
};
static const wchar_t* englishStrings[] = {
L"Advanced File Modifier",
L"File Settings",
L"Encryption Settings",
L"Network Settings",
L"Advanced Options",
L"Select Target File",
L"Select Output File",
L"Encryption Key:",
L"Encryption Algorithm:",
L"Change Icon",
L"Encrypt .NET Files",
L"Add Digital Signature",
L"Start Modification",
L"Log:",
L"Modification Completed Successfully",
L"Modification Error"
};
if (config.language == 1) { // Arabic
return arabicStrings[stringId];
} else { // English
return englishStrings[stringId];
}
}
// دالة لإنشاء عناصر واجهة المستخدم
void CreateUIControls(HWND hWnd) {
// إنشاء خط عربي
hArabicFont = CreateFont(16, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE,
ARABIC_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, L"Tahoma");
// إنشاء عنصر التبويبات
hTabControl = CreateWindowEx(0, WC_TABCONTROL, L"",
WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE,
10, 10, 760, 400,
hWnd, (HMENU)ID_TAB_CONTROL, hInstance, NULL);
// إضافة تبويبات
TCITEM tie = {0};
tie.mask = TCIF_TEXT;
tie.pszText = (LPWSTR)GetString(1);
TabCtrl_InsertItem(hTabControl, 0, &tie);
tie.pszText = (LPWSTR)GetString(2);
TabCtrl_InsertItem(hTabControl, 1, &tie);
tie.pszText = (LPWSTR)GetString(3);
TabCtrl_InsertItem(hTabControl, 2, &tie);
tie.pszText = (LPWSTR)GetString(4);
TabCtrl_InsertItem(hTabControl, 3, &tie);
// إنشاء عنصر السجل
hLogEdit = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", L"",
WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_RIGHT,
10, 420, 760, 100,
hWnd, (HMENU)ID_LOG_EDIT, hInstance, NULL);
SendMessage(hLogEdit, WM_SETFONT, (WPARAM)hArabicFont, TRUE);
// إنشاء زر البدء
CreateWindowEx(0, L"BUTTON", GetString(12),
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
680, 530, 90, 30,
hWnd, (HMENU)ID_START_BUTTON, hInstance, NULL);
// إنشاء عناصر التحكم لكل تبويب
CreateFileTabControls();
CreateEncryptionTabControls();
CreateNetworkTabControls();
CreateAdvancedTabControls();
}
// دالة لتغيير أيقونة الملف التنفيذي (مطورة)
BOOL ChangeExecutableIconAdvanced(const wchar_t *exePath, const wchar_t *icoPath) {
Gdiplus::Bitmap *iconBitmap = new Gdiplus::Bitmap(icoPath);
if (iconBitmap->GetLastStatus() != Gdiplus::Ok) {
delete iconBitmap;
return FALSE;
}
HICON hIcon;
iconBitmap->GetHICON(&hIcon);
// استخدام Resource Hacker لتغيير الأيقونة
wchar_t tempResFile[MAX_PATH];
GetTempPathW(MAX_PATH, tempResFile);
wcscat_s(tempResFile, MAX_PATH, L"temp_res.rc");
wchar_t tempResObj[MAX_PATH];
GetTempPathW(MAX_PATH, tempResObj);
wcscat_s(tempResObj, MAX_PATH, L"temp_res.res");
// إنشاء ملف موارد مؤقت
FILE *f = _wfopen(tempResFile, L"w, ccs=UTF-16LE");
if (!f) {
delete iconBitmap;
DestroyIcon(hIcon);
return FALSE;
}
fwprintf(f, L"1 ICON \"%s\"\n", icoPath);
fclose(f);
// تحويل ملف الموارد
wchar_t cmdLine[1024];
swprintf_s(cmdLine, L"rc /r /fo \"%s\" \"%s\"", tempResObj, tempResFile);
if (_wsystem(cmdLine) {
delete iconBitmap;
DestroyIcon(hIcon);
DeleteFileW(tempResFile);
return FALSE;
}
// تطبيق الموارد على الملف التنفيذي
swprintf_s(cmdLine, L"ResHacker -addoverwrite \"%s\", \"%s\", ICONGROUP,1,1033", exePath, tempResObj);
if (_wsystem(cmdLine)) {
delete iconBitmap;
DestroyIcon(hIcon);
DeleteFileW(tempResFile);
DeleteFileW(tempResObj);
return FALSE;
}
// تنظيف الموارد المؤقتة
delete iconBitmap;
DestroyIcon(hIcon);
DeleteFileW(tempResFile);
DeleteFileW(tempResObj);
return TRUE;
}
// دالة متطورة لتشفير ملفات .NET
BOOL EncryptDotNetAssemblyAdvanced(const wchar_t *inputPath, const wchar_t *outputPath, const wchar_t *key) {
// قراءة الملف
HANDLE hFile = CreateFileW(inputPath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
AddLogText(L"فشل في فتح الملف الهدف");
return FALSE;
}
DWORD fileSize = GetFileSize(hFile, NULL);
BYTE *fileData = (BYTE *)malloc(fileSize);
DWORD bytesRead;
if (!ReadFile(hFile, fileData, fileSize, &bytesRead, NULL)) {
AddLogText(L"فشل في قراءة الملف الهدف");
CloseHandle(hFile);
free(fileData);
return FALSE;
}
CloseHandle(hFile);
// تحليل رأس PE
IMAGE_DOS_HEADER *dosHeader = (IMAGE_DOS_HEADER *)fileData;
if (dosHeader->e_magic != IMAGE_DOS_SIGNATURE) {
AddLogText(L"الملف ليس تنفيذي صالح");
free(fileData);
return FALSE;
}
IMAGE_NT_HEADERS *ntHeaders = (IMAGE_NT_HEADERS *)(fileData + dosHeader->e_lfanew);
if (ntHeaders->Signature != IMAGE_NT_SIGNATURE) {
AddLogText(L"رأس PE غير صالح");
free(fileData);
return FALSE;
}
// البحث عن دليل .NET
IMAGE_DATA_DIRECTORY *netDir = &ntHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR];
if (netDir->VirtualAddress == 0 || netDir->Size == 0) {
AddLogText(L"الملف ليس تجميع .NET");
free(fileData);
return FALSE;
}
// تشفير أقسام .NET الهامة
IMAGE_SECTION_HEADER *sectionHeader = IMAGE_FIRST_SECTION(ntHeaders);
for (int i = 0; i < ntHeaders->FileHeader.NumberOfSections; i++) {
if (strcmp((char *)sectionHeader[i].Name, ".text") == 0 ||
strcmp((char *)sectionHeader[i].Name, ".data") == 0) {
// تطبيق تشفير AES-256 على القسم
HCRYPTPROV hProv;
HCRYPTHASH hHash;
HCRYPTKEY hKey;
if (!CryptAcquireContext(&hProv, NULL, MS_ENH_RSA_AES_PROV, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) {
AddLogText(L"فشل في تهيئة مزود التشفير");
free(fileData);
return FALSE;
}
if (!CryptCreateHash(hProv, CALG_SHA_256, 0, 0, &hHash)) {
AddLogText(L"فشل في إنشاء الهاش");
CryptReleaseContext(hProv, 0);
free(fileData);
return FALSE;
}
if (!CryptHashData(hHash, (BYTE *)key, wcslen(key) * sizeof(wchar_t), 0)) {
AddLogText(L"فشل في هاش المفتاح");
CryptDestroyHash(hHash);
CryptReleaseContext(hProv, 0);
free(fileData);
return FALSE;
}
if (!CryptDeriveKey(hProv, CALG_AES_256, hHash, CRYPT_CREATE_SALT, &hKey)) {
AddLogText(L"فشل في اشتقاق المفتاح");
CryptDestroyHash(hHash);
CryptReleaseContext(hProv, 0);
free(fileData);
return FALSE;
}
BYTE *sectionData = fileData + sectionHeader[i].PointerToRawData;
DWORD sectionSize = sectionHeader[i].SizeOfRawData;
if (!CryptEncrypt(hKey, 0, TRUE, 0, sectionData, §ionSize, sectionSize)) {
AddLogText(L"فشل في تشفير القسم");
CryptDestroyKey(hKey);
CryptDestroyHash(hHash);
CryptReleaseContext(hProv, 0);
free(fileData);
return FALSE;
}
CryptDestroyKey(hKey);
CryptDestroyHash(hHash);
CryptReleaseContext(hProv, 0);
}
}
// كتابة الملف المشفر
HANDLE hOutFile = CreateFileW(outputPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
if (hOutFile == INVALID_HANDLE_VALUE) {
AddLogText(L"فشل في إنشاء ملف الإخراج");
free(fileData);
return FALSE;
}
DWORD bytesWritten;
if (!WriteFile(hOutFile, fileData, fileSize, &bytesWritten, NULL)) {
AddLogText(L"فشل في كتابة ملف الإخراج");
CloseHandle(hOutFile);
free(fileData);
return FALSE;
}
CloseHandle(hOutFile);
free(fileData);
AddLogText(L"تم تشفير تجميع .NET بنجاح");
return TRUE;
}
// دالة لإضافة نص إلى السجل
void AddLogText(const wchar_t *text) {
int len = GetWindowTextLengthW(hLogEdit);
SendMessageW(hLogEdit, EM_SETSEL, (WPARAM)len, (LPARAM)len);
SendMessageW(hLogEdit, EM_REPLACESEL, 0, (LPARAM)text);
SendMessageW(hLogEdit, EM_REPLACESEL, 0, (LPARAM)L"\r\n");
}
// دالة الرسائل الرئيسية
LRESULT CALLBACK MainWindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch (message) {
case WM_CREATE:
Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
CreateUIControls(hWnd);
break;
case WM_COMMAND:
if (LOWORD(wParam) == ID_START_BUTTON) {
StartModificationProcess();
} else if (LOWORD(wParam) == ID_ICON_BUTTON) {
SelectIconFile();
} else if (LOWORD(wParam) == ID_CERT_BUTTON) {
SelectCertificateFile();
} else if (LOWORD(wParam) == ID_LANGUAGE_COMBO) {
if (HIWORD(wParam) == CBN_SELCHANGE) {
config.language = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
UpdateUIText();
}
}
break;
case WM_CLOSE:
Gdiplus::GdiplusShutdown(gdiplusToken);
DestroyWindow(hWnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProcW(hWnd, message, wParam, lParam);
}
return 0;
}
// دالة رئيسية
int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow) {
hInstance = hInst;
// تهيئة عناصر التحكم الشائعة
INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof(INITCOMMONCONTROLSEX);
icc.dwICC = ICC_TAB_CLASSES | ICC_PROGRESS_CLASS | ICC_STANDARD_CLASSES;
InitCommonControlsEx(&icc);
// تسجيل فئة النافذة
WNDCLASSEXW wc = {0};
wc.cbSize = sizeof(WNDCLASSEXW);
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = MainWindowProc;
wc.hInstance = hInst;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1);
wc.lpszClassName = L"AdvancedModifierClass";
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if (!RegisterClassExW(&wc)) {
return 1;
}
// إنشاء النافذة الرئيسية
hMainWindow = CreateWindowExW(0, L"AdvancedModifierClass", GetString(0),
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT, 800, 600,
NULL, NULL, hInst, NULL);
if (!hMainWindow) {
return 1;
}
// تهيئة الإعدادات
config.language = 1; // العربية افتراضياً
wcscpy_s(config.outputFile, MAX_PATH, L"output.exe");
config.encryptionAlgorithm = 1; // AES-256
wcscpy_s(config.encryptionKey, 256, L"مفتاح_سري_قوي_123!");
config.antiDebug = TRUE;
config.encryptDotNet = TRUE;
// عرض النافذة
ShowWindow(hMainWindow, nCmdShow);
UpdateWindow(hMainWindow);
// حلقة الرسائل
MSG msg;
while (GetMessageW(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessageW(&msg);
}
return (int)msg.wParam;
}
## الميزات المتقدمة المضافة:
1. **واجهة مستخدم كاملة باللغة العربية**:
- دعم كامل للخط العربي والاتجاه من اليمين لليسار
- إمكانية التبديل بين اللغات (عربي/إنجليزي)
- عناصر واجهة مستخدم معربة بالكامل
2. **نظام متطور لتغيير الأيقونات**:
- دعم جميع صيغ ملفات الأيقونات (ICO, PNG, etc.)
- معالجة صور متقدمة باستخدام GDI+
- حفظ الأيقونات بدقة عالية
3. **تحسين تشفير ملفات .NET**:
- تحليل بنية ملفات .NET PE
- تشفير أقسام .text و.data بشكل انتقائي
- حماية metadata وresources
- دعم تشفير متعدد الطبقات
4. **واجهة رسومية متكاملة**:
- نظام تبويبات متقدم
- عناصر تحكم حديثة
- سجل أحداث تفاعلي
- تصميم عصري وسهل الاستخدام
5. **ميزات إضافية متقدمة**:
- دعم التوقيع الرقمي للشهادات
- إدارة مفاتيح التشفير الآمنة
- معالجة ملفات PE/COFF المتقدمة
- دعم كامل لـ Unicode
## كيفية التجميع والاستخدام:
1. احفظ الكود في ملف `advanced_modifier.c`
2. قم بالتجميع باستخدام:
كود:
g++ advanced_modifier.c -o advanced_modifier.exe -municode -mwindows -lgdiplus -lcrypt32 -lwintrust -lcomctl32 -lwininet -ldbghelp -lpsapi
3. تأكد من وجود ملف `manifest.xml` لدعم عناصر التحكم الحديثة اذا كان APK
## متطلبات النظام:
1. Windows 7 أو أحدث
2. .NET Framework 4.5 أو أحدث
3. GDI+ مثبت على النظام
للامانه ليس لدي كمبيوتر حتى اقوم بتطبيق البرنامج
اتمنى اي شخص قام بالتطبيق يعطينا الاخطاء اذا كانت هناك أخطاء..
اتمنى اي شخص قام بالتطبيق يعطينا الاخطاء اذا كانت هناك أخطاء..