• WUSTCTF2020 funnyre


    • 运行起来,发现啥都没反应也没输出,ida直接打开,反编译

      .init函数动调了下,发现没啥用,主要核心在于main函数,直接跟进去

      发现了核心逻辑,有花指令,直接去掉,发现还挺多,然后似乎不影响观看,直接跳到后面,发现有个比较
      ,直接angr一把梭就完事了,想太多没啥意思
    import angr
    import claripy
    
    p=angr.Project('/root/Desktop/attachment',load_options={"auto_load_libs": False})
    f=p.factory
    state = f.entry_state(addr=0x400605)
    flag = claripy.BVS('flag',8*32)#用BVS转成二进制给
    state.memory.store(0x603055+0x300+5,flag)#因为程序没有输入,所以直接把字符串设置到内存
    state.regs.rdx=0x603055+0x300
    state.regs.rdi=0x603055+0x300+5#然后设置两个寄存器
    
    sm = p.factory.simulation_manager(state)#准备从state开始遍历路径
    
    
    print("get start!")
    
    sm.explore(find=0x401DAE)#遍历到成功的地址
    
    if sm.found:
        print("success")
        x=sm.found[0].solver.eval(flag,cast_to=bytes)
        print(x)
    else:
        print('yenkoc')
    
    
    

  • 相关阅读:
    JVM调优总结(转载)
    项目应该如何分层(转载)
    SpringCloud Feign 配置(基于Consul)
    yml配置文件嵌套
    SpringCloud Zuul基于Consul配置及详解
    springBoot聚合项目打包
    SpringCloud Config 配置(基于Consul)
    hibernate的三种状态
    IOS 图片全屏预览
    IOS 下拉菜单
  • 原文地址:https://www.cnblogs.com/YenKoc/p/14329464.html
Copyright © 2020-2023  润新知