首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android:逆向工程是如何工作的?

Android:逆向工程是如何工作的?
EN

Stack Overflow用户
提问于 2012-08-01 15:59:42
回答 5查看 408关注 0票数 1

我想确保我的应用程序的内容是安全的。我在我的应用程序中有一个加密数据库的密码,我只想弄清楚我的项目中是否存在无法通过逆向工程访问的安全位置。

如果你能简短地解释一下逆向工程是如何工作的,那就太好了。ThanQ。

请不要在ProGuard上发布链接!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-08-01 16:11:04

任何硬编码的值都可以通过反向工程来查看你的应用。

这包括密码、urls等。

要对android应用程序进行逆向工程,请执行以下步骤:

1-将应用程序的APK文件重命名为ZIP (例如myapp.apk -> myapp.zip)

2-打开压缩文件并检索classes.dex文件。

3-使用dex2jar从classes.dex获取jar文件

4-使用jd-gui打开jar文件并查看原始代码。

票数 4
EN

Stack Overflow用户

发布于 2012-08-01 16:09:06

哈瓦,

如果您将密码作为静态字符串存储在您的应用程序中,则它是安全的,而不是。即使您使用的是ProGuard,也很容易找到它。保护它的最好方法是根本不存储它。相反,如果可能,让您的应用程序将某种类型的唯一标识符发送到验证用户的服务器(可能使用LVL),然后服务器返回DB密码或实际的DB数据本身(存储在服务器上)。

如果这是不可能的,或者如果您不能访问自己的服务器,那么至少可以通过将字符串存储为XOR字符串来以某种方式对其进行模糊处理,或者更好的是,想出您自己的函数来对字符串进行模糊处理。在java代码中永远不要有一行代码看起来像password = "mypass";

票数 1
EN

Stack Overflow用户

发布于 2012-08-01 16:09:52

在逆向工程中:将.apk文件从.apk重命名为.zip文件,然后提取zip文件并找到您的文件夹,

但您找不到项目的.class文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11754976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档