免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3756 | 回复: 3

libcrypt.a被误删除如何恢复,急! [复制链接]

论坛徽章:
0
发表于 2009-03-07 11:48 |显示全部楼层
不小心误删除了libcrypt.a,同目录下有个备份,但现在ln和mv都不能用了。\r\n也不好把硬盘拆到其它机器上,请问改如何解决?

论坛徽章:
0
发表于 2009-03-07 19:42 |显示全部楼层
光盘启动,然后复制回去

论坛徽章:
0
发表于 2020-03-12 16:42 |显示全部楼层
本帖最后由 euzen 于 2020-03-12 16:44 编辑

今天做了相同的操作,搜索到这个贴,特地加了三个好友前来回复。
我没有按2楼的建议重启,在一轮尝试后,发现echo命令还可以执行,其他vi,se都失败了。
查看了echo的手册,发现可以用\0xxx的八进制数据方式写入任意字节内容到文件(重定向到文件)
于是在其他AIX机器上下载了libcrypt.a文件,用php脚本将内容转换为 类似
echo '\074\0142\0151\0147\0141\0146\076\012\061\060\062\c'>>libcrypt.a

的多行命令,粘贴到ssh窗口中,重新生成了libcrypt.a,很幸运,文件又回来了,系统恢复正常。

论坛徽章:
0
发表于 2020-03-12 16:47 |显示全部楼层
附上php脚本:
  1. <?php
  2. $fp=fopen("libcrypt.a","r");
  3. $s=fread($fp,11468);  //11468为文件长度
  4. $arr = unpack("C*",$s);
  5. $i=0;
  6. foreach($arr as $v)
  7. {
  8.         $i++;
  9.         $data = decoct($v);
  10.         echo "\\0{$data}";
  11.         if ($i%128 == 0)
  12.         {
  13.                 //\c是使用后续的字符无效,因为echo会自己加入换行,在分段录入的情况下,不需要这个换行的。
  14.                 echo "\\c'>>libcrypt.a\necho '";
  15.         }
  16. }
  17. ?>
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP