corellium android unpacking
1.0.0
Corellium 上的 Android 7.1.2 设备周围有一些自动化功能,用于击败市场上(大多数)加壳程序。
此方法针对 Android 7.1.12 的art::DexFile::OpenMemory
方法,同时利用 Corellium 设备提供始终在线且随时准备好的解包设备。虽然当前的演示仅使用一台设备,但实际上可以透明地扩展到前端,因为所有“任务”都由nsqd
处理。
backend
设置一个到 Corellium 服务器的 vpn 隧道,该服务器在出现故障时自动重新启动,并打开一个到 docker 网络的反向代理。然后, unpacker-worker
会利用它与设备进行透明通信。
backend/vpn-profile.ovpn
替换为 Corellium 设备中的 OpenVPN 配置文件.env
文件; INSTANCE_ID=7cc6ca2a-6622-479b-aa4b-8394aa9d9475-instance-for-unpacker
CORELLIUM_URL=testinstance.corellium.com
CORELLIUM_USERNAME=unpackeruser
CORELLIUM_PASSWORD=unpackerpassword
GIN_MODE=debug
SERVE_PORT=3000
ADB_PROXY=5555
然后只需使用docker-compose build
,然后使用docker-compose up
。
使用 apk 访问后端 api 将导致它排队一个二进制文件以进行解包; curl 0.0.0.0:3000/unpack/SHA1_OF_APK --data-binary @/path/to/apk
一两分钟后,检查资产状态; curl 0.0.0.0:3000/unpack/SHA1_OF_APK/status
然后当找到感兴趣的资产时,下载它们; curl 0.0.0.0:3000/unpack/SHA1_OF_APK/SHA1_OF_ASSET
本演示文稿和代码仅用于教育和研究目的。做你想做的事,但要对你的行为承担任何和所有责任。这些工具是专门为协助恶意软件逆向和分析而创建的 - 请小心。它们还没有针对外部公共消费进行强化,在没有经过长时间和认真思考的情况下将这样的服务暴露给公共互联网可能不是一个明智的想法。
Copyright 2020 Tim 'diff' Strazzere <[email protected]>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.