hướng dẫn sử dụng apktool để chỉnh sửa file apk, gợi ý Decompiling cùng Recompiling tệp tin .apk với apktool trên máy tính xách tay

Blogs
Blogs technology

APKtool - Phần mềm cung cấp cho các developer trên Android, Phần mềm khiến cho bạn việt hóa,chỉnh sửa,... ứng dụng android ngay trường đoản cú file apk mà không yêu cầu mã mối cung cấp ứng dụng. Tức là bạn cũng có thể dịch tín đồ file apk, sửa đổi rồi gói gọn lại mà lại không yêu cầu mã nguồn lúc đầu của ứng dụng.

Bạn đang xem: Apk studio

Dịch ngược(DECOMPILE) là gì?

Khi chúng ta viết một chương trình hay một đoạn mã, thì đoạn mã đó những trình xem văn bạn dạng bình thường rất có thể xem được hết. Nhưng mà để chạy được nó, bản phải gửi nó thành ngữ điệu máy còn gọi là BIÊN DỊCH ( COMPILE ).Nhưng lúc biên dịch xong, họ không thể sửa đổi lại ứng dụng đó được vì chưng nó đã trở thành chương trình theo ngữ điệu máy và những trình xem văn phiên bản hình thường cần thiết xem được ( các bạn mở nó bởi trình coi văn phiên bản bình thường thì đã thấy các kí tự kỳ lạ ). Họ phải dịch ngược nó lại gọi là DECOMPILE, và sau khi xem/chỉnh sửa chấm dứt thì ta dịch lại nó thành ngôn từ máy điện thoại tư vấn là RECOMPILE.

APK tool gồm phiên bản cho máy tính và bản cho năng lượng điện thoại.

Với phiên bản cho điện thoại: có tương đối nhiều cách có thể làm thẳng trên smartphone với app android EDITOR tại chỗ này mình phía dẫn các bạn mod trên PC.

Mình chỉ lưu ý qua một chút về kiểu cách làm trên năng lượng điện thoại, chúng ta google thêm nhé.

Tải android tool trên đây: https://code.google.com/archive/p/apktool/downloads

Giải nén và chuyển thư mục apktool ra ngoài thẻ ghi nhớ /sdcard. Tiếp nối vào apktool kiếm tìm apktool.apk và download nó.

Cách áp dụng vài công dụng cơ bản:

- Decompile: lựa chọn file app android và nhấp DECOMPILE ALL. Đợi nó và sẽ lộ diện (tên ứng dụng)_src.

- RECOMPILE: search thư mục đã làm được xuất ra như bên trên -> Nhấp vào -> RECOMPILE.

Chi tiết:Phần mềm hỗ trợ Dich ngược(Decompile*),Biên dịch lại(Recomile),kí apk(signalign) và một trong những tính năng khác ví như thêm META-INF vào ứng dụng,tạo odex...Các chúng ta tự mày mò nha.SIGN android là gì?
Đó là khi chúng ta có dịch công tác theo ngữ điệu máy và sở hữu nó vào. Sản phẩm sẽ để mắt tới chữ kí nhằm nó có thể được download hay không! cùng một ứng dụng mới viết hay đã trở nên chỉnh sửa đều đề nghị kí tốt kí lại.Một số hào kiệt phụ khác chúng ta tìm hiểu rước nhé.

Dùng app android tool trên máy vi tính chạy Windows

1. Phần mềm sẵn sàng để tiến hành

+Cài đặt Java (JDK/JRE): chăm chú chọn đúng phiên phiên bản windows sử dụnghttp://www.oracle.com/technetwork/java/javase/downloads/index.html

+Cài để notepad++ để chỉnh sửa code (nếu thực hiện editor khác như sublime text thì khỏi cài)https://notepad-plus-plus.org/download+7zip (nếu đã tất cả winrar thì thôi ko cần):http://www.7-zip.org/download.html

+Apktool (cái đặc biệt nhất ) down phiên bản mới độc nhất là 1.5.2apktool-install-windows-r05-ibot.tar.bz2https://connortumbleson.com/apktool/googlecode/

Note: Down cả hai file trên về.Sau khi sở hữu ta tùy chỉnh cấu hình apktool trên phân vùng C của PC hay máy tính xách tay theo đường dẫn C:apktoolGiản nén 2 file đã down ngơi nghỉ trên về ta tất cả 3 file: aapt.exe; apktool.bat; apktool.jar chép hết 3 file này vào băng thông C:apktool như trong hình.

2. Decompile tệp tin .apk của một rom

Chuẩn bị: file .apk đề nghị decompile (ở trên đây mình decompiler 2 tệp tin là System
UI.apk với framework-res.apk).

Mở của sổ Command Prompt (cmd )và lựa chọn Run as Administrator.

Tại dấu nhắc trong cửa ngõ sở cmd các bạn gõ: cd C:apktool thừa nhận Enter.

*

Để decompile 1 file thành công trước tiên buộc phải cài framwork mang lại nó. Vẫn trong của sổ cmd ta gõ lệnh:apktool if framework-res.apk

Ở trên đây mình khuyên bảo 1 file là framwork-res.apk những file sót lại làm tương tự.

*

Tiến hành decompile file .apk

Cú pháp để triển khai như sau:

apktool d <đường dẫn đến file ên file>

Để decompile file framework-res.apk Tại lốt nhắc lệnh ta gõ như sau

apktool d framework-res.apk

*

Sau lúc đi compile thành công chúng ta vào lại đường dẫn C:apktool

*

Đây chỗ cho họ tùy chọn với sửa đổi code.

*

3. Recompiling file apk

Sau khi chỉnh hoàn thành lung tung thì bắt buộc đóng gói lại thành file android để chạy.

Vẫn tại hành lang cửa số cmd gõ lệnh:

apktool b framework-res

Note: Ở lệnh trên không còn .apk ở đuôi nhé.

*

Sau lúc thực hiện hoàn thành lệnh trên dùng 7zip hoặc winrar nhằm mở file framwork-res.apk

*

Các bạn kéo thả folder META-INF với tệp tin Android
Mainfest.xml vào con đường dẫn.

*

Rồi sau khoản thời gian làm xong xuôi các việc như trên tiếp tục vào cửa sổ cmd gõ lại lệnh:

apktool b framework-res

Đợi nó chạy thành công xuất sắc như lần đầu. Các bạn vào con đường dẫn:

C:apktoolframework-resdist

Sẽ thấy gồm file framework-res.apk mới được build lại.Copy tệp tin framework-res.apk vào điện thoại cảm ứng thông minh vậy là ngừng (lấy ở đâu đặt lại khu vực đó cùng set permission như cũ).

Xem thêm: Lời bài hát người yêu tôi không có gì để mặc, người yêu tôi không có gì để mặc

Chúc bạn thực hiện thành công với những file bạn phải chỉnh sửa!

Có thể các bạn quan tâm:

Hướng dẫn sử dụng Advanced game android Tool để chỉnh sửa file apk, gợi ý Decompiling và Recompiling tệp tin .apk cùng với Advanced apk Tool trên thứ tính

Hướng dẫn sử dụng và cách sửa đổi file android trên máy tính xách tay bằng phần mềm có giao diện 1-1 giản, dễ làm việc APK Icon Editor và android Editor Studio

DVMS chuyên: - tứ vấn, xây dựng, gửi giao technology Blockchain, mạng làng hội,... - support ứng dụng cho điện thoại cảm ứng và máy tính xách tay bảng, hỗ trợ tư vấn ứng dụng vận tải thông minh, thực tế ảo, game mobile,... - support các hệ thống theo mô hình kinh tế chia sẻ như Uber, Grab, ứng dụng giúp việc,... - Xây dựng các giải pháp cai quản vận tải, cai quản xe công vụ, thống trị xe doanh nghiệp, ứng dụng và ứng dụng logistics, kho vận, vé xe năng lượng điện tử,... - support và phát hành mạng buôn bản hội, tứ vấn giải pháp CNTT mang lại doanh nghiệp, startup,...

Vì sao chọn DVMS? - DVMS nắm vững nhiều technology phần mềm, mạng với viễn thông. Như Payment gateway, SMS gateway, GIS, VOIP, i
OS, Android, Blackberry, Windows Phone, cloud computing,… - DVMS có tay nghề triển khai các khối hệ thống trên những nền tảng điện toán đám mây nổi tiếng như Google, Amazon, Microsoft,… - DVMS tất cả kinh nghiệm thực tiễn tư vấn, xây dựng, triển khai, gửi giao, gia công các phương án phần mềm cho quý khách hàng Việt Nam, USA, Singapore, Germany, France, các tập đoàn của quốc tế tại Việt Nam,… Quý khách xem hồ sơ năng lượng của DVMS tại trên đây >> Quý khách giữ hộ yêu cầu tư vấn và làm giá tại trên đây >>

Reverse Engineering (hay gọi tắt là RE) là một trong mảng mà hầu như các giải CTF Jeopardy phần nhiều có. Trong số bài RE chúng ta thường thấy một số ít loại tệp tin như exe, elf, các file code,... Với cả file apk.

Do bài toán làm hẳn 1 ứng dụng android, lại phải để lại trong các số đó những thiếu sót về bảo mật thông tin để bạn chơi khai thác, kiếm tìm flag bắt buộc tốn nhiều thời gian và sức lực hơn, đề nghị dạng file app android không lộ diện nhiều trong những cuộc thi CTF. Mặc dù nhiên, xét về độ cạnh tranh và sự thú vị thì dạng bài reverse file game android cũng không thể kém gì những dạng tệp tin khác.

Trong bài bác này, bọn họ sẽ cùng khám phá về dạng bài bác RE Android sang 1 bài CTF solo giản: bài Droids3 vào pico
CTF 2019
.

Link tải: Droids3

Tools

Các chế độ cơ phiên bản mà họ cần để làm 1 bài xích CTF reverse android gồm:

ADB: giải pháp giúp liên kết với lắp thêm ảo Android, tất cả sẵn trong thư mục tools của genymotion, đường truyền mặc định bên trên windows là C:/Program Files/Genymobile/Genymotion/tools.

Cài đặt

Sau khi thiết lập đầy đủ các tools, chúng ta khởi đụng Genymotion, tạo ra 1 thiết bị apk bất kỳ. Mình thường tạo những thiết bị Google Pixel, các thiết bị này chạy khá mượt.

Khi đa số thứ đã có đủ với giả lập game android đã bật, bọn họ sẽ tiến hành thiết lập file apk vào trả lập để chạy:

Copy tệp tin three.apk vào thuộc thư mục cùng với adb để tiến hành cài đặt.Chạy lệnh setup ứng dụng vào thiết bị ảo: adb install three.apk

Sau khi thiết đặt thành công, trong trang bị giả lập đã có thêm phầm mềm Pico
CTF

*

Tìm hiểu ứng dụng

Giao diện áp dụng có các công dụng cơ bản: 1 ngôi trường input, 1 button và 2 đoạn text.

Khi click vào button đã hiện text "don"t wanna", với hint là "make this ứng dụng your own".

Tìm flag

Mở file three.apk bởi Bytecode Viewer chúng ta cũng có thể thấy rất nhiều file và folder. Làm sao từ trong đống file này kiếm được file có công dụng giúp bọn họ lấy được flag thì nhà yếu nhờ vào kinh nghiệm. Cách của bản thân là thử xem hết các file xem có khai quật được gì không.

Tất nhiên cũng tất yêu tìm mà không có hướng gì cả. Những file code thiết yếu của ứng dụng thường nằm trong đường truyền dạng com/abc/xyz/. Với bài này thì chúng ta thấy 1 file có cái thương hiệu đáng ngờ nằm tại vị trí com/hellocmu/picoctf/Flagstaff
Hill.class

*

Ở đây bọn họ để ý thấy bao gồm 2 hàm nope() cùng yep(). Hàm get
Flag() lại trả về hiệu quả của hàm nope - "don"t wanna". Vậy thì cái chúng ta cần ở đây là get
Flag cần return yep. Để làm được điều đó họ cần sử dụng kỹ thuật patch tệp tin apk.

Trước khi trình làng về chuyên môn patch thì bản thân sẽ cốt truyện về cấu tạo của file apk. Tệp tin apk thực ra là một dạng file đã được nén như zip, rar, v..v.. Họ hoàn toàn hoàn toàn có thể rename three.apk thành three.zip và giải nén ra bình thường. Tất nhiên những file sau thời điểm giải nén ra chưa thể xem thẳng được luôn

*

Trong những file giải nén ra có một file class.dex, file này chứa các class vào code java. Các lập trình viên đang thường code app app android bằng java/kotlin. Lúc compile thì những file class sẽ tiến hành nén lại thành 1 file dex.

*

Khi thực hiện reverse file apk thì chúng ta sẽ không nhận được những file code bằng java đâu, cố kỉnh vào đó họ sẽ nhận được những file smali code. Từ những file smali này, decompiler sẽ gửi sang code java để họ đọc, tuy nhiên sẽ không chính xác hoàn toàn, và sẽ sở hữu được sự khác biệt khi sử dụng những decompiler khác nhau. Thứ tất cả độ tin cậy cao nhất khi triển khai reverse tiện ích là smali code (smali code trong reverse game android có vai trò như assembly code vào reverse exe, elf vậy).

Mình chỉ giới thiệu sơ qua do đó thôi. Giờ đồng hồ thì chúng ta sẽ hợp tác vào câu hỏi path lại app.

Đầu tiên họ sẽ decompile file android bằng apktool

Để file app android và apktool cùng thư mục và chạy lệnh: java -jar apktool_2.4.1.jar d three.apk

Kết quả đã được thư mục three với các sub folder, file

*

Tiếp theo bọn họ sẽ triển khai sửa code

Mở tệp tin three/smali/com/hellocmu/picoctf/Flagstaff
Hill.smali

Mình áp dụng VScode mua thêm extension smali nhằm dễ nhìn hơn, luôn thể cho câu hỏi sửa code.

*

Chúng ta sẽ chú ý vào hàm get
Flag, khu vực mình gạch ốp chân ->nope tương ứng với return nope trong code java. Hiện giờ cùng xem xét lại code java:

Thứ nhất: họ cần hàm get
Flag yêu cầu return yep thay vì return nope
Thứ hai: cả hai hàm yep cùng nope đều sở hữu cùng argument

=> Vậy, để get
Flag return yep thì họ chỉ nên đổi ->nope thành ->yep, kế tiếp save lại file.

Bước 3: build lại thành file app android mới

Khi đang sửa được code theo ý muốn, bọn họ cần từ các file kia build ra file game android mới. Apktool cũng có chức năng có thể chấp nhận được build ra tệp tin apk sau khi sửa code, chỉ cần chạy lệnh: java -jar apktool_2.4.1.jar b three

*

File apk mới nằm tại vị trí thư mục three/dist. Xóa ứng dụng cũ trong đưa lập đi và download lại phầm mềm mới thôi chứ còn gì khác nữa đúng không?

*

File three.apk mới này không cài được ngay đâu, họ cần có tác dụng tiếp bước cuối cùng.

Sign apk

Các các bạn hãy copy 2 câu lệnh sau vào tệp tin text:

keytool -genkeypair -v -keystore key.keystore -alias publishingdoc -keyalg RSA -keysize 2048 -validity 10000jarsigner -verbose -sigalg SHA1with
RSA -digestalg SHA1 -keystore ./key.keystore %1 publishingdoc
Đổi tên file thành sign-apk.bat sau đó chạy lệnh cmd: sign-apk.bat .apk

Lần lượt điền keystore và những thông tin, các bạn thích điền gì cũng được, mình nhằm "123123" hết. Lệnh đầu tiên sẽ tạo nên key.keystore, lệnh thứ 2 sẽ sign android bằng key vừa tạo.

*

*

Như vậy là bọn họ đã sign thành công xuất sắc file apk patched. Giờ chỉ việc xóa ứng dụng cũ trong giả lập, cài áp dụng mới đang patch vào và bấm nút để nhấn flag.

*

Flag: pico
CTFtis.but.a.scratch

Qua bài viết thì có thể hẳn các bạn đều nỗ lực được những kỹ năng và kiến thức cơ bạn dạng để làm những bài CTF reverse android rồi đúng không? giả dụ có bất kể thắc mắc gì, hãy bình luận ở phía dưới bài viết để bạn có thể cùng bàn luận nhé.