APP逆向系列学习(二)

admin 2024年4月18日02:15:26评论3 views字数 2565阅读8分33秒阅读模式

APP逆向系列学习(二)

这个章节主要是体验frida进行脱壳,前期有些问题太多了,真是人麻了。

android配置:

说下遇到的问题,在new project的时候,选中了empty activity,直接进行make project的时候,进行了报错

APP逆向系列学习(二)

谷歌看下,说是要把bulid-tools以及lib中的d8全部修改为dx,改完以后又是重新报错了~这时真的是人麻了

APP逆向系列学习(二)

就这两个报错,从周一下午,晚上12点还在折腾这个。早上去单位的时候,想了想,会不会是Kali的问题?

重装kali~重装后还是不行。想想换个平台,从windows系统上试试,结果还是不行,在单位给我气笑了。

冷静思考思考,kali没错,android studio版本没错。只是在编译成app的时候报错了,会不会是这个地方有问题?

重新看了看视频,发现用的是SDK 34,找到tools->SDK Manager修改SDK。将SDK从34修改为30。具体可以看这篇文章

https://blog.csdn.net/hou09tian/article/details/120105837

接着更改gradle文件

APP逆向系列学习(二)

将gradle的配置文件更改为低版本后clean project 再rebuild project,这样就能编译成apk了。如果有了解的小伙伴,可以后台私信我,大家一块学习。

plugins {    id 'com.android.application'}android {    compileSdkVersion 30    buildToolsVersion '30.0.0'    defaultConfig {        applicationId "com.r0ysue.givemefive"        minSdkVersion 16        targetSdkVersion 30        versionCode 1        versionName "1.0"        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'        }    }    compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }}dependencies {    implementation 'androidx.appcompat:appcompat:1.3.0'    implementation 'com.google.android.material:material:1.4.0'    implementation 'androidx.annotation:annotation:1.1.0'    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'//    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'//    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'    testImplementation 'junit:junit:4.+'    androidTestImplementation 'androidx.test.ext:junit:1.1.3'    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.1'}

项目的build下就找到了apk文件了

APP逆向系列学习(二)

安装jeb,这个工具能够动态调试,有能力请支持正版

https://www.52pojie.cn/thread-1598242-1-1.html

这几天顺便学习了下kali下是如何切换jdk的

https://blog.csdn.net/grb819/article/details/121633285

安装010editor

https://www.sweetscape.com/010editor/

安装 scrcpy

https://blog.mbigfish.com/index.php/archives/2204/

scrcpy安装后就能直接在电脑上控制手机了,比如下面就是安装后直接在kali里面打开我手机的效果

APP逆向系列学习(二)

加壳分类:

  • 一代整体型壳:采用Dex整体加密,动态加载运行的机制;

  • 二代函数抽取型壳:粒度更细,将方法单独抽取出来,加密保存,解密执行;

  • 三代VMP、Dex2C壳:独立虚拟机解释执行、语义等价语法迁移,强度最高。

本次其实最重要的是体验frida脱壳,由于APP版本受到限制,并且我也没找到合适的APP,所以只能先空下来了。但是不影响先安装frida工具。frida安装工具有个对应表,这里写下我安装的版本

proxychains4 pip install frida==14.2.18proxychains4 pip install frida-tools==9.2.5proxychains4 pipp install objection==1.11.0

关于脱壳的地方,可以先看看下面这两篇文章,对一代壳、二代壳脱壳有个大概了解。

https://www.anquanke.com/post/id/221905

https://www.anquanke.com/post/id/197670

ps:重装Kali系统后,按照笔记进行二次重装工具的地方,发现很多问题的解决办法当时没有记录还要进行二次查询。为了防止二次查询也觉得文章需要再重新优化一遍,就直接把文章给删了,重新再发布一遍

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任

欢迎关注公众号“呼啦啦安全”,原创技术文章第一时间推送。

原文始发于微信公众号(呼啦啦安全):APP逆向系列学习(二)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月18日02:15:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   APP逆向系列学习(二)https://cn-sec.com/archives/2668278.html

发表评论

匿名网友 填写信息