ANDROID MULTITOOL v3.5.6..............................................................................

Bạn đang xem: Dịch ngược file cài đặt apk của android

*
chức năng của tool này:

# Dịch ngược/biên dịch (decompile/compile) file apk< và các file jar framework# cam kết (sign) ứng dụng apk
- Giải nén tệp tin Android
Multitool_3.5.5.zip (Download: đăng nhập hoặc đăng ký để coi được văn bản này!>

) vào ổ C: trên vật dụng tính. Nếu như khách hàng giải nén vào thư mục không giống thì tool này sẽ không hoạt động.- Copy tệp tin framework-res.apk và các file khác mà bạn muốn mod vào folder "Files" (thư mục này chỉ dành riêng cho các tệp tin mà bạn muốn mod, chớ copy files qua những thư mục khác)- Tiếp theo, khởi động Android
Multitool.exe (cẩn thận thì lựa chọn Run as Administrator)- lựa chọn framework-res.apk với bấm nút "install" (kiểm tra log lỗi)
- chọn lọc file app android mà bạn muốn mod/dịch ngược cùng bấm nút "decompile" (kiểm tra log lỗi). Xin lưu ý: chúng ta cũng có thể đánh dấu chọn "use baksmali" vào checkbox để vứt từ .line không buộc phải thiết- tệp tin apk sau thời điểm đã được dịch ngược sẽ tiến hành lưu trên C:Android
MultitoolDecompiled_apk"tên tệp tin apk"- Nếu bạn muốn biên dịch lại file android đã dịch ngược thì lựa chọn thư mục mang tên file android trong thư mục Decompiled_apk, sau đó khắc ghi chọn nút "apk" và bấm nút Compile để biên dịch nó lại (kiểm tra log lỗi)!!!XIN LƯU Ý!!! sau khoản thời gian đã biên dịch xong, bạn phải copy tệp tin Android
Manifest.xml với thư mục META-INF trong thư mục apk ban đầu sang thư mục bao gồm file apk vừa được biên dịch!! còn nếu như không copy thì điện thoại cảm ứng thông minh của bạn sẽ bị khởi hễ lại liên tục! (Bỏ đừng đánh dấu chọn checkbox smali, nếu khắc ghi chọn nó sẽ tạo ra file classes.dex từ bỏ files smali)- File android đã được biên dịch sẽ tiến hành lưu tại C:Android
MultitoolCompiled_apk"tên tệp tin apk"
- trong phần Decompiling, chọn combobox ".jar" (mặc định của nó là ".apk") (đánh dấu chọn checkbox "use baksmali" nhằm xoá các commants .line không phải thiết)- chọn file ".jar" mà bạn muốn mode.- Bấm nút lựa chọn "decompile".- File sau khi dịch ngược kết thúc sẽ được lưu tại C:Android
MultitoolDecompiled_jar"tên tệp tin jar"- Để biên dịch lại, trong phần Compiling, ghi lại chọn nút "jar" và lựa chọn thư mục mang tên file jar trong thư mục Decompiled_jar- Bấm nút Compile để tiến hành biên dịch.- tệp tin jar sau khoản thời gian được biên dịch kết thúc sẽ được giữ tại C:Android
MultitoolCompiled_jar"tên tệp tin jar"classes .dex- Xoá tệp tin "classes.dex" vào thư mục đựng file ".jar".- Copy file "classes.dex" trong folder jar file ban đầu vào folder ".jar" mới này.
- trong phần Signing, lựa chọn file ".apk" mà bạn muốn ký- Bấm chọn nút "sign".- tệp tin apk sau khoản thời gian được ký sẽ được lưu trên thư mục C:Android
MultitoolSigned_apk"Tên file apk_signed"
v3.5.6:
fix progressbar not disappearing after decompilingfix loop after/while compilingsave compiling path and jump into it when he starts folder browsingupdate user interfacev3.5.5:fix infinite loop on compiling when errors appearedfolderbrowserdialog (compiling): jump into /decompiled_apk defaultupdate build tools and platform-tools (aapt, adb and needed dll's)v3.5.4:add option to lớn copy Android
Manifest.xml automatically into the game android after compilinglayout cleanupforce overwrite already compiled or decompiled files when new compiling/decompiling thread startedupdate to lớn apktool rc3 (mainly lollipop support)v3.5.3:
copy Android
Manifest.xml and META-INF folder automatically into the android after compilingadded some linkscode cleanupv3.5.2:
add more detailed logfix decompiling/compiling/signing/installing framework multiple times sometimesadd batch decompiling (preview)fix donation image not fitting centeradd txt files with descriptions for all tools insidev3.5.1:update all filesv3.5:code reworkfix UI freezing on long tasksadd progress barmany other small fixesv3.4:access files from all locations of the pc (you're not limeted khổng lồ the /Files folder)add version number khổng lồ the toolv3.3:add tag support (tagging allows multiple framework support)rework interfacesmall additions và fixessupport for Win7 / 8 / 8.1 (no extra versions)v3.2.1:add apktool b9v3.2:add different apktool, aapt & batch filesshould solve some problems on de - & recompilingv3.1:Fixes for adb pushbutton to reboot devicemany other fixes và code reworkv3.0:Slim
Bean apktool ((de)compiling also with inverted folders from trds)ADB (Android
Debug
Bridge for pushing files khổng lồ your device)Some liên kết in the tool for support and donationv2.2 Beta1:
apktool 2.0.0Details:Detailsv1.5.x -> v2.0.0Java JRE 1.7 is required!Update apktool lớn v2.0.0aapt is now included inside the apktool binary. Its not required to lớn maintain your own aapt install under $PATH. (However, features like -a / --aapt are still used and can override the internal aapt).Remove framework $HOME/apktool/framework/1.apk or manually update via (Framework
Files)Eagle eye users will notice resources are now decoded before sources now. This is because we need to know the API version via the manifest for decoding the sources.Parameter Changes
Smali/baksmali 2.0 are included. This is a big change from 1.4.2. Please read the smali updates here for more information.-o / --output is now used for the output đầu ra of apk/directory.-t / --tag is required for tagging framework files-advance / --advanced will launch advance parameters and information on the usage output.-m / --match-original is a new feature for android analysis. This retains the game android is nearly original format, but will make rebuild more than likely not work due to ignoring the changes that newer aapt requires.After ecode, there will be new folders (original / unknown) in the decoded android folder.original/ = META-INF folder / Android
Manifest.xml, which are needed khổng lồ retain the signature of APKs lớn prevent resigning. Used with -c / --copy-original on uild.unknown/ = Files / folders that are not part of the standard AOSP build procedure. These files will be injected back into the rebuilt APK.apktool.yml collects more information than before
Sdk
Info = Used lớn re-populate the sdk information in Android
Manifest.xml since aapt requires it khổng lồ be passed at runtime.package
Info = Used lớn help tư vấn Android 4.2 due to renamed manifest packages. Automatically detects difference between manifest và resources & performs automatic --rename-manifest-package on uild.version
Info = Used lớn re-populate the version information in the Android
Manifest.xml since aapt requires it to be passed at runtime.compression
Type = Used lớn determine the compression that resources.arsc had on the original android to duplicate on uild.unknown
Files = Used khổng lồ record the name/location/compression type of non-standard files in Apk.v2.1:
fixed freezesbigger UI for better overviewoption to lớn save log khổng lồ a text fileother small fixesv2.0:complete code reworkfolder structure for a better overviewdecompiled, recompiled, signed files will be located in their own folderno more messy file handlingadded radio buttons for choosing jar or apksome graphical changesadded info button in the "installing framework" section
V1.2:
Added ability to lớn decompile and recompile ".jar" files
Added baksmali
Folder
Browser
Dialog: If you push the "browse" button you are in the right directory now and needn't to lớn scroll and search the "Android
Apktool" folderother small fixes
V1.1:
Added ability to sign .apk
Changed comboboxes to lớn browse buttonsbigger log - screen
Initial Release

I. Giới thiệu

Còn vài tiếng nữa là hết tháng rồi. Đành để mình vào mặt đường đua với thời hạn để hoàn thành bài viết này vậy. Về chủ đề NLP chắc chắn để tháng sau viết chứ giờ đồng hồ viết không kịp mất.!! Hehe

*

Một ngày đẹp mắt trời, lúc mà trung ương trạng các bạn rất thoải mái. Cứ cho như thể bạn đã ế đi, không tồn tại gấu chó đi chơi nên đành lòng trong nhà ngồi viết code. Hầu hết dòng code của khách hàng rất mượt, hết sức đẹp, không những thế bạn còn lồng vào đấy đều thuật toán hay, biện pháp giải quyết cực kỳ tốt cơ mà chỉ mình chúng ta nghĩ ra.

"Ai viết code nhưng mà vi diệu thế" - các bạn vui tới cả mà tự sướng nhằm thốt lên

"Phù! dứt rồi" - các bạn vừa xong xong một ứng dụng, và sẵn sàng release đẩy nó lên store để chào hàng phần lớn người.

Giả sử là ứng dụng của người tiêu dùng nó có phần gửi từ thương hiệu tiếng việt sang trọng tên tiếng nhật đi, bí quyết xử lý này đã làm bạn tốn từng nào tâm huyết cho nên ứng dụng của chúng ta rất được mọi bạn ủng hộ, vày tính năng rất dị mà chỉ chúng ta mới có. Phụ thuộc vào ý tưởng của công ty (nguyên nhân chủ quan), thêm vào đó việc bạn chưa tồn tại gấu (nguyên nhân khách hàng quan) cơ mà tiền bạn kiếm được từ vận dụng ngày càng nhiều. Tính từ lúc đó, chúng ta sống sung sướng, đến nỗi ăn tới 1 thùng mì vào 2 ngày để tiêu sút tiền.

*

Và lại đến một ngày, trời âm u, mây mịt mù, trọng tâm rối bù tuy thế tiền thì không thể đủ nữa! là do bạn hỏng hỏng, bao nhiêu tiền cũng tiêu hết? tốt là do bạn đã có gấu?. Không! chẳng chiếc nào bên trên đúng cả, các bạn vẫn ngoan như ngày nào, siêu thị thì thuộc lắm là chỉ nửa thùng 1 ngày thay vì 1 thùng 2 ngày như trước =)) (WTH, không hầu như code tốt mà toán còn xuất sắc nữa).

Thế trên sao?. Thì ra cũng đều có một áp dụng khác trên thị trường, đẹp nhất hơn, xịn hơn, và công dụng mà các bạn tâm đắc lâu nay cũng gồm trong đấy nữa. Một ứng dụng tuyên chiến đối đầu và cạnh tranh đi kèm làm chúng ta mất hết mọi thùng mì ngày làm sao (có vẻ bạn nghiện ăn mì trên mức cho phép rồi).

Tại sao ứng dụng khác đấy lại làm cho được những chức năng, biện pháp xử lý nhưng chỉ bạn mới nghĩ về ra!. Bạn phải mày mò cho ra lẽ!

*

Thì ra là thế, qua vài ba ngày dò mẫm, bạn cũng đã biết được chỗ hổng của ứng dụng, bạn chưa đảo lộn code làm cho người khác rất có thể dịch ngược lại mã nguồn của bạn. Và đánh cắp tâm tiết của bạn.

*

Vậy họ sẽ làm rứa nào?. Và giải pháp phòng chống ra sao. Bọn họ cùng tìm hiểu nhé! - demo dịch ngược mã nguồn và biện pháp.

II. Dịch ngược một số trong những ứng dụng nổi tiếng!

1. Phía dẫn.

Trong android, khi chúng ta tạo ra một phiên bản cài để với đuôi là ".apk". File .apk này rất có thể được mở cùng giải buộc phải như file rar bình thường. Bạn có thể dùng winrar nhằm mở bọn chúng lên!Xem vào đấy gồm gì!Chẳng hạn như mình tạo ra 1 template project (Login Project) gồm sẵn trong android Studio!

*
với build ra một phiên bản .apk! (Chọn Build > Build APK) sẽ có file app-debug.apk nằm ở vị trí đường dẫn khoác định là Your
Project
Name
/app/build/outputs/apk.

Dùng win
RAR mở các bạn sẽ thấy hầu hết thành phần được đóng gói gồm những: thư mục res, file classes.dex, ... Như trong hình!

*
Trong đấy res là khu vực đóng gói hồ hết tài nguyên trong thư mục res làm việc trong code của bạn, bao gồm những file ảnh, tệp tin view mà chúng ta viết bởi xml (đã được mã hóa). Nhưng quan trọng đặc biệt là tệp tin classes.dex, mọi mã mối cung cấp .java của khách hàng được biên dịch ra thành .class với đóng gói trong file này.

Để xem vào mã nguồn này có gì, bạn phải đến vài ba công cụ, chúng ta cũng có thể tải chúng ở đường links dưới đây:

*

Mình đã cài đặt về với giải nén bọn chúng ra, để trong và một thư mục! (file jd-gui-1.4.0 là JD-GUI nhé)

Giả sử các bạn đã chuẩn bị được các công thay ở trên, mình bắt đầu tiến hành nhé.

Copy tệp tin classes.dex vào thư mục mà tôi đã giải nén hình thức ở trên (nếu không copy thì lát đưa băng thông file này vào)!Mở terminal lên, mình dùng Window yêu cầu dùng Command Prompt, và cd thư mục công cụ.Bạn đang thấy từ cách đóng gói cho tới mã nguồn của bạn đều có thể được gọi một bí quyết dễ dàng2. Thực hành.

Chẳng hạn, bản thân thấy một số ứng dụng khá đẹp nhất nên bạn thích biết bạn ta dùng thư viện như thế nào (việc làm cho này khá thiếu tế nhị do không được xin phép, nên bạn đừng như mình)

1.1. Minder

*
Sau khi dịch ngược mã nguồn, ta có thể nhìn thấy cục bộ mã nguồn tương tự như thư viện được sử dụng!. Chẳng hạn ứng dụng này đã sử dụng thư viện https://github.com/hoang8f/android-flat-button của chính công ty cya.edu.vn tạo ra luôn =)) (bạn tất cả thư viện nào tốt hãy góp sức vào repository github của người sử dụng để quảng bá công ty ra bên ngoài)
*

1.2. Jdict

*
Sau khi dịch ngược mã nguồn ta thấy.... Wait, wth, vật gì thế này, code núm này đọc cầm cố nào được!. Ông như thế nào code cơ mà khủng thế.
*
Thực ra chưa phải như các bạn nghĩ đâu, đó là một phương pháp làm rối code, tạo cho code đọc quan trọng hiểu được nhằm phòng câu hỏi dịch ngược đánh tráo mã nguồn. Vậy nó làm như vậy nào?. Cùng tò mò ở mục tiếp sau nhé!

III. Phương án chống dịch ngược!

Để tránh khỏi việc ăn cắp code, Android cung cấp cho ta hiện tượng - Pro
Guard

1. Pro
Guard là gì?

Pro
Guard là nguyên lý tích vừa lòng sẵn trong android Studio, với các tính năng giúp cho mã mối cung cấp ứng dụng của chúng ta thu gọn gàng lại (để dễ dàng phân phối), làm cho rối (để chống dịch ngược, vì tên những hàm, trở thành ... Bị thay tên khó đọc), ở đầu cuối là nó buổi tối ưu để áp dụng chạy cấp tốc hơn. Các bạn được lời khuyên nên sử dụng Pro
Guard trong cả môi trường đang cách tân và phát triển lẫn sản phẩm phát hành, nếu như chỉ áp dụng ở sản phẩm phát hành mà bỏ qua thực hiện nó khi chạy thử hoàn toàn có thể tăng tài năng ứng dụng bị crash không mong muốn ...

2. Bí quyết dùng2.1. Mở build.gradle của dự án công trình ra cùng thêm ngôn từ như sau (nếu chưa có):

android //.. Build
Types release //Thêm một khối debug nếu muốn minify
Enabled true //Thu gọn gàng code, false nếu không dùng use
Proguard true proguard
Files get
Default
Proguard
File("proguard-android.txt"), "proguard-rules.pro" Có thể thêm cả Pro
Guard cho debug

android { //.. Build
Types release //Thêm một khối debug nếu như muốn minify
Enabled true //Thu gọn code, false còn nếu như không dùng use
Proguard true //Làm rối code proguard
Files get
Default
Proguard
File("proguard-android.txt"), "proguard-rules.pro" debug minify
Enabled true use
Proguard false //Không có tác dụng rối code proguard
Files get
Default
Proguard
File("proguard-android.txt"), "proguard-rules.pro" 2.2. Xung quanh ra, bạn còn hoàn toàn có thể loại bỏ những tài nguyên (Resource) không sử dụng tới
Các tài nguyên không dùng tới hoàn toàn có thể được loại bỏ (cần áp dụng cùng cùng với minify
Enabled true) bằng cách thêm vào shrink
Resources true

android //.. Build
Types release shrink
Resources true //Thêm loại này vào minify
Enabled true use
Proguard true proguard
Files get
Default
Proguard
File("proguard-android.txt"), "proguard-rules.pro" 1.3. Proguard-rules.pro
Trong các đoạn cấu hình sử dụng Pro
Guard ngơi nghỉ trên, đều phải có chỉ ra một file có tên proguard-rules.pro, chính là file cấu hình thêm về phương pháp hoạt động cho Pro
Guard

Khi Pro
Guard có tác dụng rối code, nó thay đổi tên những class, những class tìm hiểu thêm từ bên thứ 3 cũng trở thành chuyển đổi, nên có thể dẫn tới lỗi. Vào trường hợp ao ước không làm rối một lớp như thế nào đó bạn dùng thông số kỹ thuật keep, lấy ví dụ như trong file: proguard-rules.pro

-keep class com.facebook.** *; Với mã trên, sẽ giữ lại được lại những lớp, phương thức com.facebook.** *

Bạn bao gồm thể tham khảo thêm chi tiết làm việc đây: https://developer.android.com/studio/build/shrink-code.html

3. Thực hành

Mình đã từng và công dụng thu được từ áp dụng login sinh hoạt trên như sau

*
Các tên function, tên biến đã bị đổi hết sang kí tự chẳng tường minh chút này giờ việc đọc code vẫn trở buộc phải khó hơn!.

Xem thêm: Chiến Đấu Xạ Thủ Chiến Thuật” Sẽ Thi Đấu Như Thế Nào Tại Army Game 2021?

Bài viết của mình xin được dừng tại đây! hẹn mọi fan ở nội dung bài viết sau! Phù! ở đầu cuối cũng kịp!

IV. Lời kết

Việc dịch ngược mã nguồn của người khác mà chưa được sự được cho phép là một điều cấm kỵ trong đạo đức nghề nghiệp máy tính, tốt nhất hãy từ thân vận động, tuy vậy không phải ai ai cũng có tứ tưởng như vậy, nên hãy bảo vệ bản quyền của người tiêu dùng để tránh ăn uống cắp.Bài viết chỉ mang tính giới thiệu cũng tương tự đề cao phương pháp phòng tránh, không có ý ăn uống cắp bạn dạng quyền, rất mong các tác đưa của áp dụng thông cảm.

V. Tham khảo

<1>. Https://xuanthulab.net/su-dung-proguard-de-bao-ve-va-toi-uu-ung-dung-android.html<2>. Https://developer.android.com/studio/build/shrink-code.html