عرض مشاركة واحدة
awlstyle-2 awlstyle-3 awlstyle-1
awlstyle-5
قديم 05-03-2008, 07:53 PM   #1 (permalink)
op4host
:: مطرود من قبل الإدارة ::
Thumbs up ناقش بينى وبينكم ولا تقولو لاحد :)

دوال ال API والحماية

ما هيا لو شرهتها فالموضوع يحتاج اشهر ولاكن لنفرض لنفرض مثلا ان لدينا برنامجين احداهما normal.exe (مثلا msn.exe) و الآخر nsm.exe (وهو ربما يكون virus)

كيف بامكاننا عن طريق مراقبة الدوال API ان نميز بين البرنامجين من حيث الاداء، بمعنى كيف يمكننا ان نكتشف عن طريق مراقبة دوال ال API ان nms.exe هو virus و ليس برنامج عادي؟

مثال آخر: لو تخيلنا انه يوجد في جهازي Trojan يستقبل اوامر عن بعد، مثلا امر الهجوم على جهاز آخر، اوامر التجسس على الجهاز، هل سنرى اشياء غريبه تحدث في ال API calls، ما اقصده بكلمة غريبه هواستدعاء هذه الدوال بشكل يدعو الى الريبة و الشك

كيف يمكن معرفة ما يحدث بالضبط، هل هناك برامج مخصصه ل معرفة ما يحدث؟
فكر
حسننا
http://www.geocities.com/SiliconValley/2072/prgw32rg.htm
http://www.codersource.net/win32_registry_operations.html
http://www.functionx.com/win32/
http://www.hal-pc.org/~johnnie2/windows.html
http://www.winprog.org/tutorial/

لمعرفة المزيد و التعمق فيها
بالنسبة للمعلومات التي تحتاجها عن الكمبيوتر , يمكن الحصول عليها عن طريق دوال API , دون الحاجه للحصول عليها من الريجيستري وقد رأيت امثله في المنتدى وعلى النت , مثلا الدالة GetSystemInfo تعيد بعض المعلومات عن المعالج

وللحصول مثلا على سرعة المعالج , يمكنك قياسها يدويا بهذا الشكل


كود PHP:
#include <windows.h>
#include <iostream>
using namespace std;
inline unsigned long long GetCPUTick() {
 
_asm rdtsc;
}
DWORD GetCPUSpeed(void) {
 const 
DWORD DELAYTIME 125;
 
unsigned long long Timer;
 
DWORD PriorityClass GetPriorityClass(GetCurrentProcess());
 
int ThreadPriority GetThreadPriority(GetCurrentThread());
 
SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
 
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
 
Sleep(1);
 
Timer GetCPUTick();
 
Sleep(DELAYTIME);
 
Timer GetCPUTick() - Timer;
 
SetThreadPriority(GetCurrentThread(), ThreadPriority);
 
SetPriorityClass(GetCurrentProcess(), PriorityClass);
 return 
Timer / (1000 DELAYTIME);
}
void main(){
 
cout << "  CPU Speed : " << GetCPUSpeed() << " MHz." << endl;

بارك الله فيكم على الاستماع لى

 

الموضوع الأصلي : ناقش بينى وبينكم ولا تقولو لاحد :)     -||-     المصدر : |: معهد أول ستايل :|     -||-     الكاتب : op4host




    رد مع اقتباس
awlstyle-4
awlstyle-7 awlstyle-6
awlstyle-9 awlstyle-10 awlstyle-8