IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> XCTF 安卓逆向-RemerOther app1 反编译工具使用学习 -> 正文阅读

[移动开发]XCTF 安卓逆向-RemerOther app1 反编译工具使用学习

最近事情比较多,很(其)久(实)没(是)更(自)新(已)了(懒) shoudongdoge!
正好稍微学了点安卓反编译的知识,自己动手操作下。

目录

工具

RemerOther

app1


工具

夜神模拟器

AndroidKiller ???

jeb-1.5反编译工具 ?????

RemerOther

下载拖入到夜神模拟器

?

其实点击这跳出了一个MD5 直接解密就能获取到一部分flag了

AndroidKiller 打开

首先查看xml配置文件 通过查看 activity 配置文件即可发现首页面代码

com.droider.crackme0201.MainActivity

?点击圈起来的jar按钮 即可将 smali语言转化为我们常见的java语言。

?

?和这个MD5文件有关 在res文件夹找到

?MD5 解密为:YOU_KNOW_

这个是不对的,实际上还需要加上一个ANDROID(需要点脑洞,不过我都是看write up的哈)

YOU_KNOW_ANDROID?

app1

同样操作 ,不过这次用的是jeb 功能其实更强

模拟器情况

?反编译? 继续查看xml文件 得到首页面(activity)类

查看

<activity android:name="com.example.yaphetshan.tencentgreat.MainActivity">

ps 在jeb 按teb键查看源码

关键代码

 public void onClick(View v) {
                try {
                    String v1 = MainActivity.this.text.getText().toString();
                    PackageInfo v2 = MainActivity.this.getPackageManager().getPackageInfo("com.example.yaphetshan.tencentgreat", 
                            16384);
                    String v3 = v2.versionName;
                    int v4 = v2.versionCode;
                    int v0 = 0;
                    while(v0 < v1.length()) {
                        if(v0 >= v3.length()) {
                            break;
                        }

                        if(v1.charAt(v0) != (v3.charAt(v0) ^ v4)) {
                            Toast.makeText(MainActivity.this, "再接再厉,加油~", 1).show();
                            return;
                        }
                        else {
                            ++v0;
                            continue;
                        }
                    }

                    if(v1.length() != v3.length()) {
                        goto label_39;
                    }

                    Toast.makeText(MainActivity.this, "恭喜开启闯关之门!", 1).show();
                    return;
                }
                catch(PackageManager$NameNotFoundException v5) {
                }

?我自己还是比较菜,还是花了一点时间才看懂了代码,简单点说:

  1. PackageInfo 是为了获取 一个Andriod的版本信息 赋值给v2
  2. 然后 v3,v4 分别为这个版本信息的2个参数 versionName versionCode
  3. 之后让 v3 和v4 两者异或 与我们输入的值(v1)进行比较。

在config文件夹中查看到了versionName versionCode

?大佬的脚本,(我自己练了一下,还是没大佬写得好 ovo)

ss='X<cP[?PHNB<P?aj'
flag=''
for i in ss:
    flag+=chr(ord(i)^15)
print(flag)

?W3l_T0_GAM3_0ne

?


?总结,因为自己菜,所以学到的东西才多。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:39:08  更:2022-03-08 22:39:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 16:26:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码