请教几个 Android 应用方面的问题
Android 的 APP 能不能实现在启动安装的时候必须要输入 APP 的授权码验证后才能继续安装这样的需求呢,类似哪些需要收费的 Windows 软件,在安装的时候需要输入 KEY 验证之后才能继续安装和使用,本地正版验证的这种。
现在厂家 Android 系统自带的导入证书的功能好像都只是用于 WIFI 认证使用,在非 root 的情况下有没有通用的方法可以将第三方的证书添加到信任 root CA 列表中
在非 root 的情况下有没有通用的方法可以直接修改 hosts 和 3G/4G/5G 也就是数据流量自带的 DNS ,现在实现这种功能的 APP 好像都是通过 VPN 这种间接的模式来处理的感觉太曲折和太别扭。
问题 1. 需求源自 由于 APP 是行业专用的 Android 单机软件(不需要联网使用,类似专用 PDA 上的软件), 但是想实现按设备收费功能所以自然的就想到了 Windows 之前的正版 KEY 方式。
问题 2. 需求源自现在证书费用和的问题(当然有免费的证书,它们的问题就是时间短并且免费证书的类型有限,另外,独立的 APP 也可以用自己的证书验证,但是有的时候需要调用浏览器或者是第三方 APP 这个时候自签证书也就有问题了)所以想自己签发证书
问题 3. 主要是现在有的 APP 广告太多,运营商 DNS 稳定性和隐私性等问题,想有没有办法在不安装第三方软件的情况下去掉广告或者是修改 dns 而已, 也不打算做个啥产品。
1 、安装不行,执行可以。(你看到的任何软件的 CD-KEY ,也都是执行阶段验证的)
3 ,你这是 DNS 劫持,是木马行为。
2 楼主没有描述使用场景,不评价。
- win 软件也是装完才运行要 key 的啊,我也没见哪个不买不能安装的
- 可以添加 root ca ,不知道是不是国产砍了
- 不能
三项加一起你是打算做个付费软件做 Mitm 劫持用户流量吗😅
Windows 的安装程序可以自己做,当然能做到没 key 不能装
Android 安装包都是统一格式,不能自己做,所以你想自定义一些安装逻辑是不行的
inno setup 打包的 windows 应用可以做到安装阶段需要输入密码, 而且安装包里面的资源也是加密的
#4 这也是执行阶段,所谓的安装也是程序业务的 setup 。
windows 、Android 并没有系统级的 CD-KEY 。
“...劫持用户流量.." 不是,主要是我混到一起问了所以容易让人有错误的联想! 现在我已经把需求和原因附注了
”可以添加 root ca ,不知道是不是国产砍了“ 我这边一个老 android 8 的设备 直接没有导入 root ca 只能用来做 wifi 认证, 另外一个 android 版本比较新的设备 倒是有导入 root ca 但是在导入的时候,在自定义证书存放目录选择证书文件的时候根本看不到 ca 证书,我试过几种证书格式都不行
需求和原因我已经附注了
你可以下个 adguard ,试试它的证书能不能用,我也不清楚具体支持啥格式
有些软件不接受用户添加的 ca 证书,还有些连系统的都不认,只认自己内置的(比如 firefox ),不如用 acme.sh 签一个,可以自动续期,倒也不麻烦
改 hosts 必须得 root ,效果一般,国内规则大多误杀严重可以试试 adguard 或者 firefox + ublock origin ,各自都有些缺点
"...改 hosts 必须得 root..." 这个方法行不通,那改 4G/5G 数据上网的默认 dns 的方法呢,哪怕是做一个小 app 通过 android API 的方式修改
Android 9 开始支持 private dns ,可以设置 dot 地址,比如 dns.pub (国产好像也有些阉割了)
没有用过面具吗,看一下人家能产生一个随机包名的 apk 替换自身
“...Android 9 开始支持 private dns...” 那这个 private dns 会覆盖数据方式获取的运营商 DNS 吗,也就算对数据上网也生效吗?
对 wifi 和流量都生效
谢谢指教!
1:要运行后自己做相关逻辑
2:可以,引导用户安装即可
3:有很多系统可以改 dns,例如小米的私人 DNS 功能
想做本地鉴权,apk 安装阶段应该实现不了
真想实现呢,做一个中间过渡的 App (称作 A )做鉴权,和实际的 App (称作 B )。
A 鉴权成功之后给你把鉴权信息包括机器码之类的识别内容加密成 license 写进 B 的 Apk 然后重新签名,然后交给系统安装器安装 B ,B 启动的时候拿 license 本地解密后和你的机器信息校验。
#17 因为跟 Windows 不一样,Windows 里软件安装器也是一个 exe ,装好了的软件也是 exe 。真要实现类似的概念,就只能通过一个 App 去安装另一个 App
第一个一般是执行阶段来验证吧。就算不联网,有个死办法,打包的时候,验证码激活码什么的都写进去。
小伙子,说出你的故事
在非 root 的情况下有没有通用的方法可以直接修改 hosts 和 3G/4G/5G 也就是数据流量自带的 DNS ,现在实现这种功能的 APP 好像都是通过 VPN 这种间接的模式来处理的感觉太曲折和太别扭。
可以自己配置 DoT 服务器
这种应该是新版本的系统才有的功能吧!
如题,昨天试了 11 次,挂梯子、不挂梯子、家庭宽带、手机电信移动热点、中国区,招行 VISA 卡,真实地址信息,都是到了测试扣款成功,最后一步 ABC 理由申请失败 纯粹…
云计算 infra as code, 迅速革了运维老哥们的命. 程序员说你们运维的活,我们 code 包了. 运维老哥们含泪下岗, 为了一家老小只好去跑滴滴,美团饿了么. 风里…
下面这个链接是CodeSmith官网网站论坛上的一个贴子。http://community.codesmithtools.com/forums/p/10000/37140.as…