写在前面

博主本人萌新,只入门了Re,这次比赛只会签到题。所以本篇博客也不叫WP,只是算是我赛后复盘的学习记录。真正的WP可以看官方WP或者看看Re大佬的WP。因为现在还没有学习其他方向,所以其他方向的题目我会留个坑,等以后接触了有空再写吧(大概率咕咕了而且大概率也只会签到题)。


Reverse

whereisyourkey-广东海洋大学

这题是我觉得最没难度的
首先丢进exeinfoPE内看看
image
很好无壳32位,接下来直接丢进32位ida中找到main函数F5反编译
简单阅读一下就知道加密逻辑很好理解,就是将V5通过ooooo函数加密后即为Flag
image
通过转换知道V5如下
image
接下来只需知道ooooo函数在干什么即可双击ooooo函数
image
很好理解字母小于等于n的替换成前两位字母,m,o不变,大于o的替换成后三位字母。这样我们就可以通过运算直接解出Flag,没必要写脚本。
Flag:UNCTF{yesiamflag}


ezzzzre-广东海洋大学

这题当时起初没放进exeinfoPE内看看,结果因为加壳导致一直解不出来,学习了一下脱壳就解决了。
这题我就详细写一下脱壳过程(大佬们请忽略
image
可以看到是一个UPX壳,我们首先下载UPX
接下来打开cmd,cd进入UPX所在文件夹
接着输入UPX -d 目标文件地址
完成脱壳后下方显示“Unpacked 1 file.”,表示脱壳成功。
image
脱壳后可以看到是64位
image
64位ida打开,可以看到Flag逻辑即为2 * aHelloctf[i] – 69
而双击aHelloctf可以找到该串字符为’HELLOCTF’,写个简单脚本可解出Flag
image

思考后再点击查看代码哦
#include <bits/stdc++.h>
using namespace std;
string s;
int main(){
    s="HELLOCTF";
    for(int i=0; i<8; i++) printf("%c",2*s[i]-69);
}

Flag:UNCTF{KESSYAcG}


Sudoku-陆军工程大学

听名字很唬人,看起来像是解数独,但其实简单阅读main函数可知这题是要你输入V11这个矩阵
若与他给出的V12矩阵一样就用V11中每一行的数减去V13中每一行的数求和最后加上50对应一个字符
题中有个vme50的小彩蛋)八行八个字符就是Flag。
image
现在问题就是怎么得到V12和V13,我们采用动态调试。
首先第60行设置断点
image
F9选择Local Windows debugger
image
之后再次F9
image
F5回到源码页
之后分别双击V12和V13可以得到二者的值,注意用鼠标滚轮滚动查看值,因为每四行是一个值,将二者的值记录,注意别抄错,抄漏。最后写个脚本解决。
image

思考后再点击查看代码哦
#include <bits/stdc++.h>
using namespace std;
int main(){
    int V12[81]={ 
      8, 5, 2, 4, 9, 1, 6, 7, 3,
      1, 9, 6, 7, 3, 8, 2, 5, 4,
      4, 3, 7, 5, 6, 2, 9, 1, 8,
      5, 2, 8, 1, 4, 6, 3, 9, 7,
      3, 7, 4, 9, 2, 5, 8, 6, 1,
      9, 6, 1, 3, 8, 7, 4, 2, 5,
      2, 1, 9, 8, 5, 4, 7, 3, 6,
      7, 4, 3, 6, 1, 9, 5, 8, 2,
      6, 8, 5, 2, 7, 3, 1, 4, 9 };
    int V13[81]={ 
      0, 0, 0, 4, 9, 0, 0, 0, 3,
      0, 9, 6, 7, 0, 8, 0, 0, 0,
      0, 0, 7, 0, 0, 0, 0, 1, 8,
      0, 2, 8, 0, 4, 0, 0, 0, 7,
      3, 0, 0, 0, 2, 0, 0, 0, 1,
      0, 6, 0, 0, 8, 0, 4, 2, 0,
      2, 0, 0, 0, 0, 4, 7, 3, 0,
      7, 0, 3, 6, 0, 9, 0, 0, 0,
      0, 8, 0, 0, 0, 0, 1, 4, 0 };
    for (int i=0; i<9; i++){
        unsigned int v9=0;
        for (int j=0; j<9; j++) v9+=V12[i*9+j]-V13[i*9+j];
        v9+=50;
        printf("%c",v9);
    }
    return 0;
}

Flag:UNCTF{OAOJYKOFR}


Pwn

Misc

原文地址:http://www.cnblogs.com/Tree-24/p/16928649.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性