我用的是一种涉及dc的混淆技术。如果你输了一条不含反斜杠的较小的线,你就会得到这个。
root@revolt:~/Working/Bash# cat temp.text
[q]sa[ln0=aln256%Pln256/snlbx]sb806639340302927610462193083720snlbxq
root@revolt:~/Working/Bash# cat temp.text | dc
Hello world.
然而,如果你尝试一些更大的东西,比如
root@revolt:~/Working/Bash# cat temp.text
[q]sa[ln0=aln256%Pln256/snlbx]sb331832177645759643350464573357407988278700985112761888842542077811521\
080128221484476741215560snlbxq
如果最后一行上有一个反斜杠,就会发生这样的情况:
root@revolt:~/Working/Bash# cat temp.text | dc
dc: '\' (0134) unimplemented
Hel���t��root@revolt:~/Working/Bash#
但是,如果要运行这个
root@revolt:~/Working/Bash# dc<<<[q]sa[ln0=aln256%Pln256/snlbx]sb331832177645759643350464573357407988278700985112761888842542077811521\
> 080128221484476741215560snlbxq
Hello world.
Hello world.
Hello world.
效果很好。上面的示例是键入dc<<<
,然后复制并粘贴带有反斜杠的字符串。真奇怪。
我的问题是:
发布于 2015-07-29 22:05:58
您可以使用BASH字符串操作来处理它:
s=$(<temp.txt)
dc <<< "${s//\\[[:space:]]/}"
Hello world.
Hello world.
Hello world.
"${s//\\[[:space:]]/}"
将删除\
的所有实例,然后从文件数据中删除行中断。
https://stackoverflow.com/questions/31711868
复制相似问题