免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6340 | 回复: 19
打印 上一主题 下一主题

谁知道如何执行不带 x 属性的 ELF 文件。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-19 17:11 |只看该作者 |倒序浏览
1可用积分
mount 了个光盘以后 ,发现里面的 ELF 文件没有可执行属性。
所以只能 cp 出来再改属性再执行。
哪位知道如何可以不复制就直接执行?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-07-19 17:21 |只看该作者
(exec cmd)

论坛徽章:
0
3 [报告]
发表于 2007-07-20 13:39 |只看该作者
写一个批处理不就可以了吗?

论坛徽章:
0
4 [报告]
发表于 2007-07-25 16:34 |只看该作者
原帖由 寂寞烈火 于 2007-7-19 17:21 发表
(exec cmd)

这个方法我已经用过,被证明是错误的。

论坛徽章:
0
5 [报告]
发表于 2007-07-25 16:36 |只看该作者
原帖由 ehero 于 2007-7-20 13:39 发表
写一个批处理不就可以了吗?


此人在灌水。
linux 下只有 shell script, perl, tcl/tk 等,但没有批处理。据我所知批处理这名词只在 dos/windows 中使用。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2007-07-25 16:57 |只看该作者
原帖由 deng_save_file 于 2007-7-25 16:34 发表

这个方法我已经用过,被证明是错误的。

提示什么信息吗?

  1. /home/lee/test#cp /bin/ls .
  2. /home/lee/test#file ./ls
  3. ./ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
  4. /home/lee/test#chmod -r ./ls
  5. /home/lee/test#chmod -x ./ls
  6. /home/lee/test#./ls
  7. -bash: ./ls: 权限不够
  8. /home/lee/test#(exec ls)
  9. a  a~  a b  abc  a_data_1  a.tar  a.tmpl  b  b_data_2  c  c d  f  f~  ls  menu  xaa  xab  xac
  10. /home/lee/test#file ./ls
  11. ./ls: can't read `./ls' (Permission denied).
复制代码

[ 本帖最后由 寂寞烈火 于 2007-7-25 17:03 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2007-07-26 13:27 |只看该作者
原帖由 寂寞烈火 于 2007-7-25 16:57 发表

提示什么信息吗?
/home/lee/test#cp /bin/ls .
/home/lee/test#file ./ls
./ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs ...



你这样是可以的。因为你的 exec 命令执行的 ls 仍然是 /bin/ls 而不是该 ls
下面是我的测试方案,你可以试试 :
mkdir 1
cd 1
cp /bin/ls .
chmod a-x ls
mkisofs -l -J -joliet-long -allow-leading-dots -r -o ls.iso ls
su
mkdir /1
mount -o loop,ro,exec ls.iso /1
cd /1
ls -l
(exec ./ls -l)
=========以下下为输出============
total 88
-r--r--r-- 1 root root 89464 Jul 26 13:18 ls
bash: /1/ls: Permission denied
bash: exec: /1/ls: cannot execute: Permission denied
=========输出结束============

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2007-07-26 13:38 |只看该作者
原帖由 deng_save_file 于 2007-7-26 13:27 发表



你这样是可以的。因为你的 exec 命令执行的 ls 仍然是 /bin/ls 而不是该 ls
下面是我的测试方案,你可以试试 :
mkdir 1
cd 1
cp /bin/ls .
chmod a-x ls
mkisofs -l -J -joliet-long -allow-leadi ...

嗯, 我的测试是错误的 你说的有理 也许需要写个专门的程序啦~

[ 本帖最后由 寂寞烈火 于 2007-7-26 13:44 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2007-07-27 05:26 |只看该作者
我想我能拿这一分了:

$ /lib/ld-linux.so.2  <path_to_the_ELF_file>

论坛徽章:
0
10 [报告]
发表于 2007-07-27 07:12 |只看该作者
LS 可不可以解释下原理呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP