تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كتابة برنامج لقراءة قيم الرجستر في البرنامج
#10
بعد البحث وعمل research عن الموضوع وجدت ان الفكرة ليست جديدة فـ Mario Vilas برمج سكربت بايثون لمنقحة winappdbg يقوم بنفس الامر
إقتباس :dumping code, stack and registers
 
https://winappdbg.readthedocs.io/en/latest/_downloads/04_dump.py
 
وكذلك Justin Seitz برمج منقح بايثون صغير وقام ببرمجة سكربت يقوم بنفس الامر في كتابة Gray Hat Python في الشابتر الثالث وشرح الامر كذلك بالتفصيل.
https://nostarch.com/download/ghpython_src.zip
ولكن كلا السكربتان لا يعملان مع ويندوز x64 فهما خاصان بـ 32 بت فقط لذلك قررت تعديل السكربت الثاني (بما انه لا يحتاج تنصيب مكتبات ويعتمد على نفسة)،  اكملت جزء من التعديل ولكن واجهتني مشكلة وعند شروعي بالبحث لحلها وجدت ان شخص قد سبقني وقام بتعديل السكربت.
https://crattack.tistory.com/entry/python-thread-context-%EB%B3%B4%EA%B8%B0win7-64bit
لقد قمت بنسخ السكربت المعدل وتعديل التنسيق في المحرر وتجربته وهذه كانت النتيجة على windows 10 pro x64
E:\pytest>python loader.py

Enter The PID of the process to attach to : 6256
[*] Select PID 6256
[*] OpenProcess Handle : 512
[*] self.h_process : 512
[*] Enumerate Thread inside
[*] Dumping registers for Thread ID: 0x00002608
[*] RIP : 0x0000000000000001
[*] RSP : 0x00000000013ef4f0
[*] RBP : 0x00000000013ef280
[*] RAX : 0x000000005e340000
[*] RBX : 0x00000000013ef3b0
[*] RCX : 0x000000000362d560
[*] RDX : 0x000000000362d3e8
[*] End DUMP
[*] Dumping registers for Thread ID: 0x0000230c
[*] RIP : 0x0000000000000001
[*] RSP : 0x00000000013ef4f0
[*] RBP : 0x00000000013ef280
[*] RAX : 0x000000005e340000
[*] RBX : 0x00000000013ef3b0
[*] RCX : 0x00000000013ef2f0
[*] RDX : 0x00009f1917c72eb1
[*] End DUMP
[*] Dumping registers for Thread ID: 0x00000a78
[*] RIP : 0x0000000000000001
[*] RSP : 0x00000000013ef4f0
[*] RBP : 0x00000000013ef280
[*] RAX : 0x000000005e340000
[*] RBX : 0x00000000013ef3b0
[*] RCX : 0x00000000013ef2f0
[*] RDX : 0x00009f1917c72eb1
[*] End DUMP
[*] Dumping registers for Thread ID: 0x00001a58
[*] RIP : 0x0000000000000001
[*] RSP : 0x00000000013ef4f0
[*] RBP : 0x00000000013ef280
[*] RAX : 0x000000005e340000
[*] RBX : 0x00000000013ef3b0
[*] RCX : 0x00000000013ef2f0
[*] RDX : 0x00009f1917c72eb1
[*] End DUMP
[*] Dumping registers for Thread ID: 0x00000c1c
[*] RIP : 0x0000000000000001
[*] RSP : 0x00000000013ef4f0
[*] RBP : 0x00000000013ef280
[*] RAX : 0x000000005e340000
[*] RBX : 0x00000000013ef3b0
[*] RCX : 0x00000000013ef2f0
[*] RDX : 0x00009f1917c72eb1
[*] End DUMP
[*] Dumping registers for Thread ID: 0x000023e4
[*] RIP : 0x0000000000000001
[*] RSP : 0x00000000013ef4f0
[*] RBP : 0x00000000013ef280
[*] RAX : 0x000000005e340000
[*] RBX : 0x00000000013ef3b0
[*] RCX : 0x00000000013ef2f0
[*] RDX : 0x00009f1917c72eb1
[*] End DUMP
[*] Dumping registers for Thread ID: 0x00000994
[*] RIP : 0x0000000000000001
[*] RSP : 0x00000000013ef4f0
[*] RBP : 0x00000000013ef280
[*] RAX : 0x000000005e340000
[*] RBX : 0x00000000013ef3b0
[*] RCX : 0x00000000013ef2f0
[*] RDX : 0x00009f1917c72eb1
[*] End DUMP
[*] Dumping registers for Thread ID: 0x00001688
[*] RIP : 0x0000000000000001
[*] RSP : 0x00000000013ef4f0
[*] RBP : 0x00000000013ef280
[*] RAX : 0x000000005e340000
[*] RBX : 0x00000000013ef3b0
[*] RCX : 0x00000000013ef2f0
[*] RDX : 0x00009f1917c72eb1
[*] End DUMP
[*] finished debugging. Exiting...

E:\pytest>

السكربت سيطلب منك فقط الـ PID للـ process الذي تريده

كلمة السر
www.at4re.net

.zip   dump_thread_context.zip (الحجم : 5.77 KB / التحميلات : 21)

كذلك لغة بايثون تسهل لك الامر بخصوص اضافة اشياء جديدة للسكربت Cool
ولكن سيكون من الجميل لو تم برمجة كود  بـ c او ++c في حال تطلب الامر سرعة او تطوير اداة خاصة
سبحان الله وبحمده، سبحان الله العظيم
أعضاء أعجبوا بهذه المشاركة : GamingMaster


الردود في هذا الموضوع
RE: كتابة برنامج لقراءة قيم الرجستر في البرنامج - بواسطة Gu-sung18 - 29-07-2019, 09:56 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 8 ) ضيف كريم