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.