这个难题的重点是学习如何在程序中隐藏和发现恶意代码。
一个人在问一个问题:
请给我一些代码,该如何找到文件的代码可能位于“当前目录”或其子目录中。
(这是我在一个网站上看到的一个真实问题的变体。)
更具体地说:OP希望您编写一个接受字符串和目录的程序。它将遍历目录中的所有文件并递归遍历其所有子目录。对于每个文件,它将检查文件是否包含字符串,如果包含,则将打印文件的名称。(如果需要,该程序可以具有其他功能,只要它们与主要目标相关即可。)对遍历顺序没有任何要求。
但是,这个难题的主要任务是在程序中隐藏其他代码,这些代码会使在用户/同事/老板/等人眼中要求该程序的人变得愚蠢。例如,在某个时候打印出侮辱性的文字,例如:该程序的作者不知道如何编程,应退还其文凭并被解雇。要有创造力。
规则:
- 该解决方案一定不会有害(当然,除了愚弄OP外)。它一定不能对最终用户造成任何不可逆转的伤害(没有类似之类的东西
rm -rf
!)!此类解决方案将被取消资格。 - 拖钓的物品应隐藏起来,以免OP轻易找到它。
- 您正在拖曳OP并不明显。该代码应该看起来是真实的。
- 解决方案必须附带适当的解释,说明它如何拖延OP,以便每个人都可以从您的解决方案中学到一些东西。解释应隐藏在单击后隐藏的文本(“扰流板”)中。进行判断时,请尝试查找巨魔而不看解释,并为难以发现的那些投票。
- 如果尝试多次运行该代码,也请尝试从OP隐藏该拖钓。也许只在特定日期之后或在草率的程序员不会测试的某些条件下才开始拖钓。要有创造力,不要忘了解释这个技巧。
- 不要只使用现有工具(例如
grep
或)创建脚本find
。从头开始编写程序。最好避免使用库,而更喜欢低级调用-这将使代码更复杂,并使您有机会在其中隐藏恶意内容。
这是一场人气竞赛。请根据以上几点进行判断。
6
“如何在用户/同事/老板的眼中使要求该程序的人愚弄”。并且“应退还文凭并被解雇。” 与“解决方案不得有害,不得对用户造成任何损害”?
—
emory 2014年
@PeterTaylor我尝试给出更具体的任务。如果您有更具体的建议,我们将不胜感激。
—
PetrPudlák'14
@emory编码员不是用户。在不影响客户的情况下,在同等编码人员面前羞辱编码人员是可能的。
—
Cruncher 2014年