easy_mobile

jdjkd 2026-03-17 22:12:08 43 0


这题是一个 Android JNI 逆向题,入口在MainActivity.java。Java 层几乎没有逻辑,只是把输入框内容传给 native 函数checkflag(),所以重点在libnative-lib.so。

先用 MCP 对libnative-lib.so做分析,定位到Java_com_example_rectf_MainActivity_checkflag。反编译后可以看出程序先检查输入长度必须是 24。随后把前 16 字节拆成 4 组,每组 4 字节,做固定的乘加运算,再和内存中的 16 个常量比较。把这个过程逆过来即可得到前半段:

e0a0d966076ff437

后 8 字节会进入sub_7260()。这部分本质上是一个 TEA 变种加密,密钥直接写死为:

qihahaininananam

目标密文常量是两个 32 位整数:

207990490 -1379955279

对这段 TEA 逻辑逆运算后,得到后半段:

58af2715

最终拼接得到正确输入:

e0a0d966076ff43758af2715

分类:Reverse
image
作者:jdjkd

1

提交

0

收入

相关WriteUP

  • [网鼎杯-2018] SimpleSMC

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • Reverse
    • 1年前
  • HECTF-littleasm

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • Reverse
    • 1年前
  • Rechall Writeup

    # 题目描述题目给出一个二进制文件rechall,要求输入正确的flag通过验证。运行程序示例:![1](images/1.jpg)##**解题步骤**##0x01初步分析1.使用`file`命令检查文件类型  ```bash  $filerechall  rechall:ELF64-bitLSBpieexecutable,x8...

    • Reverse
    • 10月前
问题反馈