[SWPUCTF 2021 新生赛]easyapp--做题笔记

本文描述了如何通过exeinfope工具检测并逆向分析一个无壳的apk文件,发现其内部的加密逻辑,最终确定是通过输入字符与key进行异或运算来实现的.
摘要由CSDN通过智能技术生成

下载附件直接放到exeinfope查壳工具查壳(因为是逆向题,拿到附件后先看有没有壳) 

无壳,可以看到是一个apk文件

使用二进制编辑器打开看看

可以看到是个zip文件

重命名(加一个zip后缀),之后解压

使用jadx-gui-1.2.0.exe,jd-gui.exe等apk反编译工具分析

经过一翻苦寻后,在com包下找到类似c/c++main函数的class文件(也可以在模拟器里跑一下,看回显信息,然后在反编译后直接搜回显信息,从而定位到相关class文件)

看到调用了encoder类

找到encoder类

现在可以明确这个apk的作用了

输入一串字符然后与key异或,结果与这串字符比较,正确就输出YES,否则输出NO

exp:

s = '棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌'
f = 123456789
for i in range(len(s)):
    print(chr(int(hex(ord(s[i]))[4:],16)^177),end='')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值