是否可以恢复已编译的shell代码?

时间:2014-02-13 05:45:17

标签: macos bash shell

我有这个正确运行的shell脚本。但是,文件的内容是......

3b33 8963 9a9d b0b2 98f7 8f3a cd9d 6067
b09d ae7b a351 639e 18f1 5c69 58ec 9343
512c c449 ebc0 cb64 7712 3335 2db2 b6f6
e4f7 65e6 48b1 a145 f270 1475 f062 f548
8d0e 14ec 1ca1 cd4e 6221 55fe c25b b7f8
8814 759b 11c3 3def 6b29 1fee 34fe 13fb
ee2c 3618 87af a6fc 3f5e 43b0 f885 6b6f
7aa2 9328 4f0b a2a2 f2ea cd9b 6039 b465

反正将反向工程设计为正常的shell代码,以便我可以调整逻辑吗?

2 个答案:

答案 0 :(得分:2)

根据文件大小和十六进制转储判断,这不再是一个脚本了。它是由工具such as this one 编译成二进制形式的,可能是加密的,可能与它所依赖的所有二进制文件捆绑在一起。

如果这只是一个obfuscated script,反转会容易得多。目前,它仍然可行,但需要更多合格的努力。根据二进制文件的性质,重写它可能更明智(读取:更便宜),原始作者可以根据需要对其进行修改,或编写位于此二进制文件和数据之间的中间件以进行其他处理。

答案 1 :(得分:1)

我想说你能做到这一点的机会很小。我知道加密代码的所有bash到二进制编译器的唯一目的是阻止人们对代码进行逆向工程。