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

[ تمت الإجابة ]كيف أقرأ محتويات Control موجودة فى أى برنامج له Window

مغلق
بدأه _- محمد نور -_ في 24 يونيو 2009 · 12 رد · 2,419 مشاهدة · في أرشيف قسم Windows APIs
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

و قد استخدم بعض الWinAPI

أنا أعرف كيف صنع هذا

السؤال هو

عندى برنامج فيه listView

مثل أى برنامج و ليكن ProcessExplorer

و أريد أن أنسخ محتويات الlistview

كيف أفعل هذا ؟؟

مثال أخر

عندى برنامج مثل utorrent

فى الصورة

post-63827-1245790738_thumb.png

يوجد مجموعة من الtabs و الtab المفتوحة حاليا بها ListView يوجد بها عناصر, أريد أن أنسخ هذه العناصر

كيف أفعل هذا

لو تعلم أسماء functions أفعل بها هذا

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#2

إستعمل LVM_GETITEMTEXT مع SendMessage لإرسال رسالة للست فيو

الشغلة محتاجة شغل أكثر لإستقبال أسماء العناصر , لازم تحجز مساحة على البروسس الهدف وتنسخ لها كتلة الLV_ITEM عشان تحمل معلومات العناصر ,

أيضاَ تحتاج بالبدء لجلب عدد العناصر في القائمة الهدف , لإستعمالها في عمل لووب , عن طريق رسالة LVM_GETITEMCOUNT :)

مثال بسيط بالفيجول لجلب إسم أول عنصر :

http://www.vbforums.com/attachment.php?attachmentid=46695&d=1144367852

دمت بود :)

#3

شكرا لك على هذا التفاعل السريع

سوف أبدأ بالبحث عن LVM_GETITEMTEXT

و لكن ألا يوجد أى مثال أخر مكتوب بالسى أو بالدوت نت

أعانى فى فهم الsyntax الخاص بالVB دوما

عموما

شكرا لك

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#4

في نفس الموضوع ,’ كان يدور حول عمل الكود كdll تحقن في البرنامج المستهدف عن طريق Hook

http://www.vbforums.com/showpost.php?p=241...amp;postcount=8

---------

تعاني صعوبة في فهم البيبي ؟؟ ولا تعاني صعوبة في فهم :

LVITEM *lvItem;
char lpText[255];
HINSTANCE hInst;
bool flag = true;;

:P الله يوفقك للي فيه الخير ,,,

#5

ههههههه

لست أدرى كيف حدث أننى لما بدأت أقرأ الملف الذى به الكود فهمت الsyntax بسهولة مع كونى متعقد من الvb و من كوده منذ زمان و خصوصا أننى لم أتعامل غير مع السى و أتبعها فقط فى لغات البرمجة

عموما لقد بدأت و لكنى أكتب الكود فى الدوت نت

أعانى من مشكلة صغيرة

حينما أستخدم الVirtualAllocEx لا تعمل

هذه هى

VirtualAllocEx(hWnd, 0, MAX_LVMSTRING, MEM_COMMIT, PAGE_READWRITE)

بحثت فى الأمر

فوجدت أنه يجب أن أحصل على كود أخر خطأ

الحمد الله أستطعت الحصول على كود أخر خطأ

والذى أستخدمت من أجل الحصول على نص الرسالة FormatMessage

المهم نص رسالة الخطأ التى لا أفهم مدلولها

An attempt was made to reference a token that does not exist

حد يقل لى معنى هذه الرسالة :blink:

هو يستخدم الVirtualAllocEx لكى يحجز مكان تابع للprocess التى أريد الحصول منها على الlistview

هل هذا شئ حتمى

أنا بأمكانى أن أصنع هذا بكل سهولة من الدوت نت و لكن سوف أحجز مكان فى الglobal أو فى أى مكان أخر و لكن لن يكون تابع للprocess

تم تعديل هذه المشاركة بواسطة نور (محمد نور) في 24 يونيو 2009 في 06:47

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#6

VirtualAllocEx(hWnd, 0, MAX_LVMSTRING, MEM_COMMIT, PAGE_READWRITE)

ياعم الدالة عايزة مقبض للبروسس مش للنافذة ، لازم تفرّق بين الـHWND و الـHANDLE :D

تم تعديل هذه المشاركة بواسطة GamingMasteR في 24 يونيو 2009 في 07:04

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#7
اقتباس
لازم تفرّق بين الـHWND و الـHANDLE

بمناسبة الصورة الجديدة ,, ممكن توضح الفرق

وبعدين أنا مش هاستناك على الماسنجر كتير ياعم انت :angry: :angry:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#8

يا محمد هذه مجرد تسمية ليس أكثر

أنا بالفعل أعطيها Handle على الprocess و لكنى سميتها هذا الإسم و لم أقصد هذه اللخبطة

اقتباس
وبعدين أنا مش هاستناك على الماسنجر كتير ياعم انت

راجع الخاص :D

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#9

انت عملت ايه بالضبط ؟

شوف الليلة ماشية كدة :

- Allocate buffer for text in target process by VirtualAllocEx

- Allocate buffer for LVITEM structure in target process by VirtualAllocEx

- Initialize a local LVITEM structure, set pszText = text buffer address, cchTextMax = buffer size and don't forget about iSubItem

- Copy the local LVITEM to the remote LVITEM in the target process by WriteProcessMemory

- Send LVM_GETITEMTEXT to the listview

- Read the text by ReadProcessMemory

- Free allocated buffers and release opened handles

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#10

حلو جمييييييييييييييييييل

أنا لما بأبدأ فى عمل VirtualAllocEx و أنظر فى أخر خطأ راجع يكون هذه الرسالة

An attempt was made to reference a token that does not exist

هذه الرسالة أقل شئ ممكن يكون معناها أنه لا يستطيع أن ينشئ يرى الpointer الذى تم عمله على البروسيس

و ده بيتعمل عادى مفيش منه مشاكل

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#11

ممكن توريني الكود ؟ انا مبفهمش في رسايل الدودنت ده :P

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#12

محمد الرسالة ديه من السيستم مش من الدوت نت

أنا حصلت عليها بشئ زى getLastError

و ب FormatMessage

الرسالة رقم 1008 على ما أذكر حاليا

عموما المشكلة حاليا تم حلها و لا أعلم كيف

إل أن تحدث مشكلة أخرى

أريد أن أعلم شئ مهم

هل هذه الخطوات أتبعها للوصول إلى أى كنترول فى أى برنامج !!

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#13

تقريباً ، مفيش احسن من التجريب يا صاحبي ، جرّب اكثر تعرف اكثر .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

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

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

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

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

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

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