delphi4arab منتديات دلفي للعرب
لماذا لا يتم نقل البيانات كما هي - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : لماذا لا يتم نقل البيانات كما هي (/showthread.php?tid=8582)

الصفحات: 1 2 3


RE: لماذا لا يتم نقل البيانات كما هي - Agmcz - 07-04-2017

نعم يمكن تحويل والتشغيل بكل سهولة
لكن ما الغرض من هذه العملية؟ لأن البيانات في الحقيقة هي نفسها سواء كانت string او غيره


RE: لماذا لا يتم نقل البيانات كما هي - mohamed49 - 07-04-2017

لا يوجد غرض فقط اريد ان اتحكم واستطيع فهم الية التلاعب بالاشياء وبعد الحل ربما سانظر اذا كان شيء سيقف في طريقي لاعيد التفكير فيه واذا عجزت عنه ساطرحه وهكذا حتى ترسخ بالراس


RE: لماذا لا يتم نقل البيانات كما هي - Agmcz - 07-04-2017

شاهد المرفق


RE: لماذا لا يتم نقل البيانات كما هي - mohamed49 - 07-04-2017

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


RE: لماذا لا يتم نقل البيانات كما هي - Agmcz - 07-04-2017

المدخل للدالة هو عنوان وليس string أو Byte أو Integer
لذا فالنوع في هذه الحالة ليس مهم و المهم هو بداية البيانات الحقيقية لتعمل الدالة
والغرض من التحويل في هذه الحالات إلى string لاستعمال دوال اخرى مثلا للتشفير
انتبه فعند تحويل exe إلى string النتيجة في Memo ستظهر فقط MZP
لأن MZP = 4D 5A 50
و يليها مباشرة 00
وكما نعرف أن 00 يعني ان السلسلة انتهت.


RE: لماذا لا يتم نقل البيانات كما هي - mohamed49 - 07-04-2017

نعم لقد اخبرتني مرة عنها لذا اصبحت اعمل حلقة على الناتج ان كان يساوي #0 يتم استبداله واحيانا كنت اقوم بحذفه نهائيا لذا سالتك ان كان حذف null byte يؤثر على الملف ام لا لكن اظن انك لم تنتبه للسؤال لانك لم تجبن عليه


RE: لماذا لا يتم نقل البيانات كما هي - محمد عبد العزيز - 07-04-2017

اخ محمد انت تدور في حلقة مفرغة
RunPE يقوم بتنفيذ الملف التنفيذي بالذاكرة
يعني الملف الذي بالذاكرة يكون نفسه الملف الذي بالقرص
نفس البيانات، لا تحويل الى String ولا يحزنون
ولا تغيير Null byte ولا شيئ



RE: لماذا لا يتم نقل البيانات كما هي - mohamed49 - 07-04-2017

اعرف اخي انا اريد معرفة تطوير معرفتي فانا لا احتاجه من الاصل لكن عندما يشغلني شيء لا احب ان امر عليه مر الكرام ثانيا عندما تريد الحفظ في Liststring يجب على حسب خبرتي البسيطة انه يجب استبدال nulbyte والا فلن يكتب لك سوى الحرفين الاولين لانه كما قال الاخ يظن انه نهاية السترنغ فيتوقف والله اعلى واعلم


RE: لماذا لا يتم نقل البيانات كما هي - Agmcz - 07-04-2017

النوع String في دلفي يتم كتابة طوله قبل ربع بايت من عنوان بداية السلسلة.

فما دخل الإستبدال في حالتك؟؟؟
الله أعلم


RE: لماذا لا يتم نقل البيانات كما هي - محمد عبد العزيز - 07-04-2017

إقتباس :انا اريد معرفة تطوير معرفتي...
معرفة تطوير معرفتك ؟
تعلم الاشياء من الاساس
هذا علم دقيق، صفر واحد، مبنى على المنطق، تخطأ في byte لا يعمل!
حتى الان لك أكثر من ستة مواضيع تدور في نفس الحلقة المفرغة

ما المشكل بالضبط! اطرح سؤال واضح.