zoukankan      html  css  js  c++  java
  • 2020/5/30 BUU_[FlareOn4]IgniteMe

    查壳:

    没壳,跑一下看看:

    经典输入处理判断,扔进IDA看一看:

    框架比较简单,但是简单的框架内容可不一定简单。

    一些API函数,念着英文就知道什么意思了。看一下读取数据的函数:

    中规中矩的,把读入的' '和' '过滤一下。

    看一下处理和判断的函数:

    大体逻辑是这样的:

    v0是长度,v4是一个给定的数值。循环处理flag,将其倒序与v4亦或的结果保存,替换v4内容,继续下一位。

    由于结果已经给出了,我们要做的就是逆向写一遍这个算法。但是我们缺少v4的内容,不知道v4就不知道其他位置的flag。

    关于v4的这个函数sub_401000,我们不能立马得到结果:

    这是一个没见过的函数,具体处理也不是很懂。

    这里其实可以用od看一下运算结果,但是我用不熟od,好歹拖进去看一下:

    这里调用了401000函数,然后把al存了起来。

    手动计算401000:

    Eax和edx存入0x80070057。Ax异或,eax左移4,ax右移1。

    这里注意eax是32位而ax是16位,ax取0x0057,rol循环左移不舍弃,shr右移舍弃高位0补足。得到的结果是0x0x700004

    然后al是8位,也就是04,所以v4 = 4;(老实说我并不明白这里为什么v4就是al的值)

    逆向算法:

    结果:

    R_y0u_H0t_3n0ugH_t0_1gn1t3@flare-on.com

  • 相关阅读:
    20180610模拟赛T3——书本整理
    20180610模拟赛T1——脱离地牢
    20180606模拟赛T4——数学游戏
    软工2019作业一
    期末总结
    <英狼>--团队作业3 王者光耀--终极版
    团队作业3--王者光耀(体会)
    <英狼> 团队作业2--王者光耀
    王者光耀--个人任务
    团队-----英狼
  • 原文地址:https://www.cnblogs.com/DorinXL/p/12924910.html
Copyright © 2011-2022 走看看