zoukankan      html  css  js  c++  java
  • buu [V&N2020 公开赛]strangeCpp

    拖入ida,静态调试一下,本来想动调的,发现一直缺dll。没办法,只能头铁,静态
    找到主函数,然后并没有发现什么,找了半天,没结果,后面也是看了大佬wp,才找到解决方式,感觉这种只能通过动调来找到关键函数,靠这种找字符串的,有点不靠谱,不过这种在没思路的情况下,是真的香。
    在这里插入图片描述
    先打印出welcome,后面一堆没啥用的,还有个函数检查cpu数量的。。。。,然后这种没思路的情况,感觉还是从出题人的角度去考虑问题,不可能会无缘无故的,出现一个东西,所以找到了一个字符串,查看它的引用
    还是找到了,关键函数,
    在这里插入图片描述
    这函数逻辑很明显了,找一个数,经过一个函数处理返回值等于607052314,同时这个数又小于14549743,爆破就完事,头铁

    v8=0
    for i in range(14549743):
        tmp=(((i<<8)^(i>>12))*291)&0xffffffff
        if tmp==607052314:
            v8=i
            break
    
    a=[0x26, 0x2C, 0x21, 0x27, 0x3B, 0x0D, 0x04, 0x75, 0x68, 0x34,
      0x28, 0x25, 0x0E, 0x35, 0x2D, 0x69, 0x3D, 0x6F, 0x6D, 0x00]
    print(v8)
    for j in range(17):
        print(chr((v8^a[j])&0xff),end="")
    
    
    
    
    
    
    
    

    在这里插入图片描述
    在线解或者自己写个md5加密都是可以的

  • 相关阅读:
    【JOI2017春季合宿】Port Facility
    LOJ504「LibreOJ β Round」ZQC 的手办
    UOJ37. 【清华集训2014】主旋律
    CF1012F Passports
    AT2370 Piling Up
    CF908G New Year and Original Order
    CF643E Bear and Destroying Subtrees
    CF183D T-shirt
    「JOISC 2016 Day 3」回转寿司
    「LibreOJ β Round #2」计算几何瞎暴力
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12779877.html
Copyright © 2011-2022 走看看