29-07-2019, 09:56 PM
(آخر تعديل لهذه المشاركة : 05-08-2019, 05:01 AM بواسطة Gu-sung18.
تعديل السبب: ا
)
بعد البحث وعمل research عن الموضوع وجدت ان الفكرة ليست جديدة فـ Mario Vilas برمج سكربت بايثون لمنقحة winappdbg يقوم بنفس الامر
وكذلك Justin Seitz برمج منقح بايثون صغير وقام ببرمجة سكربت يقوم بنفس الامر في كتابة Gray Hat Python في الشابتر الثالث وشرح الامر كذلك بالتفصيل.
السكربت سيطلب منك فقط الـ PID للـ process الذي تريده
كلمة السر
dump_thread_context.zip (الحجم : 5.77 KB / التحميلات : 21)
كذلك لغة بايثون تسهل لك الامر بخصوص اضافة اشياء جديدة للسكربت
ولكن سيكون من الجميل لو تم برمجة كود بـ c او ++c في حال تطلب الامر سرعة او تطوير اداة خاصة
إقتباس :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 x64E:\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
dump_thread_context.zip (الحجم : 5.77 KB / التحميلات : 21)
كذلك لغة بايثون تسهل لك الامر بخصوص اضافة اشياء جديدة للسكربت
ولكن سيكون من الجميل لو تم برمجة كود بـ c او ++c في حال تطلب الامر سرعة او تطوير اداة خاصة
سبحان الله وبحمده، سبحان الله العظيم