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

كيف يمكن معرفة serial number for hard disk

مغلق
بدأه jfriend في 3 ديسمبر 2006 · 10 رد · 2,434 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف يمكن عن طريق الأسمبلي معرفة الأشياء الخاصة بالحاسوب

مثل serial number for hard disk

والشكر الحزيل

#2

السلام عليكم

يا جماعة إذا ممكن حدا يعطيني بس طرف الخيط

و بكمل البحث لوحدي

أنا دورت ب google ولكن ما لقيت طلبي

#3

هل قرأت عن شئ اسمه الـ API؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

استخدم GetVolumeSerial

لكنها لا تعطي رقم سريال مصنع القرص الصلب

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#5

اللام عليكم ورحمة الله وبركاته

إخوتي الكرام dj-siba وXacker

شكرا جزيلا على ردودكم وبارك الله فيكم

أخيXacker قد سمعت كثيرا بالاسم ولكن لا أدري مادا يعني

أخي dj-siba قد بحثت في الدالة GetVolumeSerial

ووجدت أنها فعلا بترجع رقم السيريال للقرص الصلب و لكن للأسف بلغة

الفيجوال بيسيك وأنا أريدها بلغة الأسمبلي

مش شرط serial number for hard disk

أي شيء خاص بالحاسوب

#6

http://msdn.microsoft.com/library/default....information.asp

اقرا ما هنا ثم اتبع القسم الذي يشير الى http://msdn.microsoft.com/library/default....ysicalmedia.asp

http://msdn2.microsoft.com/en-us/library/h...eyh(VS.80).aspx

لتحصل على معلومات حول المعالج (هناك تعليمة في الاسمبلي cpuid جاهزة)

http://www.zealsoftstudio.com/memaccess/

هذه المكتبة لتحصل على معلومات عن البيوس مثلا.

ستحتاج لعمل disassembly لتستطيع كتابة قريب..

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7
اقتباس
أخي dj-siba قد بحثت في الدالة GetVolumeSerial

ووجدت أنها فعلا بترجع رقم السيريال للقرص الصلب و لكن للأسف بلغة

الفيجوال بيسيك وأنا أريدها بلغة الأسمبلي

هي دالة API لويندوز

ويمكن استدعائها باستخدام اي لغة VB او C/C++ او Delphi او Assembly او اي لغة برمجة اخرى...

اخي انصحد بمراجعة المواضيع المثبة فوق بها ما تريد واكثر

اضافة للروابط التي كتبها الأخ Xacker

والسلام عليكم ورحمة الله

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#8

السلام عليكم

إخوتي الكرام

شكرا جزيلا لكم وأسأل الله أن يجعله في ميزان حسناتكم

أخي الكريم Xacker أنا مش قادرة أتعامل مع الروابط الي انت حطها

بشوفها بلغات غير الأسمبلي.

معلش يا جماعة اعذروني أنا مش متمكنة من الأسمبلي

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

والتعليمات.

أخي الفاضل dj-siba أنا لما أستدعي GetVolumeSerial أو cpuid في برنامج الأسمبلي

وأعمله tasm بطلعلي error هو illegal instruction أش وجهة نظر حضرتك.

أكرر شكري لحضراتكم.

والسلام عليكم

#9

jfriend احسن شيئ: ارفق لنا محاولتك

وسيقوم الشباب بمساعدتك

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#10

السلام عليكم

الملفات مرفقة

ملاحظة ملف ser.asm الكود تعته جبتها من الإنترنت

أما الملفين التانين فقط كتبت فيهم اسم التعليمة

files.rar

#11
		.model small
		.code
		getvolumeserial
		mov ah,4ch
		int 21h
		end

الدوال التي كنا نتكلم عنها هنا لا تستخدم في 16بت.

فقط في بيئة تتعامل مع العنونة بـ 32بت فاكثر

استخدام الدالة ليس بالصعب, لم استخدم tasm لا اعلم ان كان يدعم invoke

باي حال هو شئ قريب من:

invoke GetVolumeSerial, param1, param2, ..., param[n]



او



push  param[n]

...

push   param2

push   param1

call GetVolumeSerial

في حال لم يكن يدعم invoke

حيث param[x] هو القيمة الخاصة بالمتغير وفق الدالة المستخدمة وعليك بمراجعته في MSDN لتتطلعي على البارامترات الواجب تمريرها واستخدامها.

اخي dj, هل هذه الدالة undocumented؟ لاني لا اعرفها وعندما بحثت عنها في MSDN لم اجدها!

باي حال, علي الذهاب الان.. بالتوفيق

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

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

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