反编译是什么意思?

反编译是什么意思?,第1张

高级语言源程序经过

编译

变成可执行文件,反编译就是逆过程。但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。

反编译是一个复杂的过程,所以越是高级语言,就越难于反编译,但目前还是有许许多多的反编译软件:通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算桐巧法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。所以现在大家写的东西就想办法保护,不知扰被侵权!

大体看你的局猛键理解是正确的。

1、首先新建一个android项目,里面只有一个mainactivity,而且主界面只会显示一个字符串:你好。

2、下面,切换到这个项目生成的apk文件所在的目录,可以看到有一个hellodemo.apk。

3、在命令行输入:apktool

d

-r

hellodemo.apk。可以看到在当前目录下生成了一个hellodemo文件夹。

4、进入到扒山指轮hellodemo\smali\com\example\hello,打开mainactivity.smali。找到:

const-string

v1,

"\u4f60\u597d",

修改为:

const-string

v1,

"hello",

5、然后在命令行输入:apktool

b

hellodemo

hellodemo1.apk。这回重新打包成hellodemo1.apk。

6、然后给新生成的apk进行签名。把这个apk拷贝到autosign的目录下面,然后切换过去,在命令行输入:java

-jar

signapk.jar

testkey.x509.pem

testkey.pk8

hellodemo1.apk

hellodemo.apk。

7、把生成的hellodemo.apk安装到手机,可以看到春逗中主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12482851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存