zoukankan      html  css  js  c++  java
  • *reverse*练习10--很简单的重邮杯预赛

    首先要下载ida,并安装使用。

    ida可以在信息安全协会的群文件里找到,如果没有可以找作者要~。

    这次的题目文件,如果没有题目文件也可以找作者要~。

    我们把文件拖进exeinfope,得知是32位文件

     再将文件拖进ida32进行反编译,通过shift+fn+f12组合键,查找字符串,

     

     在字符串窗口,我们看到flag字样,双击跟进

     我们单击aPleaseInputFla,ctrl+x组合键跟进函数,再进行f5+fn组合键进行反编译,得到函数入口。

     我们可以看到函数逻辑很简单,大体意思就是:

    v4=0跳转到正确的分支,得到ok,为了使v4=0,那么就让(unsigned __int8)*(&Str + i) + 50 != (unsigned __int8)byte_419000[i]成立,双击byte_419000,得到该数组

     将该数组提取出来

    解题脚本如下

    a=[0x98, 0x9E, 0x93, 0x99, 0xAD, 0x7B, 0xA0, 0xA0, 0x97, 0xA4,0x7F, 0xA1, 0xA0, 0x99, 0xA1, 0x9E, 0x9B, 0x93, 0x91, 0x84,0x77, 0xAF, 0x00, 0x00]
    flag=''
    for i in range(22):
    flag+=chr(a[i]-50)
    print(flag)

     得出flag,这是一道比较简单的逆向题目,大家可以通过这道题掌握ida的使用方法,和python脚本的简单编写。

  • 相关阅读:
    idea配置tomcat
    idea中配置tomcat乱码问题--记录处理经验
    svn提交报错值 remains tree in conflict
    Vue之MVVM
    python 时间日期处理
    SVN使用指南
    linux查看硬件信息
    软件集成过程标准化的建议
    术语辨析
    科学计数e+转成正常str
  • 原文地址:https://www.cnblogs.com/kubopiy/p/14070366.html
Copyright © 2011-2022 走看看