使用Smali代码注入
来源:互联网 发布:linux 线程传递数据 编辑:程序博客网 时间:2024/05/22 06:13
http://androiddeveloper.diandian.com/post/2013-04-12/40048563235
阅读该教程中需要读者具有Android虚拟机语言smali的语法基础和openGL的基础,读者可以在
http://bbs.pediy.com/showthread.php?t=151769
获得基本的smali语法知识。下面进入正题:
1.首先下载到手最新的魅拍apk包,魅拍是腾讯旗下子公司做的一款图片滤镜软件,使用apktool.jar反编译该apk包:
获得的文件夹中有一个smali文件夹,它是整个项目的smali源码。
2.每个openGL滤镜在着色的时候都会使用glShaderSource函数来Shader着色器的代码,所以在smali目录下搜索该字符串:
3.找到关键代码后,打开该文件,找到调用的函数:
寄存器p1中的内容就是我们想要的shader脚本,在该函数之后使用代码注入输出着色器的shader脚本:
这里使用v1寄存器来存储PrintStream,因为观察后面的代码中v1寄存器直接被赋值了,赋值之前并没被读取过,所以这里借用v1寄存器。
4.重新使用apktool.jar打包代码注入过的魅拍文件夹
5.将打包后的meipai.apk使用自己的签名秘钥签名(利用signapk.jar包),最后安装代码注入后的apk包,安装后打开魅拍进入移轴滤镜页,点击移轴效果,将看到shader脚本被打印出来:
6.最后发现,该openGL脚本中存在外部变量,寻找到特殊变量如outerRadius,在smali文件目录下寻找就能找到它在文件中赋值的位置,最后继续代码注入打印出所有参数的值:
768.0是width,1024.0是height等等。。。。魅拍移轴滤镜的算法就破解了
- 使用Smali代码注入
- Smali代码注入
- Smali代码注入
- Smali注入弹框代码
- 常用android的smali注入代码
- 安卓反编译smali代码注入第三方广告
- android逆向分析中常用的smali注入代码
- 使用IDEA动态调试smali代码
- android Smali注入
- 浅谈微信smali注入
- Android逆向之smali注入
- 用作注入的简单smali
- MIUI V4移植经验分享(三)—— Smali代码注入
- 通过smali注入的方式插入自定义代码来监控app的行为数据
- android smali代码分析
- smali代码相关
- smali代码初识
- 常用的Smali代码
- 获取普通用户 iOS 设备上的 Crash Log 的方法
- Android UI, TabHost (过时)
- 《编程珠玑(续)》第15章课后题
- linux 内核常用数据结构及算法——container_of
- 如何使用Core Text创建一个简单的杂志图书App
- 使用Smali代码注入
- Laying out text with Core Text
- js 得到select所有option里的值
- cocos2d-x 开发常用代码(3.0)
- 惨痛的教训,编译程序时一定要注意c运行时库的选择
- 扯淡之erlang生涯 -- 持续更新
- ACM——第几天
- android 开发中用到的代码总结(三)
- LeetCode——Unique Paths