H4x0r
./ عضو




السمعة:
- إنضم26 يونيو 2023
- المشاركات 80
- الحلول 1
- مستوى التفاعل 230
- النقاط 33
السلام عليكم هذا التحدي من مسابقة محاربي السايبر التئهيلية
في مجال Forensics طبعا خلينا نشوف اول اشي اسم تحدي و الوصف … الخ
مشاهدة المرفق 1_qd_CTFTaRX9-1KuYrJeKTA.webp
تمام الان طبعا هذا الوصف و الاسم و الملف الثاني بعد التعديل خلال 4 ساعات ما حد عرف يحل التحدي لانو ما كان واضح كان بس Corrupted تمام الان بعد تنزيل الملفين …
طبعا بعد تنزيل الملف ( الخربان ) هو Corr تمام بدك تفتح على hex editor تشوف وين الاخطاء و تعدلها شوف بصورة عنا ملفين فتحت ملف corr في hex editor و الملف الثاني file (1) .txt فتحتو اذا بتلاحظ انو ملف txt بحتوي على نفس قيم hexa بس مكتوبة بطريقة اخرى طيب هون بتسئل حالك شو سبب؟؟؟؟؟ ليش؟؟؟
بتعرجع تقراء الوصف في كلمة مهمة ( Everything in Reverse ) تمام هون انتا بتبلش تربط الامور امامك حلين يا بتكب سكربت يعكس يا بتستخدم موقع اونلاين …
تمام هون تمت عملية Reverse بنجاح يا وحش . بس في شغلة يعني بشكل عام اهم اشي بل ملف اول 4 byte او خلينا نحكي ال (Hedar) طبعا الكلام هاد ممكن نحكي فيه بموضوع خاص نعطيه حقو بس خلينا نحكي بدنا اول 4 byte يكونو صح بس لو انت بتعرف file signatures رح تلاحظ شغلة قوية خليني اوضحها بصورة اول …
بعد ما تركز بتلاقي انو بعد ما عملنا revese الملف هو عبارة عن png بس في خربطة ركز اكثر ركز بتلاقي انو لو عملنا swap بين كل byte جنب بعض ال (head) تاع الملف بزبط طيب معناتو شو الفكؤة الثانية بتحدي انو بدك تعمل swap لكل byte جنب بعض عن طريق تكتب سكربت لطيف بعمل كل الشغل هاد و الملف بشتغل و كل اشي تمام ما رح اعطيك ( flag ) بس رح اعطيك ملفات التحدي تحلو لحالك و هي السكربت :
def swap_bytes(file_path): # Read the file content as bytes with open(file_path, "rb") as file: content = file.read() # Create a bytearray for the swapped content swapped_content = bytearray() # Swap the positions of every two bytes for i in range(0, len(content), 2): if i + 1 < len(content): swapped_content.extend(content[i + 1:i - 1:-1]) else: swapped_content.append(content) # Write the swapped content back to the file with open(file_path, "wb") as file: file.write(swapped_content) # Provide the path to your file file_path = "flag" # Call the function to swap the position of bytes in the file swap_bytes(file_path)
after this will find two value… اكتشف لحالك + سامحونا اذا في حكي كثير او اخطاء املائية
في مجال Forensics طبعا خلينا نشوف اول اشي اسم تحدي و الوصف … الخ
مشاهدة المرفق 1_qd_CTFTaRX9-1KuYrJeKTA.webp
تمام الان طبعا هذا الوصف و الاسم و الملف الثاني بعد التعديل خلال 4 ساعات ما حد عرف يحل التحدي لانو ما كان واضح كان بس Corrupted تمام الان بعد تنزيل الملفين …
طبعا بعد تنزيل الملف ( الخربان ) هو Corr تمام بدك تفتح على hex editor تشوف وين الاخطاء و تعدلها شوف بصورة عنا ملفين فتحت ملف corr في hex editor و الملف الثاني file (1) .txt فتحتو اذا بتلاحظ انو ملف txt بحتوي على نفس قيم hexa بس مكتوبة بطريقة اخرى طيب هون بتسئل حالك شو سبب؟؟؟؟؟ ليش؟؟؟
بتعرجع تقراء الوصف في كلمة مهمة ( Everything in Reverse ) تمام هون انتا بتبلش تربط الامور امامك حلين يا بتكب سكربت يعكس يا بتستخدم موقع اونلاين …
تمام هون تمت عملية Reverse بنجاح يا وحش . بس في شغلة يعني بشكل عام اهم اشي بل ملف اول 4 byte او خلينا نحكي ال (Hedar) طبعا الكلام هاد ممكن نحكي فيه بموضوع خاص نعطيه حقو بس خلينا نحكي بدنا اول 4 byte يكونو صح بس لو انت بتعرف file signatures رح تلاحظ شغلة قوية خليني اوضحها بصورة اول …
بعد ما تركز بتلاقي انو بعد ما عملنا revese الملف هو عبارة عن png بس في خربطة ركز اكثر ركز بتلاقي انو لو عملنا swap بين كل byte جنب بعض ال (head) تاع الملف بزبط طيب معناتو شو الفكؤة الثانية بتحدي انو بدك تعمل swap لكل byte جنب بعض عن طريق تكتب سكربت لطيف بعمل كل الشغل هاد و الملف بشتغل و كل اشي تمام ما رح اعطيك ( flag ) بس رح اعطيك ملفات التحدي تحلو لحالك و هي السكربت :
def swap_bytes(file_path): # Read the file content as bytes with open(file_path, "rb") as file: content = file.read() # Create a bytearray for the swapped content swapped_content = bytearray() # Swap the positions of every two bytes for i in range(0, len(content), 2): if i + 1 < len(content): swapped_content.extend(content[i + 1:i - 1:-1]) else: swapped_content.append(content) # Write the swapped content back to the file with open(file_path, "wb") as file: file.write(swapped_content) # Provide the path to your file file_path = "flag" # Call the function to swap the position of bytes in the file swap_bytes(file_path)
after this will find two value… اكتشف لحالك + سامحونا اذا في حكي كثير او اخطاء املائية
التعديل الأخير بواسطة المشرف: