吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11029|回复: 25
收起左侧

[Android 原创] 简单有效!分享一下给某手机打印软件集成本地驱动的方法

[复制链接]
chicharito_14 发表于 2016-8-31 21:34
本帖最后由 chicharito_14 于 2016-9-1 11:24 编辑

最近受人委托将一款打印APP的驱动集成在本地,使APP在不用联网的前提下可以安装驱动正常使用打印机。下面开始介绍下方法。
拿到APP后首先要做的自然就是默默地拿出jeb反编译一下,这里不得不夸赞下jeb这个工具,跟以前用apktool+dexjar+jd-gui比起来,简直就是六到飞起的节奏

截图1472699200.png
反编译完之后就是查找跟驱动相关的函数了,首先先去扒一下资源文件,找一些有用的strings参数
截图1472699255.png
找到了两个挺重要的strings字符串,一个是提示安装打印机驱动,另一个是提示打印机安装成功可以使用。接下来根据第一个字符串从smali代码中找到相应的函数
截图1472699330.png
直接Ctrl+F搜索字符串就能够找到,定位之后敲下Tab键就可以把smali代码转换为java代码
截图1472699371.png
可以看到定位到的函数功能是检查手机上是否有驱动,没有的话执行InstallDriverThread函数来安装驱动,下面要做的就是定位到InstallDriverThread函数了
截图1472699418.png
在InstallDriverThread中看到了installDrvLibPack函数,该函数顾名思义就是安装驱动安装包,而且它的参数包含着drv_name,这时候看到重要线索了。然后在smali中搜索该函数的名称进行定位,然后Tab转换为java代码
截图1472699514.png

现在基本就已经很明朗了,懂android开发的朋友肯定能看出来这部分代码的功能是在/asset/data/文件夹下匹配相应的驱动名称,然后进行安装。所以说我们只需要把驱动下载下来,然后放进asset/data/文件夹下再反编译就可以了。接下来就是要如何下载驱动了,代码里的URLConnection v10给了我们下一个线索。
截图1472699597.png
在v10的定义中看到了变量的作用就是建立下载链接,App.DOWNLOAD_PATH_PREFIXES,顾名思义可以猜到就是下载路径,接下来跳转到该变量的定义位置
截图1472699642.png
然后我们就得到了驱动的下载地址(有一个地址没有访问权限,还好另一个可以用),接下来要做的就是获取与手机和打印机型号相对应的驱动了,我这里采用的是抓包的方式,当然也可以通过对smali下断点进行动态调试来获取。
catchpackage.png
最后要做的就是去站点下载相应的驱动程序放到asset/data/文件夹下,反编译+签名后就算完工了。
只是搬砖之余的小娱乐,给大家分享一下以供消遣,技术渣一枚,还在努力学习中。。。。










免费评分

参与人数 3热心值 +3 收起 理由
狐丶神 + 1 谢谢@Thanks!
zgqc + 1 用心讨论,共获提升!
qtfreet00 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| chicharito_14 发表于 2016-12-1 11:13
hjwjkx 发表于 2016-11-30 19:51
挺复杂的。如果可以做到像装电脑驱动那样有个程序一点 匹配好了自动安装。应该很高效。 谢谢分享。学习中

很好的idea
IT_K 发表于 2016-9-7 09:55
Hmily 发表于 2016-9-1 09:54
 楼主| chicharito_14 发表于 2016-9-1 10:52
Hmily 发表于 2016-9-1 09:54
图片没上传成功,无法显示。

哦哦~~我重新上传一下
 楼主| chicharito_14 发表于 2016-9-1 11:26
图片重新上传成功了,第一次发帖,紧张+生疏,大家见谅
冷雪trouble 发表于 2016-9-2 01:32 来自手机
感谢分享啊啊啊
zgqc 发表于 2016-9-2 20:32
不错  真心不错
xiezi 发表于 2016-9-3 22:56
不错  真心不错
 楼主| chicharito_14 发表于 2016-9-5 15:43

谢谢=。=
 楼主| chicharito_14 发表于 2016-9-5 15:45

感谢支持
IT_K 发表于 2016-9-6 09:56
我能说不知道是什么app吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 12:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表