Немного автоматизации, созданное вокруг устройства Android 7.1.2 на Corellium, используемого для победы над (большинством) упаковщиков на рынке.
Этот метод предназначен для art::DexFile::OpenMemory
для Android 7.1.12 и использует устройство Corellium, чтобы обеспечить всегда включенное и всегда готовое устройство для распаковки. Хотя в текущей демонстрации используется только одно устройство, его можно прозрачно масштабировать до внешнего интерфейса, поскольку все «задачи» выполняются с помощью nsqd
.
backend
устанавливает VPN-туннель к серверу Corellium, который автоматически перезапускается в случае сбоя и открывает обратный прокси-сервер для сети докеров. Затем он используется unpacker-worker
, который использует его для прозрачного взаимодействия с устройством.
backend/vpn-profile.ovpn
профилем OpenVPN с вашего устройства Corellium..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
.
Запуск API-интерфейса бэкэнда с помощью apk приведет к тому, что он поставит в очередь двоичный файл для распаковки; 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.