• [转组第4天] | DDCTF的re3和re4


    2018-04-27

      被隐藏的真实:(参考夜影大佬的wp)

      这是一个跟比特币相关的题目,总共分三小关,第一小关很容易跟到是小字节序DEADBEEF,第二关是是base58解码地址,第三关是脑洞题,创世区块的头信息,正好长度是80,把创世区块输入得到flag。

      探寻逝去的Atlantis文明(参考夜影大佬的wp)

      主要考察的是反调试,直接运行OD或IDA会无法触发EP断点,也不能正常关闭。查看export发现有Tlscallback函数。TLS回调函数是指,每当创建/终止进程的的线程时会自动调用执行的函数(前后共调用两次)。创建进程的主线程时也会自动调用回调函数,且其调用执行先于EP代码。而且在第一个Tlscallback里会调用SetInformationThread函数的ThreadHideFromDebugger(17)参数,反调试。将其跳过,还会有一个IsdebuggerPresent函数检测是否为反调试,如果是返回1,exitProcess。第二个Tlscallback主要是打印一个Messagebox没有反调试。将这两个过掉,后面还有一个反调试IsdebuggePresent可以一样过掉。然后代码的主要逻辑是:

      输入flag,通过base64加密成一个24位长字符串,作为GlobalAtom的name,然后根据预存字符串建立一个table,按一定逻辑取table中指定位置的ascii值与GlobalAtomName做抑或操作,最后与另一个预存字符串比较。

      所以求解的逻辑就是,获取table指定位置的ascii值与预存字符串做抑或,得到GlobalAtomName,再通过Base64解码得到flag。

      总结:

        TlsCallBack反调试,SetInformationThread(17)

        这几个题就第二题算正常题,硬核题。

      明天预计:

        听天枢分享

  • 相关阅读:
    我爬取了爬虫岗位薪资,分析后发现爬虫真香
    红薯,撑起父亲的快乐,让我揪心
    跨域问题服务端解决办法 Request header field Authorization is not allowed by Access-Control-Allow-Headers
    antdvue2.x 使用阿里iconfont自定义组件iconfont
    前端 crypto-js aes 加解密
    jsencrypt加密解密字符串
    CryptoJS base64使用方法
    客户端js生成rsa 密钥对
    js动态添加style样式
    PHP 使用非对称加密算法(RSA)
  • 原文地址:https://www.cnblogs.com/nww-570/p/8969976.html
Copyright © 2020-2023  润新知