原文:http://free0coding.iteye.com/blog/1684263

1、将需要注入的代码块打包成jar1,释放一个公共类的静态方法a 

2、反编译apk得到smali文件,在适当的地方加入对jar中a方法的引用 

3、将修改过的smali文件编译成dex文件 

4、将dex文件编译成jar2 

5、解压jar2和jar1,将jar1中的class文件放到jar2解压后的文件夹中的合适位置 

6、压缩jar2文件夹生成jar3 

7、将jar3编译成dex文件 

8、删除原apk中的证书文件夹META-INF,替换dex文件,重新签名,即可得到注入代码后的apk 



修改apk的包名 

1、反编译apk得到dex,将dex编译成jar 

2、解压jar得到class文件,用jclasslib修改class文件的包名,修改解压后相关文件夹名 

3、重新压缩文件夹,即可得到改包名后的jar包 

4、将jar编译成dex,替换原apk中的dex 

5、反编译原apk中的manifest,修改package的值

apk静态注射[转]-未实践的更多相关文章

  1. 转转hybrid app web静态资源离线系统实践

    一.前言 目前的转转app是一个典型的hybrid app,采用的是业内主流的做法: 客户端内有大量业务页面使用webview内加载h5页面承载. 其优点是显而易见的,即:web页面上线频度满足快速迭 ...

  2. Google Play发布App中遇到"多个APK:版本1未提供给任何设备配置使用。"问题的解决方法

    在google play上发布apk,当上传了apk文件,填写了相关的内容信息和介绍图片.图标后,出现“发布应用”始终灰色无法点击,查看原因显示如下问题: 其中支持的设备数量始终显示为0,怀疑是编译出 ...

  3. C++ ODB 框架(未实践使用)

    http://www.codesynthesis.com/products/odb/doc/manual.xhtml#17.1

  4. 通过OpenVPN来穿越上网(未实践)

    说明: 1.其实OpenVPN可以通过其实现穿越来上网,即全部请求都经过OpenVPN来处理.其原理是iptables转发.如果全程走iptables也是可以的,网上的教程基本都是基于iptables ...

  5. jquery,smarty,dedecms的插件思路------dede未实践

    1.jquery定义一个新函数,这个函数可以使用jquey的所有功能 2.smarty,dede其实也和jquery一样,不过是可以使用系统的一些方法而已 3.可能还有一些规范,如smarty插件的命 ...

  6. andrlid 处理大图片思路,未实践

    Loading Large Bitmaps Efficiently 先不解码,读取image的宽高,然后降采样显示图片. 参考:http://developer.android.com/trainin ...

  7. 【VS开发】Caffelib中出现的问题:强制链接静态库所有符号(包括未被使用的)

    C++程序在链接一个静态库时,如果该静态库里的某些方法没有任何地方调用到,最终这些没有被调用到的方法或变量将会被丢弃掉,不会被链接到目标程序中.这样做大大减小生成二进制文件的体积.但是,某些时候,即使 ...

  8. VM搭建Hadoop环境静态IP未起作用

    原文 https://www.toutiao.com/i6481452558941438478/ 问题描述 1.环境工具 VMware_workstation_full_12.5.2 CentOS-7 ...

  9. QT工程pro设置实践(with QtCreator)----非弄的像VS一样才顺手?

    源地址:http://my.oschina.net/jinzei/blog/100989?fromerr=DhQJzZQe 相信大家很多和我一样,用多了微软给的便利,用人家的就十分不习惯.于是就琢磨原 ...

随机推荐

  1. python模块之xlrd

    python处理excel的模块,xlrd读取excel,xlwt写入excel 一.安装 pip install xlrd 二.使用 1. 打开excel,得到Book对象 import xlrd ...

  2. RowFilter遇上特殊字符*%'[]\

    开发时,时不时需要分析DataView的数据.计算,过滤等 .但是处理的值有可能会遇上是带有特殊字符*.%.'.[.]和\ .需要手动在表达式中,处理这些特殊字符,需要再使用"[" ...

  3. VS2010 的 HTML 5验证

    前言 VS2010的HTML验证中,没有我们的HTML 5,网上我看到使用vs2010 sp1补丁的方法,但是我的安装不了,后来发现下面的方法,让你的vs2010具有html5的验证功能. 下载这个文 ...

  4. vb.net 使用MD5密碼加密

    Function MD5(ByVal strSource As String, ByVal Code As Int16) As String'使用MD5加密 Dim dataToHash As Byt ...

  5. [日常] go语言圣经-声明,变量,赋值,类型,包和文件习题

    go语言圣经-声明1.四种类型的声明语句:var.const.type和func,分别对应变量.常量.类型和函数实体对象的声明2.包一级声明语句声明的名字可在整个包对应的每个源文件中访问,局部声明的名 ...

  6. 设计模式——适配器模式(type-c转3.5mm耳机口)

    本文首发于cdream的个人博客,点击获得更好的阅读体验! 欢迎转载,转载请注明出处. 本文简述适配器模式,考虑到java中没有多继承就只写了对象适配器模式,然后例子是怎么用转接口把3.5mm耳机插在 ...

  7. Redis-五种数据类型解析

    redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...

  8. BCB 读写Word文档

    void __fastcall TForm1::btn1Click(TObject *Sender) { Variant WordApp,WordDocs,WordDoc; Variant word_ ...

  9. java设计模式(一)【六大原则】

    开发一个系统并不是一件困难的事,但是为何维护好一个系统却是一件让人头疼不以的事?   在笔者的观念中这一切都源自于需求.   如果在软件开发完成之后,需求就不再改变,那大部分程序都不需要维护了.但是, ...

  10. VMware虚拟机安装黑苹果MacOS Mojave系统详细教程

    更多资源请百度搜索:前端资源网 欢迎关注我的博客:www.w3h5.com 最近遇到一个H5页面的 iPhone X 刘海兼容问题.查到一个 XCode 编辑器,可以模拟 iPhone X 环境运行. ...