الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

نظره على دوال Native API

مغلق
بدأه tmaaa في 31 أكتوبر 2004 · 14 رد · 3,602 مشاهدة · في المواضيع و الدروس القيّمة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

تنويه :

هذا الموضوع فقط للترويح عن النفس من الوضع الحالي ومحاولة تناسي التعاسة و التشاؤم الذي نعيشه بسبب ...

وجدت نفسي في قمة الملل كل كم دقيقة اعمل refresh لموقع الفريق العربي لعل وعسى اجد ما يزيل الضجر و الملل الذي انا فيه فلم اجد ما يرضي ذلك الانسان المعقد ...

أمامي كتاب Windows NT/2000 Native API , نظرت لواجهة الكتاب مرات ومرات و بعدها قررت افتح الكتاب و انتقي دالة بصورة عشوائية لاطبق عليها مثالاً (طبعا انتقيت الاسهل حتى لا اقلق دماغي بطلامس كثيرة )...

الدالة ZwPowerInformation من الاسم يمكن نعرف شئ عنها ... وظيفتها الحصول ( تغيير ) على ( في ) معلومات الـ Power ..

تصريح الدالة حسب ذلك المرجع كالآتي

NTSYSAPI
NTSTATUS
NTAPI
ZwPowerInformation(
	IN POWER_INFORMATION_LEVEL PowerInformationLevel,
	IN PVOID InputBuffer OPTIONAL,
	IN ULONG InputBufferLength,
	OUT PVOID OutputBuffer OPTIONAL,
	IN ULONG OutputBuffer
);

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

التصريح المقابل بالدلفي :

function NtPowerInformation(
   PowerInformationLevel:TPowerInformationLevel;
   InputBuffer:Pointer;
   InputBufferLength:ULONG;
   OutputBuffer:Pointer;
   OutputBufferLength:ULONG
   ):NTSTATUS; stdcall external 'ntdll.dll' name 'NtPowerInformation';

المعلومات التي يمكن الحصول عليها او تغييرها متعددة ويتم تحديد احداها باسناد القيمة التابعه لها لـ PowerInformationLevel و هذا عبارة عن enum حسب التعريف في لغة السي اما في الدلفي فنعرفه كالأتي

TPowerInformationLevel=( SystemPowerPolicyAc,
  SystemPowerPolicyDc,
  VerifySystemPolicyAc,
  VerifySystemPolicyDc,
  SystemPowerCapabilities,
  SystemBatteryState,
  SystemPowerStateHandler,
  ProcessorStateHandler,
  SystemPowerPolicyCurrent,
  AdministratorPowerPolicy,
  SystemReserveHiberFile,
  ProcessorInformation,
  SystemPowerInformation
  );
POWER_INFORMATION_LEVEL =TPowerInformationLevel;
PPowerInformationLevel =^TPowerInformationLevel;

وبعد نظرة سريعة على هذه الانواع قررت اختيار ProcessorInformation لأضيع من وقتي كم دقيقة ..

تعريف التركيب كالآتي :

  TProcessorPowerInformation = record
    Number,
    MaxMhz,
    CurrentMhz,
    MhzLimit,
    MazIdleState,
    CurrentIdleStatr:ULONG
  end;
   PProcessorPowerInformation=^TProcessorPowerInformation;
   PROCESSOR_POWER_INFORMATION=TProcessorPowerInformation;
   PPROCESSOR_POWER_INFORMATION=^TProcessorPowerInformation;

وكمثال بسيط على الدالة اضع جزء من الكود

var
ProcessorInfo:TProcessorPowerInformation;
res:NTSTATUS;
begin
    ZeroMemory( @ProcessorInfo,sizeof( TProcessorPowerInformation));
    res:=NtPowerInformation(ProcessorInformation,nil,0,@ProcessorInfo,sizeof(TProcessorPowerInformation));

    if res=0 then
// do what you want here
end;

بعد تنفيذ مثال على الدالة وجدت ان قيمة MaxMhz وCurrentMhz و MhzLimited للـ processor للكمبيوتر الذي استعمله هي 2019 Mhz. طبعاً عند الاطلاع على معلومات الـ Processor وجدت ان الويندوز اعطت القيمة 2.02 Ghz

أثناء كتابتي للموضوع كان يحادثني أحد أعز الزملاء وقبل ان ينتهي حديثنا قلت له : " الحل , أن ننتقل لكوكب أخر ... "

وهأنذا أعود للوحدة و الملل أمام الصديق الصامت المتكلم " الكمبيوتر "....

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#2

فعلا هو صديق و تشكر اخي على مشاركة مللك معنا. :)

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#3

الموضوع ممتاز كعادتك أخي tmaaa ,, وفكرت أخييرا والله يجيب الوقت أن أضيف موضوع جديد لقسم السي طبعا :) يتحدث عن كيف نفعل الأشياء ,, لكن بالبرمجة .

يعني رابط يكون فيه كيف نفعل العديد جدا من الأشياء التي سيفكر أهل ال VB فورا بالحصول على OCX جاهز للتعامل معها .

يعني المواضيع تكون كالتالي :

1) تشفير الملفات باستخدام توابع ال API

2) برمجة الوصول للملفات وتحكمات ACL بالاستناد لتعاريف SID لكل مستخدم .

3)برمجة ال group policy بدون الدخول في متاهات ال Windows Registry

4) برمجة ال Device Drivers

5) الوصول والتحكم بمنافذ الكمبيوتر .

6)معرفة كيف تعمل ال Debuggers والتطرق لأساسياتها ,, بالسي طبعا :) تطرق اليها Jaas سابقا .

7)برمجة ال Infrared . والشبكات عموما .

8) برمجة ال COM وال ATL بشكل سريع طبعا .

9)برمجة خدمات الوندوز بالاستناد لل SCM Service Control Maneger .

10)برمجة ال Hook والتلصص على البرامج . تحدث عنها chik سابقا .

11)تقنيات نقل البيانات بين البرامج والأجهزة .بدأها chik في قسم الأسمبلي فعلا وجزاه الله خيرا .

يوجد المزيد ,, لكن لاأستحضرها في ذهني .

الفكرة ليس في أن نكتب باستفاضة في هذه الأمور ,, لكن بأن نعرف الجميع على الطريق لفعل هذه الأمور ,,

يعني في التشفير سنقول أننا سنستخدم نفس البينية التحتية للتشفير في الوندوز ,, ويمكن إستخدام دالات cryptoAPI لفعل ذلك .

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

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#4

اهلاً tmaaa و واضح ان الموضوع قد بدأ فى جذب الاعضاء كما الذباب على العسل

هيثم : فتحت نفسى للقراءه فى هذه المواضيع بعد الصدأ المخى

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#5
اقتباس
هذا الموضوع فقط للترويح عن النفس من الوضع الحالي ومحاولة تناسي التعاسة و التشاؤم الذي نعيشه بسبب

هاهاهاه:D

Igonrance is HeLL,need to say any more?

Laziness is HeLL, Lazy programmers must be shoot on the head

Stupidity is HeLL, u can patch everything but not human stupidity

#6

السلام عليكم

شكراً لكل من رد .

HGB :

أشكرك على الرد الحلو :)

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

ذكرتنا بطيش الشباب ...

1) ذكرت في ردك جزء من الموضوع , ننتظر بقية الموضوع ..

2) كبداية لنلقي نظرة على ما كتبه Russinovich هنا

http://www.sysinternals.com/ntw2k/info/acledit.shtml

ولنلقي نظرة على الجميل الذي لن أنساه لـ Trevor Scroggins والذي ساعدني في مشكله التعامل مع SedDiscretionaryAclEditor

http://www.delphibbs.com/delphibbs/dispq.asp?lid=1360288

السؤال أنا كنت حاطه في موقعين عربيين و الموقع الصيني المشار أعلاه ولم يجبني احد واجابني Trevor Scroggins عن طريق الايميل وفي اقل من عشرة دقائق ...

3) بدون متاهات Windows Registry ... ممم ... أكيد في واحد من الشباب حيجيب اجل هذا الموضوع .. :)

4) كتب عنها المتميز عن كل المبرمجين العرب الأخ هاني أتاسي... والحديث طويل في هذا المجال و يحتاج لمجموعة كبيرة جداً من المهتمين بهذا المجال (صعب) .

5) أظن كتب عنها أشياء بسيطة من قبل ... زيادة الخير خيرين

6) في قائمة الانتظار

7) في قائمة الانتظار

8) هذا عليك

9) موضوع كويس

10) كتبت عنها بشكل تعريفي (زمان) , و كما ذكرت انت كتب عنها chik . أكثر ما في الموضوع من متعة هو Native API Hook & Win32 API Hook .

11) ننتظر المزيد

12) PE File Format وبشكل مفصل و بدراسة تدل على فهم للموضوع , فهذا الموضوع هام جداً .

13) How to write your Firewall .. لدي كتاب بالصينية يتكلم عن شئ له علاقة بهذا , مع الكود لكن من أين لي الوقت لترجمة تلك الطلامس او حتى قرأتها ...

14) Neural Network : مواضيع كثيرة ...

15) Unicode : البحث في تطوير برمجيات للغة العربية فصخر لا تكفي لوحدها ...

....

اقتباس
الفكرة ليس في أن نكتب باستفاضة في هذه الأمور ,, لكن بأن نعرف الجميع على الطريق لفعل هذه الأمور ,,

اختصرت فلسفة كاملة يؤمن بها الكثير من الناس بهذه العبارة ... فعلاً نحن نريد أن ندل على الطريق او لنقل نريد أن نٌعلم و نتعلم كيف تُصطاد السمكة ..

للموضوع بقية بمشيئة الله ...

أعود لصديقي ...

تحياتي للجميع

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#7

SaD jAckAl :

وانا اكتب ردي لم يكن ردك موجود :)

متى ستقوم بالشئ الذي وعدتني به ؟

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#8
اقتباس
متى ستقوم بالشئ الذي وعدتني به ؟

لا أضمن، حسب المزاج،فضلا عن أني مشغول بـ هذا

Igonrance is HeLL,need to say any more?

Laziness is HeLL, Lazy programmers must be shoot on the head

Stupidity is HeLL, u can patch everything but not human stupidity

#9

السلام عليكم

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

لقد طبقت أغلب الدروس الموجودة في هذا المنتدى عن هذه الدوال وقد نجحت في تطبيقها . ولكن

لدي عدة استفسارات :

- كل النتائج عبارة عن أرقام كيف أعرف مدلول هذه الأرقام .

- أتمنى أن تعطيني رابط لتحميل كتاب Windows NT/2000 Native API . أريد الاطلاع لتتضح لدي بعض الأمور - قبل أن أطرح باقي استفساراتي .

- وأتمنى أيضا أن تزودني بالمواقع التي تعطي تصريح لهذه الدوال بالدلفي ، لأن أغلب المواقع التي حصلت عليها تعطي تصريح لها بالـ C وآخر استخدام لي لل c كان الاصدار 4.5 . فمعلوماتي بها قديمة جدا .

تمنيات لك بالتوفيق بالدارين ،،،

#10

السلام عليكم

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

تلك لا تعد دروساً , هي مجرد خواطر للتخلص من الملل و كنوع من التسلية :)

اقتباس
كل النتائج عبارة عن أرقام كيف أعرف مدلول هذه الأرقام .

عليك أن تعلم ما دلاله كل داله وكل عنصر من عناصرها حتى تعلم مدلول تلك الأرقام . كيف ؟

بعض هذه الدوال مصرح بها في DDK .

ارجع للمرجع الرائع Windows NT/2000 Native API

ايضا موقع http://undocumented.ntinternals.net

اقتباس
- أتمنى أن تعطيني رابط لتحميل كتاب Windows NT/2000 Native API . أريد الاطلاع لتتضح لدي بعض الأمور - قبل أن أطرح باقي استفساراتي .

بالنسبة للكتاب تجده هنا

http://www.ebookcn.net/down.php?id=11213&url=1

استعمل اي برنامج من برامج التنزيل لتستطيع تنزيل الكتاب نظرا لان الموقع مزحوم دائما فعليك المحاولة اكثر من مرة .

كنت رديت على رسالتك الشخصية قبل ما اقرأ ردك هنا

سارفق الملف هنا أيضا ..

اقتباس
- وأتمنى أيضا أن تزودني بالمواقع التي تعطي تصريح لهذه الدوال بالدلفي ، لأن أغلب المواقع التي حصلت عليها تعطي تصريح لها بالـ C وآخر استخدام لي لل c كان الاصدار 4.5 . فمعلوماتي بها قديمة جدا .

1) اطلع على delphi-jedi فقد عملوا شوط في هذا المجال .

2) الطريقة المعروفة GOOGLE IT

3) وان صعب عليك تغيير التعريف الى دلفي عليك بـموقع الفريق العربي للبرمجة ;)

--

أي استفسارات أخرى الشباب كلهم ما راح يقصروا ان شاء الله ...

CIONO1

20040229227.rar

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#11

السلام عليكم

اقتباس
تلك لا تعد دروساً

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

جزاك الله الف خير على الكتاب والموقع الرائع ،،،

زادك اللـــه علما وعملا

#12

UP

NativeAPI.part1.rar

تم تعديل هذه المشاركة بواسطة romanof في 7 ديسمبر 2005 في 03:27

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#13

2

NativeAPI.part2.rar

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#14

3

NativeAPI.part3.rar

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#15

4

NativeAPI.part4.rar

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

هذا الموضوع مغلق.

مواضيع مشابهة