• 逆向---入坑记


    Hello,RE!

    80

    或许你需要去学习下IDA的使用,但是只需要学一点点就能做这题了
    PS:IDA里面按R可以把奇怪的数字变成字符串

    格式为flag{*****}包含flag{}提交

    参考资料:
    《IDA Pro 权威指南》
    各种CTF比赛的逆向部分的writeup

    http://ctf.nuptzj.cn/static/uploads/0b562710385edcf655dfa0ae65c69592/1.exe

    入门题,直接丢到OD里运行:

     直接搜索中文字符:

     可以看到一个字符比较函数,在哪里加一个断点试试(F2)运行:

     可以看到 flag啦!!!

    ReadAsm2

    150

    读汇编是逆向基本功。

    给出的文件是func函数的汇编
    main函数如下
    输出的结果即为flag,格式为flag{**********},请连flag{}一起提交

    编译环境为linux gcc x86-64
    调用约定为System V AMD64 ABI
    请不要利用汇编器,IDA等工具。。这里考的就是读汇编与推算汇编结果的能力

    int main(int argc, char const *argv[])
    {
      char input[] = {0x0,  0x67, 0x6e, 0x62, 0x63, 0x7e, 0x74, 0x62, 0x69, 0x6d,
                      0x55, 0x6a, 0x7f, 0x60, 0x51, 0x66, 0x63, 0x4e, 0x66, 0x7b,
                      0x71, 0x4a, 0x74, 0x76, 0x6b, 0x70, 0x79, 0x66 , 0x1c};
      func(input, 28);
      printf("%s
    ",input+1);
      return 0;
    }
    

    参考资料:
    https://github.com/veficos/reverse-engineering-for-beginners
    《汇编语言》王爽
    《C 反汇编与逆向分析技术揭秘》

    http://ctf.nuptzj.cn/static/uploads/a480ff52cdbc70bd1443763f27f35279/2.asm

    把下载的汇编文件打开后(记事本就行):

    然后写一个小程序即可:

    a = [0x0, 0x67, 0x6e, 0x62, 0x63, 0x7e, 0x74, 0x62, 0x69, 0x6d,
    
    0x55, 0x6a, 0x7f, 0x60, 0x51, 0x66, 0x63, 0x4e, 0x66, 0x7b,
    
    0x71, 0x4a, 0x74, 0x76, 0x6b, 0x70, 0x79, 0x66 , 0x1c]
    
    s = ''
    
    for i in range(1,len(a)):
        print(a[i]^i,end = " ")
        s += chr(a[i]^i)
    print()
    print (s)
    

    运行即可

    得到flag;

    Py交易

    150

    Python 2.7

    提取密码:kd37

    下载后直接丢到py反汇编的在网站:

    让后写一个程序即可:

    import base64
    
    correct ='XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
    
    s = base64.b64decode(correct)
    
    flag = ''
    
    for i in s:
    
        i = chr((i-16)^32)   // 如果是py2环境i需要改为 ord(i);
    
        flag += i
    
    print (flag)
    

    总结 :

    入门题较为简单,不需要对汇编有多深的了解,会用工具即可;

    因为我喜欢追寻过程中的自己
  • 相关阅读:
    中国剩余定理
    hdu1808-Halloween treats(抽屉原理)
    快速幂算法
    因子和与因子个数
    乘性函数
    HDU 2669 Romantic (扩展欧几里得定理)
    扩展欧几里得算法
    Bi-shoe and Phi-shoe(欧拉函数)
    欧拉函数
    [51nod]1284 2 3 5 7的倍数(容斥原理)
  • 原文地址:https://www.cnblogs.com/IzuruKamuku/p/14359797.html
Copyright © 2020-2023  润新知