插件前奏-android黑科技 hook介绍

Android hook相关学习

参考:http://www.cydiasubstrate.com

前言:

在插件化编程中中,hook一直是个非常关键的环节,如果在合适的时机,找到对应的hook点,可以通过欺骗系统的方式,来进行瞒天过海,干自己想干的事,下篇会详细介绍360的开源插件DroidPlugin中hook的方式,如果系统中某些东西能被hook掉,是一个很危险的事情,如在一些有签名或者md5防护的游戏中,我们可以确定好位置,然后hook相关方法和修改参数,达到测试的效果,能确保找准位置,那么剩下的就寻找游戏的验证即可。这是用于在破解方面。另外大家最熟悉的就是制作病毒,获取系统短信电话等重要信息,发向远程邮箱,进行。。。

那么,我们就找了一个cydiasubstrate框架开始测试,下面的代码相关的,是使用官网介绍的相关例子。

http://www.cydiasubstrate.com/id/20cf4700-6379-4a14-9bc2-853fde8cc9d1/

建议读者去读官网介绍,英文的,不多,一般都能理解掉。实在不想看官网的,那就继续本篇文章吧。

首先是在手机(盒子,笔者是做盒子开发的,就以盒子为例)上安装cydia框架:

https://cache.saurik.com/apks/com.saurik.substrate_0.9.4010.apk

打开后,简单的英文,按照说明点一下即可。

建立工程

建立好工程以后,将所需jar包导入

然后开始配置AndroidManifest.xml文件

1.Application对象,android程序最优先启动的

2.这里设置主类,跟正常的安卓工程不同,这里相当于开发一个插件,插件不是一个可以启动看起来有界面的。如:activity这些声明就没有了

3.这个权限,代表着cydia能够识别他为自己的插件,可以启动它

入口介绍:

这里initialize()是初始化相关东西,这个相当于main函数入口

然后下面的方法,看注释,这里也就不再多叙述。

这个工程的目的是,hook手机(盒子上)上面的文字,即android系统平台上setText的地方,

1首先要注意的是,我们要开始装substrate框架,如图,下载好,用adb install xxx:

2.这里我们没有Main和launch的入口,所以这个程序是没有图标显示到手机桌面的,因为我们已经指定了他是cydia的一个插件,所以这个时候,我们重启手机(盒子)即可启动此插件。

通过上面三张图的对比,发现我们已经正常写好了一个插件。之所以写这个小Demo,是为了,我们接下来更好的分析DroidPlugin相关。

相关测试demo都放到百度网盘,有兴趣的可以试试。

链接:http://pan.baidu.com/s/1bp1ahgb 密码:g0vu

原文发布于微信公众号 - 何俊林(DriodDeveloper)

原文发表时间:2016-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序猿DD

都在说微服务,那么微服务的反模式和陷阱是什么(一)

译者:程超 译文:http://www.jianshu.com/p/3986239138fe 一、数据驱动的迁移反模式 微服务会创建大量小的、分布式的、单一用途...

2029
来自专栏一名合格java开发的自我修养

交易系统使用storm,在消息高可靠情况下,如何避免消息重复

概要:在使用storm分布式计算框架进行数据处理时,如何保证进入storm的消息的一定会被处理,且不会被重复处理。这个时候仅仅开启storm的ack机制并不能解...

943
来自专栏SAP最佳业务实践

SAP最佳业务实践:ETO–项目装配(240)-9传输里程碑

image.png VA02传输里程碑 在此步骤中,将项目中设置的里程碑传输到销售订单。 角色销售助理 1. 在 订单字段中输入4.1中创建的销售订单的编号...

3825
来自专栏Python小屋

Python爬虫系列:使用selenium+Edge查询指定城市天气情况

话说,国外有个网站http://openweathermap.org/可以免费查询指定城市的当前天气情况: ? 那是不是可以写个爬虫程序,自动调用网站的功能来...

3126
来自专栏Linyb极客之路

分布式事务的实现原理

事务是数据库系统中非常有趣也非常重要的概念,它是数据库管理系统执行过程中的一个逻辑单元,它能够保证一个事务中的所有操作要么全部执行,要么全不执行;在 SOA 与...

1403
来自专栏Coding01

svn + 钉钉机器人制作简单的代码跟踪系统

我在很早之前使用一个第三方的支付聚合平台 ping++ (https://www.pingxx.com)

1281
来自专栏idba

有赞MySQL自动化运维系统--ZanDB

有赞作为"新零售"的软件服务供应商,随着业务的不断发展,从第一批几十家商户到现在300万商家,涉及零售,美业,餐饮,自媒体等众多商家,业务规模以及访问量爆发式...

3482
来自专栏IT技术精选文摘

架构师眼中的高并发架构

2395
来自专栏Timhbw博客

Windows下iOS开发环境搭建教程

2016-06-1513:59:42 发表评论 2,027℃热度 1.下载工具 2.安装基本文件 3.开始主要步骤 4.总结 目录 可能许多初学者并没...

1K8
来自专栏windealli

系统性能的影响因素和优化方向小结

系统性能是系统设计、实施中的重要目标。这里简单小结下影响系统性能的几个常见因素,以及优化方案。

2697

扫码关注云+社区