我正在检查我在网上找到的一段Python代码(http://www.exploit-db.com/exploits/18305/),我无法理解一个看似简单的for循环。在
老实说,我不懂Python,但我有其他编程语言的经验。在
def _generatePayload(self, collisionchars, payloadlength):
result = ""
for item in collisionchars:
result = result.replace(str(item), collisionchars[item])
return result;
我稍微修改了代码以删除与问题无关的部分,但我保留了与原始源代码中相同的方法定义。据我所知,它是将一个字符串(在char数组/string中)替换为另一个具有相同值的字符串??在
谢谢大家!在
collisionchars
似乎是一个dict(注意索引器)。在代码所做的是循环遍历
collisionchars
的所有键,并用该键的值替换result
中出现的每个键。在因此,如果}(将每个}替换为
collisionchars = {'a': 'X', 'o': '_'}
和result = 'FooBar'
,代码会将result
改为{a
替换为X
,将每个{_
)。在相关问题 更多 >
编程相关推荐