【发布时间】:2019-09-17 15:46:29
【问题描述】:
有人要求我的客户在他们的服务器上执行脚本。尽管此人是受信任的,但他们试图隐藏脚本实际在做什么。这可能是 Python、Bash 或 Ruby 脚本。以下是前几行:
ELF����������>����¯&@�����@�������������������@�8��@���������������������@�������@�����‚.������‚.�������� �����������0������0å`�����0å`����������������������������QÂtd��������������������������������������������������ò¶l?���!Ù
����Pë��Pë��8��¿������˚˚!ˇELF��>�
@@ªdø�êâ"8�›≤Óª ��'@‰Ñ<!¯��‰{õÓ8
@ôê'��|`{oçLO�~…∂Ñ� 7´]œN»˜
`†7@.wr!^$ÉM»`fl§õ2T@ôê'D��PÂÚΩfltd¨E
@‰gK»�7Qßg∞#∞�oRf ø��ÄÑá@��ˇM��w��I�€ª˝/lib64d-nux-x86-.˜¶€˛so.2���GNU��öœ4› ˜ˇˇAÙ6«[9ÅGüa¢ÂH#∞ ÔÌ/ÿ8C7à¡
@ˇˇo∫:=BE’Ϫ„í|∏çÒ8ÚãŸqX∞n ˚ΔÔ��™PÑ] ≈�˙/!Ï9ne_¬Üê›uGçê!lÛ¬ÜÃèñÜ∞!l//fßÏd¬èΩõ¬Üê!F∞/rl_
!C»±£»6ÑwD_ÜB.êCÅS!l!/\ á∞/ïîß2Ñào6Ñ`G(K_aC»m/6Ñ
YwY_
........................
如何确定此文件的加密方法?即使提供者是受信任的,我也想在建议客户执行它之前对其进行解码。客户想确切地知道这个脚本做了什么。在不知道加密方法的情况下,我们无法对其进行解码,并且提供者不愿意共享加密方法。
【问题讨论】:
-
@Yunnosch 是的,我不知道这个脚本使用什么编程语言。它用于激活提供商的许可证,但这听起来很奇怪。我只想知道这里的编码方式。
-
你为什么认为这是加密的(它看起来并不特别加密)。你为什么认为它是用脚本语言而不是 C++ 编写的。这对于任何编译语言来说都是合理的输出。 (它也可以是一个脚本,封装在一种编译语言中。它可以是任何东西,它几乎可以做任何事情。)
-
@RobNapier 在这种情况下请原谅我。我只知道 bash、PHP、Python 和 JavaScript。在 PHP 中,我发现加密的代码是这样的。这就是我发布这个问题的原因。我对编译语言一无所知。
-
这绝对不是在任何情况下加密的(如果是,你需要提供一个解密密钥来运行它)。充其量它被混淆了(即解密逻辑在可执行文件内)。对混淆方案进行逆向工程超出了 StackOverflow 的范围(鉴于您提供的输出,这是不可能的)。我会预算几十到几千美元来聘请某人去混淆这一点。 (我不会特别建议这样做;我建议双方通过谈判解决这个问题。)
-
前 3 个字符是
ELF。这是 Linux 上二进制可执行程序的标准格式。
标签: bash shell encryption decode encode