hgame的week1逆向

helloRe:
ida直接出答案,过~
brainfucker:


hgame的week1逆向_第1张图片
image.png

image.png

提取下代码:


hgame的week1逆向_第2张图片
image.png

试着分析第一行:用到data[0]位和data[1]
, 表示输入一个字符到data[0]

表示ptr下标+1
< 表示ptr下标-1

  • 表示data[0]或者data[1]的值+1
  • 表示data[0]或者data[1]的值-1
    [ ] 括号和括号要匹配
    . 表示输出当前data[0]或者data[1]
    有题目可以知道[+.]表示不会被运行,所以所指向的内存区域为0,即data[0] = 0或者data[1] = 0。
    这题本质就是考察阅读代码的能力,甚者让我有了一股自定义函数的冲动(以后可以出考核题)
    那么第一行就出来了:


    hgame的week1逆向_第3张图片
    image.png

    后面的以此类推:得到flag:bR4!NfUcK
    xor:
    这题上来看到一堆数字直觉转成字符串,直接R,小端序存储的,貌似是flag:
    flag:hgame{Y0u_mayb3_need_th1s_0ne!!!!!},好的事实证明是fake的flag
    没那么简单看来:继续往下分析,把数字转成数组常见操作之一


    hgame的week1逆向_第4张图片
    image.png

    hgame的week1逆向_第5张图片
    image.png

    很清晰的逻辑,直接异或,答案就出来了(在这里咩有提取出来的数,默认是0,刚开始看到数组下标不齐,想起来是肯定是0,被ida优化了而已)
    直接上脚本:
    hgame的week1逆向_第6张图片
    image.png

    答案:
    hgame的week1逆向_第7张图片
    image.png

    最后一题:矩阵乘法(ɒɎɑɐɏ日语)

    这题分析逻辑,会发现是矩阵的乘法运算,提取数据,直接算:


    hgame的week1逆向_第8张图片
    image.png

    hgame的week1逆向_第9张图片
    image.png

你可能感兴趣的:(hgame的week1逆向)