侧边栏壁纸
  • 累计撰写 25 篇文章
  • 累计创建 11 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

TSCTF-J 2023 Reverse The_Native WP

LinJHS
2023-09-25 / 0 评论 / 0 点赞 / 94 阅读 / 3166 字 / 正在检测是否收录...

TSCTF-J 2023 Reverse The_Native WP

这次浅浅出了一道题,安卓逆向,其实相当简单,只要下载工具并且有一点点的安卓开发经验就行了(甚至都没加花加壳,原来打算 OLLVM 的,后来想想估计得零解就没弄)。

解法

对于 APK 文件,有个很好用的工具:jadx-gui

安装完成后,直接把 apk 拖到这个工具里面打开:

tsctf-j-2023-reverse-the-native-wp_image-20230925204144539.png

我们知道,通常java的软件包名都是域名反写。于是我们可以直接点进 com.linjhs.ezandroid(这道题刚开始我出的时候,名字叫做 EZAndroid,后来为了剧情需要改了一下文件名,但是包名什么的没有改),点开 MainActivity

tsctf-j-2023-reverse-the-native-wp_image-20230925204424730.png

其中,下面这个是第一部分的加密函数(反正RE不考怎么算法,我直接就是异或加密)。

tsctf-j-2023-reverse-the-native-wp_image-20230925204542163.png

但是我们会发现找不到 MyString()Cal() 这两个函数~~(我现在才发现我忘记用小驼峰命名了,虽然但是这并不重要)~~。

如果有接触过安卓开发的同学可能会比较熟悉,这个就是 NDK 开发(Native Development Kit)。这一部分的代码不是用 Java 实现的,而是用 C/C++ 实现的。

所以我们打开直接解压缩安装包,可以找到 .so 文件。

tsctf-j-2023-reverse-the-native-wp_image-20230925205345701.png

直接丢进 IDA。

然后在导出表里面搜索上面两个函数

tsctf-j-2023-reverse-the-native-wp_image-20230925205642476.png

前面这串字符串是默认带的(在开发中就叫这个名字,所以不用管)。

tsctf-j-2023-reverse-the-native-wp_image-20230925205858756.png

这个函数生成的就是前面的 MyString 字符串。

tsctf-j-2023-reverse-the-native-wp_image-20230925210108308.png

红框部分就是第二部分的加密部分,其他部分就是一些格式转换封装之类的(jstring 转 String 好像是,忘记叫啥名字了,太早写的了懒得去翻源代码了)。

所以我们直接拿前面的 MyString 进行两次异或,就可以获得答案了。

很简单,exp 自己写吧。

0

评论区