zoukankan      html  css  js  c++  java
  • 2020/5/30 [FlareOn6]Overlong

    Flare-on第六届挑战赛的题,

    挺迷的,这个挑战赛的题都挺有水平。

    IDA打开就仨函数:

    Main函数也挺简单:

    对v4处理,存到text,输出,没了。

    然而疑惑的地方是,v4有这么长:

    (比这个还长)

    但是这里指处理了28,即0x1C的长度。

    结合他运行时跑出的数据:

    数了数算上空格正好是这么长,我有理由怀疑他没有处理后面的字符。

    所以我们要做的就是把处理长度从0x1C延长到整个长度,数了数是0xAF个字符。

    从:

    B6 – 08 + 1= B8 – 08 - 1 = B0 – 1 = AF

    所以我下意识打开OD去改数据。

    为什么不用IDA改?因为我改了之后不会保存成二进制文件。

    然鹅打开OD之后我发现,根本找不到这段数据,好像直接进入dll了:

    然后我想了想,怎么修改呢?

    文件的本质就是二进制啊!那我直接找个十六进制修改器,找到对应的机器码不就行了:

    这里本来是6A 1C 68 ,改成了6A AF 68,再次运行:

    (其实也可以按照程序逻辑写一遍代码,但是我觉得太麻烦了)

     

     

  • 相关阅读:
    线性回归算法
    K均值算法--应用
    K均值算法
    机器学习相关数学基础
    机器学习概述
    语法制导的语义翻译
    算符优先分析
    自下而上语法分析
    实验二 递归下降语法分析
    LL(1)文法的判断
  • 原文地址:https://www.cnblogs.com/DorinXL/p/12994201.html
Copyright © 2011-2022 走看看