hgame的week1逆向

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


image.png

image.png

提取下代码:


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。
    这题本质就是考察阅读代码的能力,甚者让我有了一股自定义函数的冲动(以后可以出考核题)
    那么第一行就出来了:


    image.png

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


    image.png

    image.png

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

    答案:
    image.png

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

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


    image.png

    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,748评论 1 45
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,547评论 0 17
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,144评论 1 32
  • 雨,一滴接着一滴 一滴接着一滴,从天上滑落 不知疲倦 像孩子们登上滑梯 每一滴雨都是新的,它们从天上来 再到天上去...
    栾语阅读 306评论 0 0
  • 一般被朋友问到:现在怎么不找个朋友友相关的问题时,最常用的说辞就是“感觉一个人挺自由,挺好的!”也会有朋友反问:是...
    KurokoZ阅读 192评论 0 1