التشفير, الدوال, call, dynamic, بتحميل, بوينتر, داخل
![SnipeR (69) التشفير بتحميل الدوال داخل بوينتر [ Dynamic Call ] SnipeR (69).gif](images/smilies/SnipeR (69).gif)
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركآته
تشفير إستدعاء
الدوال بطريقة الـ
Dynamic Call
C++ : Language
بدايتآ أي برنامج حماية ال Imports Table
وهي القائمة اللتي تحتوي على دوال ال api's المحملة في التطبيق
وعن طريقها تكشف برامج الحماية بعض الطرق الخبيثة وأيضا عن طريق الإستدعائات
فكيف نتخطى هذآ الشيئ هنالك عدت طرق بكل تأكيد لاكن طريقتنا هنا هي تحميل الدالة في وقت تشغيل البرنامج وتتم عن طريق تعريف
typedef للدالة
مثال دالة WriteProcessMemory
تعريفها من MSDN :
كود PHP:
BOOL WINAPI WriteProcessMemory( _In_ HANDLE hProcess, _In_ LPVOID lpBaseAddress, _In_ L
PCVOID lpBuffer, _In_ SIZE_T nSize, _Out_ SIZE_T *lpNumbe
نقوم بتجهيز البوينتر لها عن طريق تعريفه في الجينيرال سكشن :
كود PHP:
typedef BOOL ( WINAPI * xWriteProcessMemory)(HANDLE hProcess,LPVOID lpBaseAddress,LPCVOID lpBuffer,SIZE_T nSize,SIZE_T * lpNumberOfBytesWritten);
ثم تعريف المتغير اللذي سيحمل البوينتر
كود PHP:
overflow: auto">
xWriteProcessMemory WriteProcessMemory;
ثم نقوم بتأشيره للدالة
كود PHP:
WriteProcessMemory = (xWriteProcessMemory)GetProcAddress(LoadLibraryA("kernel32"),"WriteProcessMemory"); // x
وعند الرغبة في إستدعاء الدالة يتم إستدعائها عن طريق المؤشر WriteProcessMemory اللذي قمنا بتعريفه وتمرير البارمترات له بكل بساطة
أتمنى أن تكون الطريقة مفيدة رغم معرفتها عند الأغلبية لكن في الإعادة إفادة لمن لايعرف الطريقة ولزيادة الخبرة
والسلام عليكم ورحمة الله وبركاته
hgjatdv fjpldg hg],hg ]hog f,dkjv F Dynamic Call D call dynamic