本文转载博客园:爱加密——安卓反编译揭秘(爱加密系列教程十),仅供参考、交流使用!!!
我们拿HelloWord.apk为例,反编译植入有米广告。
我们拿HelloWord.apk为例,反编译植入有米广告。
首先,我们用apk改之理,反编译HelloWorld.apk。
![](http://images.cnitblog.com/blog/556984/201310/15110856-5d46ee933fd14a10aebb014235ab3947.gif)
然后按照有米的开发文档进行广告植入。下载地址http://static.youmi.net/files/sdk/YoumiSdk_v4.04_2013-07-12.zip
![](http://images.cnitblog.com/blog/556984/201310/15111009-438800302a8640c6bb6433ab7191b76a.gif)
步骤:
1.申请AppID (忽略)
2.导入SDK
反编译,有米SDK ,demo目录下的ApiDemo.apk。
![](http://images.cnitblog.com/blog/556984/201310/15111146-05cd4b1cf51d414b8fa52e9bd595f6d9.gif)
3.配置AndroidManifest
3.1 配置用户权限(重要)
按文档把权限拷入helloword的AndroidManifest.xml中。
![](http://images.cnitblog.com/blog/556984/201310/15111422-ec2f7e24943a4d96905077b033660cd2.gif)
3.2 添加必须组件(重要)
按文档把组件拷入helloword的AndroidManifest.xml
![](http://images.cnitblog.com/blog/556984/201310/15113221-b7d78c2af590482dae40796341ef62f3.gif)
完成上面步骤我们的sdk就已经植入成功了。
以有米广告条调用为例。下面我们开始添加广告代码。
根据文档我们把代码添加到要展示广告的Activity的layout文件中,并且放在合适的位置。
打开layout/activity_main.xml,添加布局代码。
![](http://images.cnitblog.com/blog/556984/201310/15112125-a1891c6fc58c4d36b0073ddea7a64021.gif)
这里添加了一个新的id“adLayout”,我们需要把这个id手动写到com/example/helloworld/R$id.smali中。注意这里的16位value值是递增的。
![](http://images.cnitblog.com/blog/556984/201310/15112202-94cba4504416412c8bc6d65b59a3ce4d.gif)
布局文件修改完成后,我们在MainActivity的onCreate方法中,调用广告接口,显示广告。
我们把下面代码写入android工程中。
![](http://images.cnitblog.com/blog/556984/201310/15112312-9b2ccce903844f1985a7b916a749300a.gif)
然后反编译得到对应的smali代码。
![](http://images.cnitblog.com/blog/556984/201310/15112420-b7c434de57034a8483934d598920e011.gif)
把initAD()对应的smali代码添加到MainActivity中 ,并在onCreate()方法中调用initAD()显示广告。(invoke-direct {p0}, Lcom/example/helloworld/MainActivity;->initAD()V
![](http://images.cnitblog.com/blog/556984/201310/15112502-9cdbe72e5c664d3e93c4230ff57a827d.gif)
最后,编译代码生成apk。(顶部导航->编译->编译生成apk),安装生成的apk(顶部导航->ADB->安装生成的apk)。
代码植入前后对比。
![](http://images.cnitblog.com/blog/556984/201310/15112533-f51844fdbc264f76ab1fdfbc4ab0ed0e.gif)
![](http://images.cnitblog.com/blog/556984/201310/15112623-ff82ba29a72744788f73f7a5b9485200.gif)