Máy tínhSự an toàn

Ngược kỹ thuật cho người mới bắt đầu. Tất cả các ứng dụng Android bảo vệ từ kỹ thuật đảo ngược

Đôi khi người ta muốn nhìn thấy, và những loại điền vào một chương trình cụ thể? Sau đó, ông đã sử dụng một kỹ thuật đảo ngược. nó là gì? Làm thế nào nó hoạt động? Làm thế nào là quá trình này? Tất cả điều này bạn sẽ học được từ bài viết này.

một chương trình đảo ngược kỹ thuật là gì?

Vì vậy, được gọi là phân tích ứng dụng quá trình để hiểu làm thế nào nó hoạt động, do đó trong thời gian tới để tái tạo quá trình này bằng cách làm cho những thay đổi cần thiết. Thường được sử dụng cho chương trình gỡ rối và lắp ráp mục đích này. Tùy thuộc vào chất lượng của phần mềm sử dụng sẽ khác nhau và kết quả là lượng thời gian mà nên được dành vào nó để mang lại trong một hình thức bình thường. Giải thích ngược-kỹ thuật cho người mới bắt đầu ví dụ tốt nhất. Như đó thực hiện một ứng dụng viết cho Android. Bây giờ chúng ta hãy tìm hiểu những gì và như thế nào.

Làm việc với các ứng dụng Android

Đầu tiên chúng ta cần phải làm rõ một số điểm. Ứng dụng này sử dụng bytecode và LogCat. Đây đối tác địa phương đề cập trước đó debugger và lắp ráp. Nó cũng là cần thiết để hiểu được cấu trúc của ứng dụng bản thân. Như vậy, mỗi chương trình là một tập tin với phần mở rộng gói ứng dụng. Ông đóng gói zip'om. Chúng tôi quan tâm đến nội dung của nó - tài nguyên ứng dụng, classes.dex và AndroidManifest.xml. Nếu bạn làm lập trình trên Android, các vấn đề với các cựu và sau này không nên. Nhưng classes.dex - chương trình này mã byte được biên soạn đặc biệt dành cho các máy ảo. Trích xuất từ mã nguồn java của mình có sẵn trên Internet không nhận được kinh phí. Nhưng là nó có thể để có được opcodes Dalvik - một tập đặc biệt của các lệnh được sử dụng cho các máy ảo. Đối với một tương tự chúng ta có thể nói rằng hội đồng này của lũ địa phương. Classes.dex cũng có thể được chuyển đổi thành một tập tin với jar. Ngay cả trong trường hợp này, bạn có thể có được một java-code sau decompilation, mà sẽ được nhiều hơn hoặc ít hơn có thể đọc được. Đó là con đường chúng ta đi.

decompilation

Quá trình này sẽ được thực hiện sử dụng chương trình Apk Manger. Trước khi bắt đầu, hãy chắc chắn rằng có trình điều khiển chính xác cho devaysa và hoạt chế độ USB-debugging. Ban đầu, chúng tôi sẽ cần phải di chuyển các tập tin đó sẽ được phân tích thành một apk_manager \ chỉ nơi-apk-đây-cho-modding. Sau đó bạn nên chạy Script.bat. Nếu không có vấn đề, sau đó bắt đầu giao diện điều khiển, trong đó sẽ có màu xanh chữ. Chọn số chin - "Decompile". Khi quá trình này được bắt đầu, nó là cần thiết không để đóng giao diện điều khiển. Sau đó, hợp đồng mở apk-file bằng cách sử dụng Archiver và chiết xuất từ nó classes.dex, để được xử lý dex2jar chương trình. Đối với chúng tôi là kết quả cần thiết đó là cần thiết để di chuyển một đối tượng với các .bat mở rộng. Bạn sẽ thấy các tập tin, mà sẽ kết thúc trong .jar. Cho đến nay, các cửa sổ không đóng.

chúng tôi phân tích dữ liệu

Để có được thông tin về các ứng dụng, bạn phải mở nó biểu hiện. Theo đó, chúng tôi xác định rằng hoạt động như hoạt động chính. Đó là cô hiện đang trình bày tầm quan trọng lớn nhất đối với chúng tôi. Đó cũng là mong muốn tìm kiếm ở dưới cùng của chương trình. Nếu phía dưới là các thông tin về quản lý giấy phép, rất khó đáng kể để thực hiện kỹ thuật đảo ngược. Nếu bạn chuyển sang JD-gui và mở rộng cây, chúng ta có thể thấy một số không gian tên. Giả sử rằng ba trong số họ. Trong lần đầu tiên là các tập tin liên quan đến quảng cáo. Thứ hai sẽ là lớp học quản lý giấy phép. Ở một phần ba, chúng tôi là dữ liệu cần thiết. Đó là khi chúng tôi đi. Sẽ cần phải tìm và loại bỏ chìa khóa, và sau đó là phần còn lại của dòng đó kiểm tra xem giấy phép phiên bản làm việc. Tất cả những cần phải được làm sạch. Sau đó, trong Apk quản lý của chúng tôi đang tìm kiếm một nơi mà nơi quy định bytecode. Bây giờ chúng ta hãy làm một digression nhỏ và xóa bỏ đội bóng, trong đó khả năng có thể gây ra vấn đề. Sau đó, chúng tôi chỉ phải biên dịch chương trình.

xây dựng các ứng dụng

Điều này sẽ giúp tất cả chúng ta Manager apk cùng. Trong giao diện điều khiển, mà chúng tôi đã không bị khóa, chọn mục №14. Bí quyết tiếp theo. Nếu ứng dụng là khá phức tạp, khi bạn bắt đầu, nó một phần hoặc hoàn toàn có thể mất hiệu quả của nó. Đừng lo lắng, nó có nghĩa là chúng tôi chỉ nằm ở đó và ở một nơi khác để đi. Chúng tôi tiếp tục thực hiện ngược-kỹ thuật-Tất cả các ứng dụng Android. Nói, những việc cần làm trong một trường hợp cụ thể, một cách chung chung, than ôi, là không thể. Do đó, tìm kiếm khu vực vấn đề sẽ có riêng của họ. Ví dụ, nếu một cửa sổ ứng dụng bị chặn cửa sổ pop-up, bạn sẽ thấy mã và loại bỏ các phần đó là chịu trách nhiệm về cuộc đối thoại này. Để giúp với điều này có thể JD-gui. Như bạn có thể thấy, kỹ thuật đảo ngược không phải là một doanh nghiệp dễ dàng, và nó đòi hỏi một cửa hàng đáng kể kiến thức. Ngay cả khi mọi thứ đang chạy mà không có bất kỳ vấn đề, nó sẽ là cần thiết để kiểm tra hiệu suất của các ứng dụng. Đó là, ngược-kỹ thuật là hơn hoạt động tốn nhiều thời gian. Chúng tôi tiếp tục làm việc cho đến khi tất cả các vấn đề được xác định.

sự an toàn

Nếu chúng ta cần phải bảo vệ tất cả Android ứng dụng từ kỹ thuật đảo ngược? Trong trường hợp này, có hai lựa chọn: việc sử dụng các chương trình cụ thể hoặc việc tạo ra một cấu trúc mã mà sẽ can thiệp để làm phân tích cú pháp bằng văn bản. Lựa chọn thứ hai là phù hợp các chuyên gia chỉ có kinh nghiệm, vì vậy chúng tôi sẽ chỉ xem xét phương pháp đầu tiên bảo vệ. Là một ProGuard sử dụng phần mềm chuyên dụng. Ứng dụng này, được sử dụng để giảm, obfuscation và tối ưu hóa mã. Nếu chương trình "đuổi" qua nó, chúng tôi nhận được một tập tin với phần mở rộng * .apk nhỏ hơn ông. Trong trường hợp này nó sẽ là khó khăn hơn nhiều để tháo rời. Và lợi thế của chương trình này là nó thậm chí đã được giới thiệu trong việc xây dựng các ứng dụng Android với bản cập nhật r9. Do đó, tận dụng lợi thế của nó là bất kỳ nhà phát triển có các công cụ tiêu chuẩn của sự sáng tạo và phát triển.

phần kết luận

Chúng tôi không thể nói rằng điều ngược-kỹ thuật có thể được biểu diễn như một cái gì đó đều tốt hay xấu. Tất nhiên, từ quan điểm của các nhà phát triển, những người đã tạo ra một ứng dụng, nó không phải là một sự kiện hạnh phúc. Nhưng mặt khác, trong nhiều trường hợp kinh nghiệm lập trình viên viết các tập tin cần thiết có thể là một thời gian ít tốn kém hơn so với việc sử dụng các công cụ như vậy. Mặc dù các nhà phát triển mới làm quen ngược-kỹ thuật có thể làm cho một dịch vụ tốt nếu không có ý tưởng làm thế nào để thực hiện một cái gì đó, thậm chí gương mẫu, và không phải là khá phác thảo rõ ràng có thể giúp đạt được các mục tiêu này.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 vi.birmiss.com. Theme powered by WordPress.