【Android】逆向自动化

【Android】逆向自动化

前言

安卓APK自动反编译,自动分析组件导出与非导出,自动解析组件中可能存在攻击点的关键词,自动收集所有APK中的URL,自动上传解析结果到飞书文档。
代码:https://github.com/hwhxy/AndroidForLark

自动反编译

python3执行命令即可

cmd = f"{self.jadx_dir}/bin/jadx -e {self.apk_dir} -d {self.re_apk_dir}"
print(f"开始逆向,请等待!cmd:{cmd}")
pipe = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(pipe.stdout.read().decode())
print(f"逆向结束,文件输出为:{self.re_apk_dir}")

jadx下载放在project文件路径下面就行
download from : https://github.com/skylot/jadx

自动分析组件导出与非导出

直接解析AndroidManifest.xml

  • 情况1:android:exported=“true” – 可导出
  • 情况2:android:exported=“falsee” – 不可导出
  • 情况3:没直接显式exported,有intent-filter – 可导出
  • 情况4:没直接显式exported,无intent-filter – 默认不可导出

自动解析组件中可能存在攻击点的关键词

self.sensitive_keys = [
"onHandleIntent(", 
"getIntent(", 
"getStringExtra(",
"getExtras(", 
"startService(", 
"startActivity("
]

这个可以是可以增加的list,主要看我们对于组件的审计喜欢看什么函数或关键词。

自动收集所有APK中的URL

match_url = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', file_content)

自动上传飞书文档

def create_sheet(self, sheet_title)
def add_spreadsheet(self, spreadsheet_token, title)
def write_sheet(self, data, spreadsheet_token, sheet_id)

后记

都有mobsf了,还要啥自行车?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值