Sedikit otomatisasi dipasang pada perangkat Android 7.1.2 di Corellium, yang digunakan untuk mengalahkan (sebagian besar) pengepakan di pasar.
Metode ini menargetkan metode art::DexFile::OpenMemory
untuk Android 7.1.12 sambil memanfaatkan perangkat Corellium untuk menyediakan perangkat yang selalu aktif dan selalu siap untuk membongkar. Meskipun demo saat ini hanya menggunakan satu perangkat, demo ini pada dasarnya dapat ditingkatkan secara transparan ke front end karena semua "tugas" ditangani oleh nsqd
.
backend
menyiapkan terowongan vpn ke server Corellium, yang dimulai ulang secara otomatis jika terjadi kegagalan, dan membuka proksi terbalik ke jaringan buruh pelabuhan. Ini kemudian dimanfaatkan oleh unpacker-worker
yang menggunakannya untuk berkomunikasi secara transparan dengan perangkat.
backend/vpn-profile.ovpn
dengan profil OpenVPN dari perangkat Corellium Anda.env
seperti itu; 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
Kemudian cukup gunakan docker-compose build
diikuti oleh docker-compose up
.
Menekan api backend dengan apk akan mengakibatkan biner mengantri untuk dibongkar; curl 0.0.0.0:3000/unpack/SHA1_OF_APK --data-binary @/path/to/apk
Setelah satu atau dua menit, periksa kembali status aset; curl 0.0.0.0:3000/unpack/SHA1_OF_APK/status
Kemudian ketika aset yang menarik ditemukan, unduhlah; curl 0.0.0.0:3000/unpack/SHA1_OF_APK/SHA1_OF_ASSET
Presentasi dan kode ini dimaksudkan untuk tujuan pendidikan dan penelitian saja. Lakukan sesuka Anda, tetapi terimalah semua tanggung jawab atas tindakan Anda. Alat ini dibuat khusus untuk membantu pembalikan dan analisis malware - hati-hati. Mereka belum diperkeras untuk konsumsi publik eksternal, mungkin bukan ide cerdas untuk mengekspos layanan seperti ini ke internet publik tanpa berpikir panjang dan keras.
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.