Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

安卓反编译apk以及得到&支付宝源码分析 #96

Open
soapgu opened this issue Jan 5, 2022 · 0 comments
Open

安卓反编译apk以及得到&支付宝源码分析 #96

soapgu opened this issue Jan 5, 2022 · 0 comments
Labels

Comments

@soapgu
Copy link
Owner

soapgu commented Jan 5, 2022

  • 前言

想要了解下现有市场上的发布app的内部机制组成。
图片
但是光靠乃氪金狗眼连网页也是原生UI都分不清楚

  • apk反编译

感觉安卓apk反编译这条路相对可行一点,毕竟我在以前15年前的时候就听说我同学把微信反编译出来看他代码了。

  1. 实验apk
    感觉市场上的apk弄不好会搞点混淆啥的,不如先找一个简单极致的apk先来一波小白鼠
    图片
    就直接用我们前面测试自动打包的制品库里面下

  2. 下载工具

放到一个无中文的目录
解压dex2jar和jd-gui
图片

  1. 分析
PS D:\apkAnalyse> java -jar .\apktool_2.6.0.jar d -f .\demo-release-1.0-1.apk -o source
I: Using Apktool 2.6.0 on demo-release-1.0-1.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\guhui\AppData\Local\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

图片

apktool可以提取出apk的resource,好像除了自己写的layout还打进去很多其他系统的xml

  1. 提取jar
    首先把apk改后缀名zip,再unzip。
    得到classes.dex
    再拷贝到dex-tools-2.1目录后运行
PS D:\apkAnalyse\dex-tools-2.1> .\d2j-dex2jar.bat .\classes.dex
dex2jar .\classes.dex -> .\classes-dex2jar.jar
  1. 反编译JAVA 源码
    打开jd-gui.exe
    File->Open->classes-dex2jar.jar

图片

好了,开胃小菜上完改上正菜了
去官网把apk弄到手

图片

先执行apktool看下得到的资源和配置
先看AndroidManifest.xml
图片
命名暴露了是用flutter开发的

先抓下底部工具栏
图片
通过菜单的图标资源反向查找

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout android:tag="layout/z_luojilab_player_home_tab_layout_0" android:background="@color/mb" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
    <FrameLayout android:id="@id/webContent" android:background="@color/mb" android:layout_width="0.0dip" android:layout_height="0.0dip" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />
    <FrameLayout android:background="@color/mb" android:layout_width="0.0dip" android:layout_height="0.0dip" app:layout_constraintBottom_toBottomOf="@id/webContent" app:layout_constraintLeft_toLeftOf="@id/webContent" app:layout_constraintRight_toRightOf="@id/webContent" app:layout_constraintTop_toTopOf="@id/webContent" />
    <androidx.constraintlayout.widget.ConstraintLayout android:layout_gravity="bottom" android:id="@id/homeLayout" android:layout_width="0.0dip" android:layout_height="49.0dip" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_weight="1.0" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@id/subscribeLayout" style="@style/uf">
        <com.airbnb.lottie.LottieAnimationView android:id="@id/oneImageView" android:layout_width="32.0dip" android:layout_height="@dimen/fv" android:scaleType="centerCrop" app:layout_constraintBottom_toTopOf="@id/oneTextView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_chainStyle="packed" app:lottie_autoPlay="false" app:lottie_loop="false" />
        <TextView android:textSize="@dimen/fu" android:textStyle="bold" android:textColor="@color/uc" android:gravity="center_horizontal" android:id="@id/oneTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="发现" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/oneImageView" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout android:id="@id/subscribeLayout" android:layout_width="0.0dip" android:layout_height="49.0dip" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_weight="1.0" app:layout_constraintLeft_toRightOf="@id/homeLayout" app:layout_constraintRight_toLeftOf="@id/knowledgeBookLayout" style="@style/uf">
        <ImageView android:id="@id/twoImageView" android:layout_width="32.0dip" android:layout_height="@dimen/fv" android:src="@drawable/aqw" android:scaleType="centerCrop" app:layout_constraintBottom_toTopOf="@id/twoTextView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_chainStyle="packed" />
        <TextView android:textSize="@dimen/fu" android:textStyle="bold" android:textColor="@color/uc" android:gravity="center_horizontal" android:id="@id/twoTextView" android:layout_width="0.0dip" android:layout_height="wrap_content" android:text="学习计划" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/twoImageView" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout android:layout_gravity="bottom" android:id="@id/knowledgeBookLayout" android:layout_width="0.0dip" android:layout_height="49.0dip" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_weight="1.0" app:layout_constraintLeft_toRightOf="@id/subscribeLayout" app:layout_constraintRight_toLeftOf="@id/boughtLayout" style="@style/uf">
        <ImageView android:id="@id/knowledgeBookImageView" android:layout_width="32.0dip" android:layout_height="@dimen/fv" android:src="@drawable/aqy" android:scaleType="centerCrop" app:layout_constraintBottom_toTopOf="@id/knowledgeBookTextView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_chainStyle="packed" />
        <TextView android:textSize="@dimen/fu" android:textStyle="bold" android:textColor="@color/uc" android:gravity="center_horizontal" android:id="@id/knowledgeBookTextView" android:layout_width="0.0dip" android:layout_height="wrap_content" android:text="知识城邦" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/knowledgeBookImageView" />
        <View android:id="@id/noteRedTipView" android:background="@drawable/me" android:visibility="gone" android:layout_width="8.0dip" android:layout_height="8.0dip" app:layout_constraintEnd_toEndOf="@id/knowledgeBookImageView" app:layout_constraintStart_toEndOf="@id/knowledgeBookImageView" app:layout_constraintTop_toTopOf="@id/knowledgeBookImageView" />
        <TextView android:textSize="11.0dip" android:textColor="@color/oa" android:gravity="center" android:id="@id/noteNumView" android:background="@drawable/mf" android:paddingLeft="3.0dip" android:paddingRight="3.0dip" android:paddingBottom="1.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="16.0dip" android:layout_marginLeft="18.0dip" android:minWidth="16.0dip" android:text="" app:layout_constraintLeft_toLeftOf="@id/knowledgeBookImageView" app:layout_constraintTop_toTopOf="@id/knowledgeBookImageView" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout android:id="@id/boughtLayout" android:layout_width="0.0dip" android:layout_height="49.0dip" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_weight="1.0" app:layout_constraintLeft_toRightOf="@id/knowledgeBookLayout" app:layout_constraintRight_toLeftOf="@id/meLayout" style="@style/uf">
        <ImageView android:id="@id/threeImageView" android:layout_width="32.0dip" android:layout_height="@dimen/fv" android:src="@drawable/ar0" android:scaleType="centerCrop" app:layout_constraintBottom_toTopOf="@id/threeTextView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_chainStyle="packed" />
        <TextView android:textSize="@dimen/fu" android:textStyle="bold" android:textColor="@color/uc" android:gravity="center_horizontal" android:id="@id/threeTextView" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginTop="@dimen/ft" android:text="已购" android:layout_below="@id/threeImageView" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/threeImageView" />
        <View android:id="@id/buyearaRedTipView" android:background="@drawable/me" android:visibility="gone" android:layout_width="8.0dip" android:layout_height="8.0dip" app:layout_constraintEnd_toEndOf="@id/threeImageView" app:layout_constraintStart_toEndOf="@id/threeImageView" app:layout_constraintTop_toTopOf="@id/threeImageView" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout android:layout_gravity="bottom" android:id="@id/meLayout" android:layout_width="0.0dip" android:layout_height="49.0dip" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_weight="1.0" app:layout_constraintLeft_toRightOf="@id/boughtLayout" app:layout_constraintRight_toRightOf="parent" style="@style/uf">
        <ImageView android:id="@id/fourImageView" android:layout_width="32.0dip" android:layout_height="@dimen/fv" android:src="@drawable/ar2" android:scaleType="centerCrop" app:layout_constraintBottom_toTopOf="@id/fourTextView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_chainStyle="packed" />
        <TextView android:textSize="@dimen/fu" android:textStyle="bold" android:textColor="@color/uc" android:gravity="center_horizontal" android:id="@id/fourTextView" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginTop="@dimen/ft" android:text="我的" android:layout_below="@id/fourImageView" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/fourImageView" />
        <View android:id="@id/couponRedTipView" android:background="@drawable/me" android:visibility="gone" android:layout_width="8.0dip" android:layout_height="8.0dip" app:layout_constraintEnd_toEndOf="@id/fourImageView" app:layout_constraintStart_toEndOf="@id/fourImageView" app:layout_constraintTop_toTopOf="@id/fourImageView" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    <FrameLayout android:id="@id/homeTabCover" android:background="@color/a2_" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="49.0dip" app:layout_constraintBottom_toBottomOf="@id/homeLayout" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="@id/homeLayout" />
    <androidx.constraintlayout.widget.Guideline android:orientation="horizontal" android:id="@id/tab_divider" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintGuide_end="49.0dip" />
    <View android:id="@id/bottomLineView" android:background="@color/e2" android:layout_width="0.0dip" android:layout_height="1.1999817px" app:layout_constraintBottom_toTopOf="@id/tab_divider" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" />
    <FrameLayout android:id="@id/tabContent" android:layout_width="0.0dip" android:layout_height="0.0dip" app:layout_constraintBottom_toTopOf="@id/tab_divider" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />
    <ImageView android:id="@id/purchasedListGuideView" android:paddingBottom="3.0dip" android:visibility="gone" android:layout_width="30.0dip" android:layout_height="22.0dip" android:layout_marginLeft="18.0dip" android:src="@drawable/aqn" app:layout_constraintBottom_toTopOf="@id/boughtLayout" app:layout_constraintEnd_toEndOf="@id/boughtLayout" app:layout_constraintStart_toStartOf="@id/boughtLayout" app:layout_constraintTop_toTopOf="@id/boughtLayout" />
    <LinearLayout android:orientation="vertical" android:id="@id/miniLayout" android:tag="binding_1" android:visibility="visible" android:layout_width="0.0dip" android:layout_height="wrap_content" app:layout_constraintBottom_toTopOf="@id/tab_divider" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent">
        <include layout="@layout/dedao_mini_bar_layout" />
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

名字叫z_luojilab_player_home_tab_layout.xml,看上去八九不离十

再找下“我的”界面
图片

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout android:id="@id/root_view" android:tag="layout/me_fragment_layout_0" android:background="@color/m5" android:fitsSystemWindows="false" android:addStatesFromChildren="true" android:layout_width="fill_parent" android:layout_height="wrap_content"
  xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:bind="http://schemas.android.com/apk/res-auto">
    <RelativeLayout android:id="@id/title_bar" android:layout_width="fill_parent" android:layout_height="50.0dip">
        <View android:id="@id/v_title_bg" android:background="@color/m5" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="50.0dip" android:layout_alignParentBottom="true">
            <ImageView android:layout_gravity="center_vertical" android:id="@id/qrcodeImageView" android:padding="12.5dip" android:layout_width="45.0dip" android:layout_height="45.0dip" android:layout_marginLeft="2.5dip" android:src="@drawable/b4k" android:contentDescription="@string/ih" style="@style/ue" />
            <View android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" />
            <ImageView android:id="@id/classNumLayout" android:layout_width="45.0dip" android:layout_height="45.0dip" android:src="@drawable/b4p" android:scaleType="centerInside" style="@style/ue" />
            <ImageView android:id="@id/settingImageView" android:padding="11.0dip" android:layout_width="45.0dip" android:layout_height="45.0dip" android:src="@drawable/b4m" android:scaleType="centerInside" android:contentDescription="@string/ii" style="@style/ue" />
            <androidx.constraintlayout.widget.ConstraintLayout android:id="@id/cl_signin" android:visibility="gone" android:layout_width="60.0dip" android:layout_height="45.0dip" android:layout_marginStart="5.0dip" android:layout_marginEnd="20.0dip" style="@style/ue">
                <TextView android:textSize="12.0dip" android:textColor="@color/ep" android:gravity="center_vertical" android:id="@id/tv_icon_signin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="签到" android:drawableLeft="@drawable/ado" android:drawablePadding="5.0dip" bind:layout_constraintBottom_toBottomOf="parent" bind:layout_constraintEnd_toEndOf="parent" bind:layout_constraintStart_toStartOf="parent" bind:layout_constraintTop_toTopOf="parent" />
                <ImageView android:id="@id/iv_signin_gif" android:visibility="gone" android:layout_width="60.0dip" android:layout_height="47.0dip" bind:layout_constraintBottom_toBottomOf="parent" bind:layout_constraintLeft_toLeftOf="parent" bind:layout_constraintRight_toRightOf="parent" bind:layout_constraintTop_toTopOf="parent" />
                <ImageView android:id="@id/i_signin_red" android:visibility="gone" android:layout_width="10.0dip" android:layout_height="10.0dip" android:src="@drawable/jv" bind:layout_constraintEnd_toEndOf="@id/tv_icon_signin" bind:layout_constraintStart_toEndOf="@id/tv_icon_signin" bind:layout_constraintTop_toTopOf="@id/tv_icon_signin" />
            </androidx.constraintlayout.widget.ConstraintLayout>
        </LinearLayout>
    </RelativeLayout>
    <com.luojilab.me.ui.view.HomeScrollView android:id="@id/globalScrollView" android:scrollbars="none" android:layout_width="fill_parent" android:layout_height="wrap_content" android:overScrollMode="never" android:translationZ="-1.0dip">
        <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
            <ImageView android:id="@id/shadowImageView" android:layout_width="fill_parent" android:layout_height="230.0dip" android:scaleType="centerCrop" />
            <View android:id="@id/shadowTopView" android:background="@color/dk" android:layout_width="fill_parent" android:layout_height="230.0dip" />
            <LinearLayout android:orientation="vertical" android:id="@id/ll_banner_group" android:tag="binding_1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="85.0dip">
                <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="150.0dip">
                    <androidx.constraintlayout.widget.ConstraintLayout android:id="@id/headerLayout" android:paddingTop="10.0dip" android:paddingBottom="15.0dip" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content">
                        <com.luojilab.ddbaseframework.widget.FlagImageIcon android:id="@id/fl_header" android:layout_width="60.0dip" android:layout_height="60.0dip" android:layout_marginStart="15.0dip" bind:cancel_border="false" bind:layout_constraintLeft_toLeftOf="parent" bind:layout_constraintTop_toTopOf="parent" />
                        <TextView android:textSize="22.0dip" android:textStyle="bold" android:textColor="@color/ep" android:id="@id/nicknameTextView" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:lines="1" android:singleLine="true" bind:layout_constraintBottom_toTopOf="@id/tv_certificate" bind:layout_constraintLeft_toRightOf="@id/fl_header" bind:layout_constraintRight_toLeftOf="@id/tv_account_detail_logined" bind:layout_constraintTop_toTopOf="@id/fl_header" />
                        <TextView android:textSize="12.0dip" android:textColor="@color/n7" android:id="@id/tv_certificate" android:background="@drawable/rl" android:paddingLeft="10.0dip" android:paddingTop="1.5dip" android:paddingRight="10.0dip" android:paddingBottom="1.5dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="勋章0" bind:layout_constraintBottom_toBottomOf="@id/fl_header" bind:layout_constraintLeft_toLeftOf="@id/nicknameTextView" bind:layout_constraintTop_toBottomOf="@id/nicknameTextView" />
                        <TextView android:textSize="12.0dip" android:textColor="@color/n7" android:id="@id/medal" android:background="@drawable/rl" android:paddingLeft="10.0dip" android:paddingTop="1.5dip" android:paddingRight="10.0dip" android:paddingBottom="1.5dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10.0dip" android:text="证书0" bind:layout_constraintBottom_toBottomOf="@id/tv_certificate" bind:layout_constraintLeft_toRightOf="@id/tv_certificate" bind:layout_constraintTop_toTopOf="@id/tv_certificate" />
                        <ImageView android:gravity="center" android:id="@id/tv_account_detail_logined" android:padding="5.0dip" android:layout_width="50.0dip" android:layout_height="50.0dip" android:layout_marginRight="11.0dip" android:src="@drawable/b39" android:scaleType="centerInside" android:layout_centerVertical="true" bind:layout_constraintBottom_toBottomOf="@id/fl_header" bind:layout_constraintRight_toRightOf="parent" bind:layout_constraintTop_toTopOf="@id/fl_header" />
                        <LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/ll_note_counts" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginTop="25.0dip" bind:layout_constraintLeft_toLeftOf="parent" bind:layout_constraintRight_toLeftOf="@id/ll_friendsNum" bind:layout_constraintTop_toBottomOf="@id/fl_header">
                            <TextView android:textSize="20.0dip" android:textColor="@color/ep" android:gravity="center" android:id="@id/tv_note_counts" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="0" />
                            <TextView android:textSize="11.0dip" android:textColor="@color/fo" android:id="@id/tv_note_hint" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我的笔记" />
                        </LinearLayout>
                        <LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/ll_friendsNum" android:layout_width="0.0dip" android:layout_height="wrap_content" bind:layout_constraintBottom_toBottomOf="@id/ll_note_counts" bind:layout_constraintLeft_toRightOf="@id/ll_note_counts" bind:layout_constraintRight_toLeftOf="@id/ll_fansNum" bind:layout_constraintTop_toTopOf="@id/ll_note_counts">
                            <TextView android:textSize="20.0dip" android:textColor="@color/ep" android:gravity="center" android:id="@id/friendsNum" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="0" />
                            <TextView android:textSize="11.0dip" android:textColor="@color/fo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我关注的人" />
                        </LinearLayout>
                        <LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/ll_fansNum" android:layout_width="0.0dip" android:layout_height="wrap_content" bind:layout_constraintBottom_toBottomOf="@id/ll_note_counts" bind:layout_constraintLeft_toRightOf="@id/ll_friendsNum" bind:layout_constraintRight_toLeftOf="@id/ff_study_time" bind:layout_constraintTop_toTopOf="@id/ll_note_counts">
                            <TextView android:textSize="20.0dip" android:textColor="@color/ep" android:gravity="center" android:id="@id/fansNum" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="0" />
                            <TextView android:textSize="11.0dip" android:textColor="@color/fo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="关注我的人" />
                        </LinearLayout>
                        <View android:id="@id/fansRedPointView" android:background="@drawable/rj" android:layout_width="8.0dip" android:layout_height="8.0dip" android:layout_marginLeft="35.0dip" android:layout_marginBottom="10.0dip" bind:layout_constraintLeft_toLeftOf="@id/ll_fansNum" bind:layout_constraintRight_toRightOf="@id/ll_fansNum" bind:layout_constraintTop_toTopOf="@id/ll_fansNum" />
                        <LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/ff_study_time" android:layout_width="0.0dip" android:layout_height="wrap_content" bind:layout_constraintBottom_toBottomOf="@id/ll_note_counts" bind:layout_constraintLeft_toRightOf="@id/ll_fansNum" bind:layout_constraintRight_toRightOf="parent" bind:layout_constraintTop_toTopOf="@id/ll_note_counts">
                            <LinearLayout android:gravity="center_horizontal" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
                                <TextView android:textSize="20.0dip" android:textColor="@color/ep" android:gravity="center" android:id="@id/tv_study_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="3.0dip" android:text="9" />
                            </LinearLayout>
                            <TextView android:textSize="11.0dip" android:textColor="@color/fo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="今日学习" />
                        </LinearLayout>
                        <View android:id="@id/v_user_red_tip" android:background="@drawable/aq" android:visibility="gone" android:layout_width="8.0dip" android:layout_height="8.0dip" bind:layout_constraintBottom_toBottomOf="@id/tv_account_detail_logined" bind:layout_constraintRight_toLeftOf="@id/tv_account_detail_logined" bind:layout_constraintTop_toTopOf="@id/tv_account_detail_logined" />
                    </androidx.constraintlayout.widget.ConstraintLayout>
                    <androidx.constraintlayout.widget.ConstraintLayout android:id="@id/cl_tourist" android:visibility="visible" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <TextView android:textSize="16.0dip" android:textColor="@color/o_" android:gravity="center" android:id="@id/tv_login" android:background="@drawable/rk" android:layout_width="200.0dip" android:layout_height="38.0dip" android:text="登录/注册" bind:layout_constraintBottom_toBottomOf="parent" bind:layout_constraintLeft_toLeftOf="parent" bind:layout_constraintRight_toRightOf="parent" bind:layout_constraintTop_toTopOf="parent" />
                        <TextView android:textSize="11.0dip" android:textColor="@color/fo" android:gravity="center" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginTop="15.0dip" android:text="登录 / 注册可解锁完整功能" bind:layout_constraintLeft_toLeftOf="@id/tv_login" bind:layout_constraintRight_toRightOf="@id/tv_login" bind:layout_constraintTop_toBottomOf="@id/tv_login" />
                    </androidx.constraintlayout.widget.ConstraintLayout>
                </FrameLayout>
                <com.ms.banner.Banner android:id="@id/banner" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="50.0dip" android:layout_marginTop="10.0dip" bind:banner_default_image="@drawable/b5d" bind:indicator_drawable_selected="@drawable/rs" bind:indicator_drawable_unselected="@drawable/rt" bind:indicator_height="3.0dip" bind:indicator_margin="7.0dip" bind:indicator_padding="1.5dip" bind:indicator_width="8.0dip" />
                <LinearLayout android:orientation="vertical" android:id="@id/ll_group" android:background="@drawable/r1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10.0dip" android:layout_marginTop="10.0dip" android:layout_marginRight="10.0dip">
                    <FrameLayout android:id="@id/university" android:visibility="visible" android:clickable="true" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <ImageView android:layout_gravity="center_vertical" android:id="@id/universityIcon" android:background="@drawable/b3k" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" />
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="46.0dip" android:text="@string/h7" />
                        <ImageView android:layout_gravity="center|right" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" android:scaleType="centerInside" />
                        <TextView android:textSize="12.0dip" android:textColor="@color/hk" android:layout_gravity="center|right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="30.0dip" android:text="进入" />
                    </FrameLayout>
                    <FrameLayout android:id="@id/scoreLayout" android:visibility="gone" android:clickable="true" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:id="@id/scoreTitleTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:text="得到实验室" />
                        <View android:layout_gravity="center|right" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" />
                        <TextView android:textSize="14.0dip" android:textColor="@color/hk" android:layout_gravity="center|right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="30.0dip" android:text="抢先体验" />
                        <View android:background="@color/l9" android:layout_width="fill_parent" android:layout_height="1.5px" android:layout_marginLeft="15.0dip" android:layout_marginRight="15.0dip" />
                    </FrameLayout>
                    <FrameLayout android:id="@id/enterprise" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <View android:id="@id/v_enterprise" android:background="@color/l9" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="1.5px" android:layout_marginLeft="15.0dip" android:layout_marginRight="15.0dip" />
                        <ImageView android:layout_gravity="center_vertical" android:background="@drawable/b4t" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" />
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:id="@id/tv_enterprise" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="46.0dip" />
                        <ImageView android:layout_gravity="center|right" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" android:scaleType="centerInside" />
                        <TextView android:textSize="12.0dip" android:textColor="@color/hk" android:layout_gravity="center|right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="30.0dip" android:text="进入" />
                    </FrameLayout>
                </LinearLayout>
                <include android:id="@id/layout_account" layout="@layout/me_fragment_layout_account" />
                <include android:id="@id/layout_content" layout="@layout/me_fragment_layout_content" />
                <include android:id="@id/layout_achievement" layout="@layout/me_fragment_layout_achievement" />
                <LinearLayout android:orientation="vertical" android:id="@id/ll_teacher_group" android:background="@drawable/r1" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10.0dip" android:layout_marginTop="10.0dip" android:layout_marginRight="10.0dip">
                    <TextView android:textSize="16.0dip" android:textStyle="bold" android:textColor="@color/dp" android:id="@id/label_teacher" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:layout_marginTop="15.0dip" android:text="得到工作台" />
                    <com.luojilab.netsupport.autopoint.widget.collection.DDCollectionView android:id="@id/cv_teacher" android:layout_width="fill_parent" android:layout_height="wrap_content" />
                </LinearLayout>
                <LinearLayout android:orientation="vertical" android:background="@drawable/r1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10.0dip" android:layout_marginTop="10.0dip" android:layout_marginRight="10.0dip">
                    <FrameLayout android:id="@id/scholarshipLayout" android:background="@drawable/r1" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:text="我的奖学金" />
                        <View android:layout_gravity="center|right" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" />
                        <TextView android:textSize="12.0dip" android:textColor="@color/n7" android:layout_gravity="center|right" android:id="@id/scholarshipNumTextView" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="30.0dip" />
                        <View android:layout_gravity="bottom" android:background="@color/l9" android:layout_width="fill_parent" android:layout_height="1.5px" android:layout_marginLeft="15.0dip" />
                    </FrameLayout>
                    <FrameLayout android:id="@id/moneyCardLayout" android:background="@drawable/r1" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:text="得到财富卡" />
                        <View android:layout_gravity="center|right" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" />
                        <View android:layout_gravity="bottom" android:background="@color/l9" android:layout_width="fill_parent" android:layout_height="1.5px" android:layout_marginLeft="15.0dip" />
                    </FrameLayout>
                    <FrameLayout android:id="@id/zxMoneyCardLayout" android:background="@drawable/r1" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:text="信・听书卡" />
                        <View android:layout_gravity="center|right" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" />
                        <View android:layout_gravity="bottom" android:background="@color/l9" android:layout_width="fill_parent" android:layout_height="1.5px" android:layout_marginLeft="15.0dip" android:layout_marginRight="15.0dip" />
                    </FrameLayout>
                    <FrameLayout android:id="@id/messageLayout" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:text="课程留言管理" />
                        <View android:layout_gravity="center|right" android:id="@id/messageArrView" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" />
                        <TextView android:textSize="17.0dip" android:textColor="@color/ep" android:layout_gravity="center|right" android:id="@id/messageNumTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="30.0dip" />
                        <View android:layout_gravity="bottom" android:background="@color/l9" android:layout_width="fill_parent" android:layout_height="1.5px" android:layout_marginLeft="15.0dip" android:layout_marginRight="15.0dip" />
                    </FrameLayout>
                    <FrameLayout android:id="@id/tuijianLayout" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:text="推荐「得到」给好友" />
                        <View android:layout_gravity="center|right" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" />
                        <TextView android:textSize="12.0dip" android:textColor="@color/n7" android:layout_gravity="center|right" android:id="@id/couponTipsTextView" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="30.0dip" />
                        <View android:layout_gravity="bottom" android:background="@color/l9" android:layout_width="fill_parent" android:layout_height="1.5px" android:layout_marginLeft="15.0dip" android:layout_marginRight="15.0dip" />
                    </FrameLayout>
                    <RelativeLayout android:id="@id/wrqLayout" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:text="得到荣誉赞助人" android:layout_centerVertical="true" />
                        <View android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" android:layout_alignParentRight="true" android:layout_centerVertical="true" />
                        <View android:background="@color/l9" android:layout_width="fill_parent" android:layout_height="1.5px" android:layout_marginLeft="15.0dip" android:layout_marginRight="15.0dip" android:layout_alignParentBottom="true" />
                    </RelativeLayout>
                    <FrameLayout android:id="@id/helpCenterLayout" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:text="帮助中心" />
                        <View android:layout_gravity="center|right" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" />
                    </FrameLayout>
                    <FrameLayout android:id="@id/devCenterLayout" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="50.0dip" style="@style/ue">
                        <View android:background="@color/l9" android:layout_width="fill_parent" android:layout_height="1.5px" android:layout_marginLeft="15.0dip" android:layout_marginRight="15.0dip" android:layout_alignParentBottom="true" />
                        <TextView android:textSize="14.0dip" android:textColor="@color/ep" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:text="产研实验室" />
                        <View android:layout_gravity="center|right" android:background="@drawable/b39" android:layout_width="20.0dip" android:layout_height="20.0dip" android:layout_marginRight="5.0dip" />
                    </FrameLayout>
                </LinearLayout>
                <View android:id="@id/hiddenFeaturesOpen" android:background="@color/mf" android:layout_width="fill_parent" android:layout_height="200.0dip" />
            </LinearLayout>
        </RelativeLayout>
    </com.luojilab.me.ui.view.HomeScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

me_fragment_layout.xml.xml

  • 显然 “我的”界面是原生代码实现的

apk解压以后,发现竟然有8个classes.dex
图片
看来代码量有点大用到了MultiDex
感兴趣的小伙伴可以移步参考链接传送门

图片
支付宝的dex包竟然达15个之多,看来代码量比较大
先去strings.xml逛一下
图片
感觉里面的信息是几年前的支付宝,过时的信息,找了一个关键字key也确实没有收获
去drawable里面去碰下运气
图片
有个很鸡贼的public.xml文件
图片
似乎把图片资源文件加密处理了
图片
好像layout文件夹下的xml也不是“真”的,没翻到“关键”界面

values文件夹下的layouts.xml有嫌疑
图片
图片
有些关联信息,但是无法挖出有价值的线索。暂时没尝试dex反编译的勇气。
先打住,只能说支付宝确实是挺安全的app
1218727_criminal_cybercriminal_prisoner_thief_user_icon

@soapgu soapgu changed the title 安卓反编译apk以及得到支付宝源码分析 安卓反编译apk以及得到&支付宝源码分析 Jan 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant