MỤC LỤC 1 APK Tool: 1 2 Keytool: 1 3 Shell Script 2 1 APK Tool: APK Tool là công cụ extract file apk để lấy dữ liệu Link chi tiết: http://codientu.org/threads/9292/ Đây là link hướng dẫn tải và sử dụng apk tool, dùng để giải nén 1 file apk Sử dụng shell script để áp dụng cho hàng loạt file apk: 2 Keytool: Là công cụ để giải nén APK và lấy file RSA Link hướng dẫn: http://unix.stackexchange.com/questions/149148/shell-script-to-work-on-filesin-some-directory 3 Shell Script extraxtAPK.sh (giải nén tự động toàn bộ file apk) Các đoạn shell script lấy thông tin từ apk #!/bin/bash for file in * //câu lệnh duyệt toàn bộ file trong thư mục hiện tại mà mình đặt file sh nà do apktool d $file mv $file /home/thanhdb/Downloads/old_file_apk //câu lệnh di chuyển file đã giải nén sang 1 //thư mục khác để phân loại file apk đã giải nén và file được giải nén ra done keytool.sh (giải nén lấy file RSA) #!/bin/bash for filename in `ls | grep ".apk$"`//chỉ duyệt file có đuôi file là apk do unzip -d $filename.extract $filename META-INF/CERT.RSA// biến $filename.extract là tên tập //tin sau khi giải nén ở phần I, các file đó có đuôi là extract //từ đoạn này xuống chưa tìm hiểu kĩ, chỉ thấy nó sử dụng được, k bị lỗi gì if [ -f $filename.extract/META-INF/CERT.RSA ] then mkdir `keytool -printcert -v -file $filename.extract/META-INF/CERT.RSA|grep SerialNumber| cut -c 19-23` mv $filename `keytool -printcert -v -file $filename.extract/META-INF/CERT.RSA| grep SerialNumber| cut -c 19-23`/$filename mv `echo $filename | sed 's/\(.*\.\)apk/\1odex/'` `keytool -printcert -v -file $filename.extract/META-INF/CERT.RSA|grep SerialNumber| cut -c 19-23`/`echo $filename | sed 's/\(.*\.\)apk/\1odex/'` #!rm -rf $filename.extract else mkdir none mv $filename none mv `echo $filename | sed 's/\(.*\.\)apk/\1odex/'` none rm -rf $filename.extract fi done; Intentfilter.sh DisplaySerialNumber.sh Đưa các Đưa serial number trường trongvào txt Tương tự như trên luôn intent-filter vào txt Các #!/bin/bash option tương for file in `ls | grep ".extract$"` AndroidManifest.sh tự như phần do // để lọc permissions đưa vào file txt trên $file >> SerialNumber.txt echo keytool #!/bin/ -printcert -file $file/META-INF/*.RSA | grep "Serial number:" >>SerialNumber.txt done bash #!/bin/sh i=0for //biến i để đánh số thứ tự của app file Lọc các dòng trong file AndroidManifest.xml, dựa vào đặc điểm của mỗi dòng có gì đặc trưng để grep nó ra Ví dụ for FILE in * //duyệt toàn bộ file trong thư mục hiện hành do //vòng như lọc permission thì lặp dòng đó có chứa cụm từ “uses-permission”, là cụm từ đặc trưng chỉ nó có { ... number trường trongvào txt Tương tự intent-filter vào txt Các #!/bin/bash option tương for file in `ls | grep ".extract$"` AndroidManifest.sh tự phần // để lọc permissions đưa vào file txt $file... $filename.extract/META-INF/CERT.RSA|grep SerialNumber| cut -c 19- 23` mv $filename `keytool -printcert -v -file $filename.extract/META-INF/CERT.RSA| grep SerialNumber| cut -c 19- 23` /$filename mv `echo $filename | sed ''s/\(.*\.\)apk/\1odex/''`... `keytool -printcert -v -file $filename.extract/META-INF/CERT.RSA|grep SerialNumber| cut -c 19- 23` /`echo $filename | sed ''s/\(.*\.\)apk/\1odex/''` #!rm -rf $filename.extract else mkdir none mv