الفريق العربي للهندسة العكسية
تحويل ملف ثنائي الي صيغة Elf - نسخة قابلة للطباعة

+- الفريق العربي للهندسة العكسية (https://www.at4re.net/f)
+-- قسم : منتديات الهندسة العكسية - Reverse Engineering Forums (https://www.at4re.net/f/forum-4.html)
+--- قسم : الأسئلة والإستفسارات، حلول المشاكل و تبادل الخبرات - Expert Exchange Newbie Questions Answers (https://www.at4re.net/f/forum-36.html)
+--- الموضوع : تحويل ملف ثنائي الي صيغة Elf (/thread-1927.html)



تحويل ملف ثنائي الي صيغة Elf - Polia - 17-07-2020

سلام عليكم
واجهت بعض العقبات في تحويل كود ثنائي بيناري الي صيغة الف elf

امر objcopy
objcopy -I binary -B mips32  -O elf32-little --change-section-address .data=0x08000000 80.bin output.elf

المشكل في الـ mips يقةل غير متوفر او غير معروف
mips architecture unknown



RE: تحويل ملف ثنائي الي صيغة Elf - Gu-sung18 - 19-07-2020

وعليكم السلام
اذا كنت تتعامل مع mips لماذا تستعمل objcopy بدلاً من mips-linux-gnu-objcopy ؟

اذا نفذت الامر objcopy ستلاحظ في الاسفل اسماء المعماريات التي يدعمها
 
objcopy: supported targets: elf64-x86-64 elf32-i386 elf32-iamcu elf32-x86-64 a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big pe-x86-64 pe-bigobj-x86-64 pe-i386 plugin srec symbolsrec verilog tekhex binary ihex

نصب mips-linux-gnu-objcopy
sudo apt install binutils-mips-linux-gnu

ثم جرب
mips-linux-gnu-objcopy -I binary -O elf32-tradlittlemips -B mips --change-section-address .data=0x08000000 test.bin out123.elf

النتيجة

قبل
ubuntu:~/Desktop/test$ rabin2 -I test.bin
Warning: Cannot initialize program headers
Warning: Cannot initialize dynamic strings
Warning: Cannot initialize dynamic section
arch     x86
binsz    65256
bintype  elf
bits     32
canary   false
class    ELF32
crypto   false
endian   little
havecode true
lang     c
linenum  true
lsyms    true
machine  No machine
maxopsz  16
minopsz  1
nx       false
os       linux
pcalign  0
pic      false
relocs   true
rpath    NONE
static   true
stripped false
subsys   linux
va       true
بعد
ubuntu:~/Desktop/test$ rabin2 -I out123.elf
Warning: Cannot initialize program headers
Warning: Cannot initialize dynamic strings
Warning: Cannot initialize dynamic section
arch     mips
binsz    65688
bintype  elf
bits     32
canary   false
class    ELF32
crypto   false
endian   little
havecode true
lang     c
linenum  true
lsyms    true
machine  MIPS R3000
maxopsz  16
minopsz  1
nx       false
os       linux
pcalign  0
pic      false
relocs   true
rpath    NONE
static   true
stripped false
subsys   linux
va       true



RE: تحويل ملف ثنائي الي صيغة Elf - Polia - 19-07-2020

(19-07-2020, 12:44 PM)Gu-sung18 كتب : اذا كنت تتعامل مع mips لماذا تستعمل objcopy بدلاً من mips-linux-gnu-objcopy ؟

اذا نفذت الامر objcopy ستلاحظ في الاسفل اسماء المعماريات التي يدعمها

بحثت ولم اجد الان نصبتها
ليست هي فقط بل حتي الـ mipsel and arm
سؤال كيف انقحه بواسطة ida pro