栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[buuctf.reverse] [FlareOn4]login

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[buuctf.reverse] [FlareOn4]login

用了一段python把三元运算符都快忘了

给的是js程序,就一句

var rotFlag = flag.replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);});
if ("PyvragFvqrYbtvafNerRnfl@syner-ba.pbz" == rotFlag) {

有个提示是flag的格式,与上面对照符号的位置和内容没变化。

三个需要注意的点:

  1. 这里/[a-zA-Z]/g是仅处理字符不处理符号。
  2. python里没有三元运算符
  3. 括号中c的赋值顺序
#(c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26
import string 

a = b'PyvragFvqrYbtvafNerRnfl@syner-ba.pbz' #@syner-ba.pbz
for i,v in enumerate(a):
    if chr(v) in '@-.':
        print(chr(v), end='')
    else:
        for jj in string.ascii_uppercase+string.ascii_lowercase:
            j = ord(jj)
            if j <= ord('Z'):
                k = 90
            else:
                k = 122 
            c = j +13
            if c > k:
                c -=26
            if c == v:
                print(chr(j), end='')
                break 
#ClientSideLoginsAreEasy@flare-on.com
#flag{ClientSideLoginsAreEasy@flare-on.com}

题目本身不重要,为什么python要去掉?:和switch 还有为什么大家都去掉jmp,reverse一个汇编没有jmp都不知道怎么圆场。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853898.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号