تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية التعديل على قيمه معينه داخل ملف هيكس
#1
بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

انا اريد اغير قيمة عند اوفست محدد ببرنامج

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

وادلوني على الخير جزاكم الله خير



الرد }}}
تم الشكر بواسطة:
#2
أدرج زر جديد بإسم Command1 ثم إلصق هذا الكود داخل كود الفورم , المتغير OffSet يعني بداية التغيير , وغير مسار الملف بالمسار في جهازك :

كود :
Private Function HexToString(ByVal HexToStr As String) As String

Dim StrTemp   As String
Dim StrReturn As String
Dim I         As Long
   
For I = 1 To Len(HexToStr) Step 2
   
   StrTemp = Chr$(Val("&H" & Mid$(HexToStr, I, 2)))
   StrReturn = StrReturn & StrTemp

Next I
   
HexToString = StrReturn

End Function

Private Sub Command1_Click()

Dim FileBytes As String
Dim F As Integer
Dim OffSet As Double
Dim NewValue As String

'موقع بداية التغيير
OffSet = 1245

'القيم الجديدة التي تريد إستبدالها بالقديمة
NewValue = "457AF2"

F = FreeFile
Open "C:\MyFile.exe" For Binary As #F
    FileBytes = Space$(LOF(F))
    Get #F, , FileBytes
Close #F

NewValue = HexToString(NewValue)

'عدد القيم المراد تغييرها 3
Mid$(FileBytes, OffSet, 3) = NewValue

F = FreeFile
Open "C:\MyFile.exe" For Binary As #F
    Put #F, 1, FileBytes
Close #F

MsgBox "تم تعديل القيم بنجاح"

End Sub
الرد }}}
تم الشكر بواسطة: kalach
#3
السلام عليكم ورحمة الله وبركاته

اخي Ahmed_Mansoor

لقد قمت بجميع طرق لكن الكو د يغير القيمة لقبل القيمة لانا طلب منو شكرا للمتابعة وسرعة الرد انتظر الرد بحرارة


Private Function HexToString(ByVal HexToStr As String) As String

Dim StrTemp As String
Dim StrReturn As String
Dim I As Long

For I = 1 To Len(HexToStr) Step 2

StrTemp = Chr$(Val("&H" & Mid$(HexToStr, I, 2)))
StrReturn = StrReturn & StrTemp

Next I

HexToString = StrReturn

End Function

Private Sub Command1_Click()

Dim FileBytes As String
Dim F As Integer
Dim OffSet As Double
Dim NewValue As String

'موقع بداية التغيير
OffSet = 1F4
OffSet = 1F5
OffSet = 1F6

'القيم الجديدة التي تريد إستبدالها بالقديمة
NewValue = "45"
NewValue = "7A"
NewValue = "F2"

F = FreeFile
Open "C:\MyFile.exe" For Binary As #F
FileBytes = Space$(LOF(F))
Get #F, , FileBytes
Close #F

NewValue = HexToString(NewValue)

'عدد القيم المراد تغييرها 3
Mid$(FileBytes, OffSet, 3) = NewValue

F = FreeFile
Open "C:\MyFile.exe" For Binary As #F
Put #F, 1, FileBytes
Close #F

MsgBox "تم تعديل القيم بنجاح"

End Sub
الرد }}}
تم الشكر بواسطة:
#4
شكلك مافهمت الكود اخي العزيز ، الكود جربته ويعمل بكفاءه ، المقصود بالمتغير offset ليس الرقم الازرق الطويل الموجود على اليسار في صورتك المرفقه وانما المقصود به رقم اول قيمة من القيم التي تريد تغييرها ، انت لما تحدد اول قيم وذلك بتظليلها اكيد سيظهر لك رقمها او رقم موقعها في الملف ربما ستجد الرقم في اسفل شاشة برنامج الهيكس الدي تستخدمة ، جرب تظلل قيم مختلفة وشوف اذا رقم في اسفل الشاشة يتغير مع تظليلك لقيم مختلفة ، اذا عثرت عليه فهذا هو الرقم المقصود ان يكون قيمة متغير الoffset في الكود الذي ارفقته لك ، وبالنسبة للمتغير الذي يحمل القيم الجديدة فاتركها مثلما كانت في الكود اكتبها بجنب بعض كما كانت .
الرد }}}
تم الشكر بواسطة: kalach
#5
السلام عليكم ورحمة الله وبركاته

اخي العزيز Ahmed_Mansoor

لقد قمت بتظليل لقيم متغير ووجدة هذا Offset

http://up.dev-point.com/uploads/de7a68ac9e001.png
الرد }}}
تم الشكر بواسطة:
#6
سأشرح لك كيفية عمل ذلك , بالفيديو فلاش .

هذا هو الشرح أخي الكريم .

- رابط مباشر :
http://im70.gulfup.com/01ObIt.swf

آمل أن تفهم الكود .


الملفات المرفقة
.rar   ChangeHexValues.rar (الحجم : 506.15 ك ب / التحميلات : 80)
الرد }}}
تم الشكر بواسطة: kalach
#7
نجحت معايا وشكرا ليكم بجد انا فعلا مبسوط من دعمكم وشكر
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] كيفية استيراد ملف اكسل الى قاعدة بيانات اكسس في فيجوال 6 sher 14 8,481 14-06-22, 04:01 PM
آخر رد: sher
  [vb6.0] أريد تخصيص وظيفه لازرار لوحة المفاتيح مثلا F2 يتم فتح نافذه معينه hamada salah90 2 1,185 29-07-21, 07:50 PM
آخر رد: hamada salah90
  [vb6.0] كيفية قراءة الباركود على مكينات الكاشيير والمخازن باستعمال خط 3OF9_NEW hamada salah90 1 1,043 28-05-21, 02:48 AM
آخر رد: ahmedabdelaliem
  كيفية جمع الكمية وحذف السطور المكررة فى Msflexgrid ؟ gedo 4 3,568 19-03-21, 03:01 AM
آخر رد: mhqom2020
Lightbulb [سؤال] كيفية إيجاد (رقم معين) بعد عدة فواصل محددة أبو خالد الشكري 2 1,529 04-02-21, 02:23 AM
آخر رد: أبو خالد الشكري
  كيفية اضافة خواص لاداة UserControl ؟ gedo 1 1,978 18-09-20, 06:46 PM
آخر رد: SoftWare Haker
  كيفية ارسال معطيات الداتاكريد الى الاكسيل lkjnfg 0 1,201 25-08-20, 10:34 PM
آخر رد: lkjnfg
  رابط تشعبي داخل نص text hannileo 3 1,864 29-05-20, 06:08 PM
آخر رد: مصمم هاوي
  حظر حذف رمز معين داخل مربع النص text hannileo 3 1,965 20-04-20, 01:04 AM
آخر رد: مصمم هاوي
  [سؤال] استفسار كيفية الدمج بين اكثر من جدول NOOOR 4 3,878 13-07-19, 03:14 AM
آخر رد: gadr

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


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