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

إستفسارعن كود لمعرفة الرقم المسلسل للبروسيس

مغلق
بدأه publicsoft في 13 يناير 2007 · 8 رد · 3,786 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عنوانك السابق

اقتباس
إستفسارعن هذا الكود خاص لجميع خبراء البرمجة وخاصة هولاء الثلاثة.

هذا الكود لمعرفة الرقم المسلسل للبروسيسور.

ولابد أن أقول أولاً أن هذا الكود ليس من صنعي.

ولكن من صنع ثلاثة أشخاص.

الأستاذ المهندس / بن حسن / كود الفورم.

والأستاذة الكبيرة / زهرة / كود الميديول.

والأستاذ / wehadyxp / الذي قام بتجميع هذين الكودين في مثال واحد

بعد أن طلبت منه ذلك حيث كنت محتاج إلى ذلك بشدة , جزاه الله خير الجزاء.

هذا الكود في الفورم

----------------------------------------------------

Option Explicit

Private Sub label100_GotFocus()

Label100.SelStart = 0

Label100.SelLength = Len(Label100)

End Sub

Private Sub Form_Load()

Dim m_objCPUSet As SWbemObjectSet

Dim m_objWMINameSpace As SWbemServices

Dim oCpu As SWbemObject 'WMI Object, in this case, local CPUs

Set m_objWMINameSpace = GetObject("winmgmts:")

Set m_objCPUSet = m_objWMINameSpace.InstancesOf("Win32_Processor")

'I use the foir loop because I could

'not retrieve the first object normally

For Each oCpu In m_objCPUSet

Label100 = oCpu.processorid

Label300 = HDLettersToDigits(Replace(([Label100]), "-", ""))

Exit For

Next

Set oCpu = Nothing

Set m_objCPUSet = Nothing

Set m_objWMINameSpace = Nothing

End Sub

هذا الكود في الميديول

-------------------------

' دالة تحويل الحروف إلى أرقام ( أختكم : زهرة )

Function XlateDigit(ByVal C As String) As String

C = UCase$©

Select Case C

Case "A" To "F"

XlateDigit = Chr$((Asc© + 0) \ 3 + 28)

Case "G" To "L"

XlateDigit = Chr$((Asc© + 0.1) \ 3 + 28)

Case "M" To "P"

XlateDigit = Chr$((Asc© + 0.2) \ 3 + 28)

Case "Q" To "V"

XlateDigit = Chr$((Asc© + 0.3) \ 3 + 28)

Case "W" To "Z"

XlateDigit = Chr$(Asc© \ 0.7 + 28)

Case Else

XlateDigit = C

End Select

End Function

' دالة تحويل الحروف إلى أرقام ( أختكم : زهرة )

Function HDLettersToDigits(ByVal HD As Variant) As Variant

Dim I As Integer

If VarType(HD) = 8 Then

For I = 1 To Len(HD)

Mid(HD, I, 1) = XlateDigit(Mid(HD, I, 1))

Next I

End If

HDLettersToDigits = HD

End Function

--------------------------------------------------------------------------

وسؤالي إلي كل الخبراء وخاصة إلي الثلاثة الذين قاموا بهذا المجهود.

هل هذا الكود يعمل على البروسيسور AMD ؟

هل هذا الكود يعمل هلى أجهزة اللاب توب ؟

لأن أخي قام بتجربة هذا الكود على ثلاثة أجهزة لآب توب من نوع Acer

وقد كانت النتيجة رقم واحد للثلاثة أجهزة.!!!؟

هل هذا الكود يعطي الرقم المسلسل الحقيقي لأي بروسيسور,

أم أنه يعطي رقم آخر للبروسيسور يمكن أن يتكرر؟

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

وآخر يعطي الرقم الفيزيائي.وكلا الكودين لا يعملوا على الهارد الساتا.

هل هذا الكود المرفق الخاص بالبروسيسور يمكن أن يعطي أرقام متشابه كما أخبرني أخي عند تجربته؟

أنا آسف الرسالة طويلة.

هل يمكن أن يرسل لي أي أخ كود يقوم بإظهار الرقم الفيزيائي للهارد الساتا والهارد العادي معاً؟

أرجو الإفادة من فضلكم.

publicsoft

abdunahas@yahoo.com

abdunahas@hotmail.com

تم تعديل هذه المشاركة بواسطة HnHn في 18 يناير 2007 في 13:38

#2

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

Disk_Serial.rar

t-a-s%20(59).gif

2rm06696.gif

#3

اخ publicsoft

تعرف ان تسأل ولا تعرف كيف تضع عنوان مناسب

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

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة
#4

ممكن أي شخص يخبرنا إذا كان هذا الكود يعمل على الهارد الساتا

وهذا هو الإميل الخاص بي

abdunahas@yahoo.com

#5

كود سيريال الهارد ديسك لايعمل مطلقا على الهارد الساتا ، فلابد لك من التفكير ببديل اخر

وسيريال البروسيسور يمكن فعلا أن يتكرر

لا تَقُولن لِشيءٍ ذَا نَاقِصٌ ... وَلَكن أَعمل وَقُل ذَا أكملُ

#6

ما الحل من وجهة نظرك?

هل أكتب ان من شروط تشغيل البرنامج هارد عادي

ممكن رد على الميل

abdunahas@yahoo.com

#7

سأرتسل معك إلى ان نصل لحلول ملائمة

اولا: المسئول الأول والأخير عن الحماية - من وجهه نظري - هي العملية التسويقية ، ولكي تحمي برنامجك يجب ان تعرف الإجابة على الأسئلة التالية: :huh:

1- من يستخدم البرنامج؟

2- هل هو مستخدم واحد أم عدة مستخدمين؟

3- ما نوع هذا المستخدم ؟ هل هو مستخدم يمكن التحكم في سلوكه - كأن يكون شركة انت متعاقد معها مثلا - ام هو مستخدم عام لا تعرفه إلى الأن؟

4- ما هو سعر البرنامج ؟ لنحدد تكلفة الحماية

5- ما مدي الخبرة الفنية للمستخدم؟

6-ما هو العمر الإفتراضي للبرنامج؟

7- ماذا ستخسر لو تم كسر حماية البرنامج ؟ هل ستخسر عملاء ام الموضوع معنوي فقط؟

8- من الذي سيغريه برنامجيك لكسره - أقصد سرقته ؟

ثانيا: لنتفق على المبادئ التالية:

1- لا يوجد حماية مطلقة لأي برنامج :s

2- الهدف الأساسي من البرنامج هو الناحية الأقتصادية وليس حمايته

3- الغرض الأساسي من الحماية هو إطالة عمر البرنامج لتتمكن من حصد ثمار جهدك قبل أن يتم كسره

ثالثا: إليك بعض أفكار الحماية (بخلاف سيريال الهارد الذي يوجهك فيه مشكلة)

1- أستخدام معلومات اخري من الجهاز غير الهارد مثل البروسيسور أو المازربورد أو حتي مساحة الرامات

2- أستخدام هذه المعلومات بمجموعها أو بتركبها وليس واحدة منها فقط - وبالتالي ستقلل أحتمال التكرار

3- لو أن سعر برنامجك مرتفع نسبيا أستخدم دونغل - ويأتي معه برامج تشفير

4- يمكن أستخدام فلاش ميموري بديل للدونغل - لاحظ ان الفلاش ميموري لها سيريال لا يتغير إلى بعمل فورمات كما إن سعرها ليس مرتفع ففي مصر مثلا الفلاش 250 ميجا بحوالي 50 ج إي اقل قليلا من 10 دولار

5- يمكن أن تجعل البرنامج لا يعمل إلا في وجود سي دي تقوم أنت بإعددها مسبقا - لاحظ أيضا أن لكل سي دي سيريال لا يتغير إلى بإضافة ملفات إليها ولا ينتقل بالنسخ

6- لو أن عدد المستخدمين محدود ويسهل الوصول إليهم ، إجعل لبرنامجك سيريال خاص لا يعلمه العميل وبالتالي لا يمكن لأحد تفعيل النسخة غيرك (لا تستهن بهذا الحل فإن بعض شركات البرمجة في مصر تستخدمه بفاعلية)

7- لو لديك خبرة ببرمجة الويب قم بتفعيل البرنامج من الإنترنت

8- لو أن من متطلبات برنامجيك العمل ضمن شبكة فيمكن أستخدام سيريال كارت الشبكة

9- يمكن ان تفعل النسخة عن طريق التليفون بأن يعطي البرنامج للعميل سيريال وتقوم أنت بإعطاءه السيريال المقابل تليفونيا أو أن ترسله له بالإيمال

10- ...

فكر أنت في حلول أخري

ملحوظة أخيرة

بالتجربة وجدت ان بعض الهاردات IDE لا يمكن استخراج السيريال منها إلا بعد إعادة تحميل نسخة الويندوز عليه مرة أخري :o ، وعليه قمت بعمل الأتي

أختبر أولا سيريال الهارد فإن وجد فبها ونعم وإلا أقوم بعمل توليفة من باقي معلومات الجهاز وأستخرج منها سيريال وللعلم تمكنت من عمل حوالي 100 سيريال لنفس معلومات الجهاز

هذا وإن لم تجد مبتغاك في هذه الأفكار فيسعدني ان نفكر سويا في أفكار أخري - فمن قال أن الأفكار تنتهي؟ ;)

لا تَقُولن لِشيءٍ ذَا نَاقِصٌ ... وَلَكن أَعمل وَقُل ذَا أكملُ

#8

الأخ الفاضل ...

zip.gif HWInfoEx.zip ( 173k )

بأستخدام (VC 6.0/VB 6.0/VBS/ASP/MS-Access) - يعطيك بيانات عن (يمكن استخدامها فى أغراض عديدة)

يحتوى على مكتية (DLL) و مكون (COM Object) يمكن أستعمله فى أى تطبيق

1) الرقم المسلسل للهارد ديسك (Harddisk) و معلومات أخرى

2) الرقم المسلسل دريف (Logic drive) و معلومات أخرى

3) رقم الـ(MAC) لكارت الشبكة

4) الرقم المسلسل للمعالج (Processor) و معلومات أخرى

5) حجم الذاكرة (RAM)

6) تاريخ ورقم الـ(BIOS) على اللوحة الأم

7) مفتاح (Product-Key) ورقم (Product-ID) نسخة الويندوز

8) محاولة جمع بعض المعلومات عن كارت العرض (VGA)

/index.php?showtopic=117811

وشكراً

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 26 فبراير 2008 في 15:34

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#9

الف شكر ... والله انا دورت كتير على الكود ده

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…