zoukankan      html  css  js  c++  java
  • X-CTF(REVERSE高级) 流浪者

    成功函数是sub_401770()

    sub_4017F0函数调用成功函数

     

    这个if里调用sub_4017F0函数

     

     写出解密代码

    采用爆破手段,得到结果:C0Kk4;g>NLMUB[>VY70WW`,是错的,不知道为什么

    data='abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ'
    
    a='KanXueCTF2019JustForhappy'
    
    out=[]
    for i in a:
              out.append(data.index(i))
    
    b=0
    for i in out:
              for j in range(0,128):
                        if(j>57 | j <48):
                                  if(j>122 | j<97):
                                            if(j>90 | j<65):
                                                      pass
                                            else:
                                                      b=j-29
                                  else:
                                            b=j-87
                        else:
                                  b=j-48
    
                        if(b==i):
                                  print(chr(j),end='')

    逆向修改最后的运算关系,不爆破了,得到正确结果:j0rXI4bTeustBiIGHeCF70DDM

    data='abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ'
    
    a='KanXueCTF2019JustForhappy'
    
    out=[]
    for i in a:
              out.append(data.index(i))
    
    
    for i in out:
              if 0<=i <=9:
                        print(chr(i+48),end='')
              elif 9<i <=35:
                        print(chr(i+87),end='')
              elif i>36:
                        print(chr(i+29),end='')

    找到原因了,写python或者的逻辑运算是or 不是| ,在爆破代码里将|改为or即可得到正确flag

  • 相关阅读:
    PHP之项目环境变量设置
    nginx相关服务实践
    模拟器的基本使用
    Redis常见问题汇总
    用OpenResty搭建高性能服务端
    Lua代码规范
    Lua之基础篇
    如何设计一个高性能短链系统?
    通过双 key 来解决缓存并发问题
    Golang常见问题汇总
  • 原文地址:https://www.cnblogs.com/blackicelisa/p/13450007.html
Copyright © 2011-2022 走看看