ฉันใช้Debian armelใน Qemu และพยายามเรียกใช้โปรแกรม ARM แต่พบปัญหา:
user@debian-armel:~$ ls -lbat
total 32
drwxr-xr-x 2 user user 4096 Sep 14 23:54 .
-rw------- 1 user user 139 Sep 14 20:41 .bash_history
-rwxrwxrwx 1 user user 7982 Aug 24 22:14 program
-rw-r--r-- 1 user user 220 Dec 9 2013 .bash_logout
-rw-r--r-- 1 user user 3184 Dec 9 2013 .bashrc
-rw-r--r-- 1 user user 675 Dec 9 2013 .profile
drwxr-xr-x 3 root root 4096 Dec 9 2013 ..
user@debian-armel:~$ ./program
-bash: ./program: No such file or directory
user@debian-armel:~$ file program
program: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, not stripped
user@debian-armel:~$ getconf LONG_BIT
32
user@debian-armel:~$ uname -ar
Linux debian-armel 2.6.32-5-versatile #1 Wed Sep 25 00:01:55 UTC 2013 armv5tejl GNU/Linux
user@debian-armel:~$ ldd program
not a dynamic executable
ดูเหมือนว่าฉันควรจะทำงานได้ดีคำแนะนำใด ๆ
ฉันไม่คิดว่ามันเป็นโปรแกรมหลามควรเป็น 32bit ARM ELF แต่ในกรณี: user @ debian-armel: ~ โปรแกรม python $ ไฟล์โปรแกรม "โปรแกรม", บรรทัดที่ 1 SyntaxError: อักขระที่ไม่ใช่ ASCII '\ x97' ในโปรแกรมไฟล์บนบรรทัดที่ 2 แต่ไม่มีการประกาศการเข้ารหัส ดูpython.org/peps/pep-0263.htmlสำหรับรายละเอียด user @ debian-armel: ~ $
—
user2059300
สิ่งที่ฉันหมายถึงคือคุณต้องรู้ล่ามที่เรียกใช้ไฟล์ของคุณเพื่อให้สามารถเรียกใช้ ลีนุกซ์จำเป็นต้องรู้ว่าคุณมีไฟล์ประเภทใดในการดำเนินการ ตรวจสอบคำตอบนี้ที่อธิบายถึงวิธีการที่จะดำเนินการไฟล์ คุณรู้จักล่ามที่คุณต้องใช้
—
AAlvz
program
หรือไม่
@AAlvz การถ่ายโอนข้อมูลของบรรทัดแรกของ hex: 00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 00 |. ELF ............ |
—
user2059300
program
... คุณลองใช้งานมันเพื่อระบุล่ามหรือไม่?python program
.. ถ้าเป็นเช่นนั้นบางที shebang อาจหายไป .. ?