android反编译之投机主义
来源:互联网 发布:电脑温度测试软件 编辑:程序博客网 时间:2024/04/29 03:06
相信大家都知道,apk的安全机制存在一定问题,dex文件格式,是可以修改,重新编译的,最近用非常火的广告平台做个一个测试。
测试内容:汉化国外android软件,添加组件,更换图片,加入易积分广告sdk,重新打包签名发布。
步骤一:将下载的国外android apk文件用apktool d命令进行反编译,你会发现一些资源文件,和一堆java编译出的smali文件。
步骤二:添加广告平台的sdk(可以将广告平台的demo.apk反编译后获得sdk的smali文件,直接复制到你的工程中即可)
步骤三:按照广告平台要求更改AndroidManifest.xml文件,添加广告平台的信息。(特别注意:因为广告平台的android API版本问题,在你的AndroidManifest.xml文件中如果规定了android:targetSdkVersion,可能广告平台无法显示)
步骤四:修改所得反编译文件的入口activity,进行广告sdk的初始化。(入口activity在AndroidManifest.xml有介绍)
1.加广告平台的实现接口,在smali文件中添加.implements。
2.添加接口的实现方法(从demo smail文件中拷贝即可)
3.添加field字段,特别注意字段的初始化。以Handler为例,Handler handler = new Handler() {public void handleMessage(Message msg) {}},这里就涉及到了内部类,你可以自己写一个相似的内部类文件观察一下,会生成一个内部类的smali文件,将其加入到入口文件所在的包,修改入口smali文件,在构造器init中,添加Handler的初始化,这样内部类的任务就完成了。
步骤四:汉化处理,增加组件,为其添加点击事件,链接到广告sdk,显示积分墙。
1.汉化就不用说了,直接修改strings.xml文件就行,但是有的文字是在layout和程序中的,这就需要你仔细找一找了。
2.组件添加是修改layout文件,注意public.xml,ids.xml的修改,public.xml中的16位value值是按资源种类递增的。
3.点击事件同步骤三的内部类添加,不过这个少了一个在入口smali文件的初始化过程。
步骤五:重新用apktool打包,sign工具签名。
推荐:1.notepad++的查找功能非常强大,可以用来辅助修改,而且可以下载smali文件显示的高亮插件。
2.dex2jar+jd-gui反编译出java源码,方便对应用程序的查找解读。
声明:反编译非法,不过用来学习学习还是挺有成就感的。
- android反编译之投机主义
- android 之反编译
- Android学习之 反编译
- android之反编译浅析
- Android之反编译
- android之关于反编译
- android之反编译apk
- Android之反编译APK
- Android反编译之xml
- Android 反编译之smail
- android 反编译之dex2jar
- Android开发之反编译与防止反编译
- Android开发之反编译与防止反编译
- 犬儒主义之解释
- 犬儒主义之感想
- android反编译之解决方案 AndroidX
- android的apk之反编译
- android的apk之反编译
- 【C和指针】#if 0/#if 1...#end if
- iPhone的动画效果类型及实现方法
- 基本分段存储管理方式
- cocos2d-x 切换场景fadeout效果
- 软件随想录:程序员部落酋长Joel谈软件(local.joelonsoftware.com/wiki)-36
- android反编译之投机主义
- 邮件标题中有 垃圾邮件 字样
- Android动画 fillAfter和fillBefore
- POJ3295《Tautology》方法:构造栈
- (1)oracle单表选择率(selectivity)——计算执行计划的基数
- POJ 3176 Cow Bowling
- 关于网站签到功能的设计
- 为android电源键添加重启项
- sql用rowid删除表中重复的行