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

كيف يمكن القراءة من ملف

مغلق
بدأه Eng.Helmy في 12 ديسمبر 2007 · 11 رد · 2,329 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف يمكن القراءة من ماف باستخدام لغة التجميع

وجزاكم الله خيرا

#2

16 ام 32 بت؟

Do as I say, not as I do

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

#3

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

32 بت

اريد عمل برنامج لتشفير ملف

ولفعل ذلك احتاج للقراءة من ملف فكيف يمكن فعل ذلك

وجزاكم الله خيرا

#4

باختصار,

Microsoft MSDN

http://msdn2.microsoft.com

ابحث عن دالة CreateFile لتقوم بفتح الملف والحصول على مقبض Handle للتعامل معه

دالة ReadFileEx او ReadFile لقراءة الملف بالاعتماد على المقبض الذي حصلت عليه من الدالة السابقة.

السلام عليكم

Do as I say, not as I do

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

#5

هذا ما وجدت في ال

ReadFile

ReadFile PROTO, ; read buffer from input file

fileHandle:DWORD, ; handle to file

pBuffer:PTR BYTE, ; ptr to buffer

nBufsize:DWORD, ; number bytes to read

pBytesRead:PTR DWORD, ; bytes actually read

pOverlapped:PTR DWORD ; ptr to asynchronous info

واريد ان اعرف

ما هو ال

fileHandle?

وما هو ال PBuffer

وما هو ال

pOverlapped

ماذا اكتب بدلا عنهم في ال

invoke

وجزاكم الله خيرا

#6
invoke CreateFile,addr lpFileName,GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,null,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,null
		mov hFile,eax
	invoke GetFileSize,hFile,0
		mov fSize,eax
	invoke ReadFile,hFile,addr buffer,fSize,addr BytesRead,0
	invoke CloseHandle,hFile

1-اول سطر يقوم بفتح مقبض لملف بخصائص معينة ( مثل المشاركة والعمليات المرغوبة ) للقرائة او الكتابة

2-نقوم بتخزين مقبض الملف في hFile.

3-نقوم بتحديد حجم الملف الكلي

4-نخزن الحجم في fSize

5-نقوم بقراءة محتوى الملف في buffer بحجم يساوي fSize

6-لا تنسى ابدا ان تغلق ما فتحته من مقابض

لا تنسانا عند انتهائك من البرنامج وخلينا نشوفه :)

تم تعديل هذه المشاركة بواسطة GamingMasteR في 13 ديسمبر 2007 في 10:48

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#7

سؤال اخر ماذا اذا كان الملف الذي سنقوم بقرائتة بدالة CreateFile شغال يعني يعمل في الذاكرة ففي هذة الحالة الدالة لن ترجع مقبض بل سترجع error فما هو حل هذة المشكلة ؟؟؟ B)

#8

تستطيع استخدام الدالة حتى لو الملف مفتوح, المقبض الذي تحصل عليه لا علاقة له بالمقبض الموجود بالأصل.

Do as I say, not as I do

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

#9

لدينا برنامج لفحص الملفات عندما يكون الملف مفتوح فيحدث error يغلق البرنامج

قمت بتتبع البرنامج ووجدت الخطا يحدث بعد هذة الدالة حيث تكون القيمة في eax هي FFFFFFFF

اما اذا كان الملف المراد فحصة مش شغال فلا يحدث مشاكل.

#10

عندما يكون مفتوح وتحاول الحصول على مقبض له يتم اغلاقه بخطأ؟

هل من الممكن ان تقوم بوضع رابط له؟

Do as I say, not as I do

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

#11

بالتأكيد الخطأ في الـShareMode

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#12

مش عارف يا GammingMasteR

اما عن وضع رابط للبرنامج فممكن ارسلة لك اخ Xacker علي الخاص B)

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

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

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

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

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

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