flag = 'xxxxxxxxxxxxxxxxxx' list = [47, 138, 127, 57, 117, 188, 51, 143, 17, 84, 42, 135, 76, 105, 28, 169, 25] result = '' for i in range(len(list)): key = (list[i]>>4)+((list[i] & 0xf)<<4) result += str(hex(ord(flag[i])^key))[2:].zfill(2) print(result) # result=bcfba4d0038d48bd4b00f82796d393dfec result = 'bcfba4d0038d48bd4b00f82796d393dfec' flag = '' list = [47, 138, 127, 57, 117, 188, 51, 143, 17, 84, 42, 135, 76, 105, 28, 169, 25] for i in range(len(list)): key = (list[i] >> 4) + ((list[i] & 0xf) << 4) flag += chr(int(result[2 * i:2 * i + 2], 16) ^ key) print(flag) # NSSCTF{EZEZ_RERE}我想最后输出的flag变成flag{superbabybus}怎么修改程序
时间: 2024-01-23 17:03:45 浏览: 40
你可以直接将 `flag = ''` 改为 `flag = 'flag{'`,将 `print(flag)` 改为 `print(flag + 'superbabybus}')`,这样就可以输出 `flag{superbabybus}` 了。修改后的程序如下:
```
flag = 'flag{'
list = [47, 138, 127, 57, 117, 188, 51, 143, 17, 84, 42, 135, 76, 105, 28, 169, 25]
result = ''
for i in range(len(list)):
key = (list[i]>>4)+((list[i] & 0xf)<<4)
result += str(hex(ord(flag[i])^key))[2:].zfill(2)
print(result) # result=bcfba4d0038d48bd4b00f82796d393dfec
flag = ''
for i in range(len(list)):
key = (list[i] >> 4) + ((list[i] & 0xf) << 4)
flag += chr(int(result[2 * i:2 * i + 2], 16) ^ key)
print(flag + 'superbabybus}')
```
相关问题
不是这样的 我想要的是把里面的result和list修改最后输出的值是flag
好的,我理解你的意思了。下面是修改后的程序,它会将解密后的字符串赋值给 `flag` 变量,并在最后输出 `flag` 变量的值:
```
flag = 'xxxxxxxxxxxxxxxxxx'
list = [47, 138, 127, 57, 117, 188, 51, 143, 17, 84, 42, 135, 76, 105, 28, 169, 25]
result = ''
for i in range(len(list)):
key = (list[i]>>4)+((list[i] & 0xf)<<4)
result += str(hex(ord(flag[i])^key))[2:].zfill(2)
flag = ''
for i in range(len(list)):
key = (list[i] >> 4) + ((list[i] & 0xf) << 4)
flag += chr(int(result[2 * i:2 * i + 2], 16) ^ key)
print('flag{' + flag + '}') # 输出 flag
```
请注意,这个程序的前半部分用于解密,将解密后的字符串保存在 `flag` 变量中。因此,在输出最终的 flag 值时,需要使用 `'flag{' + flag + '}'` 的格式。
如何根据实际情况替换参数
在爬取微信公众号文章时,需要根据实际情况替换一些参数,以下是说明:
1. `url`参数:可以在微信公众号文章页面中获取到。例如,打开一篇公众号文章,在浏览器地址栏中复制URL地址即可。
2. `__biz`参数:表示公众号的唯一标识符,可以在公众号文章页面的HTML代码中查找,一般出现在类似`window.biz = "xxxxxxxxxxxxxxxxxx";`这样的代码中。
3. `mid`参数:表示文章的编号,也可以在公众号文章页面的HTML代码中查找,一般出现在类似`var msg_link = "https://mp.weixin.qq.com/s?__biz=xxxxxxxxxxxxxxxxxx&mid=xxxxxxxxxxxxxxx";`这样的代码中。
4. `sn`参数:表示未知参数,需要手动获取。在浏览器开发者工具中选择“XHR”选项卡,然后在文章页面上进行滚动或点击等操作,会出现一些请求记录,其中包含了`sn`参数的值,可以根据实际情况进行获取。
5. `title`参数:表示未知参数,需要手动获取。同样可以在浏览器开发者工具中查找,一般出现在类似`<title>这里是文章标题</title>`这样的代码中。
6. `ct`、`abtest_cookie`、`devicetype`和`version`等参数:表示未知参数,需要手动获取。可以在浏览器开发者工具中查找,一般出现在请求记录的请求头中,可以根据实际情况进行获取。
在获取到上述参数后,将其填充到代码中相应的位置即可进行文章爬取。需要注意的是,微信公众平台对于爬取行为有一定的限制,需要注意爬取频率等问题。