1
iwh718 2022-10-17 09:35:55 +08:00
那使用开源版本的和写爬虫是不是差不多了。
|
2
LxnChan 2022-10-17 09:37:39 +08:00
我有个想法,获得自身 App 包的签名,然后混合时间戳或者别的东西做个算法,并在服务端校验,这样即使对应的 api 能被抓到,只要算法和 App 的私钥不泄露就不可能第三方完全伪造。另外也可以加一些广告 sdk ,因为第三方 app 是不可能复刻这些广告 sdk 的,所以可以通过在 sdk 上设置心跳包(比如展示成功、展示失败)以判断客户端是否为官方
|
4
dangyuluo 2022-10-17 10:06:49 +08:00
挺好一个东西,就别玩坏了。
|
5
dangyuluo 2022-10-17 10:07:27 +08:00
哦抱歉,我以要伪造 TG 官方客户端。
|
8
janxin 2022-10-17 12:28:04 +08:00
你开源是开放所有代码吗?
|
10
newmlp 2022-10-17 15:40:56 +08:00
接口必须传 appid 和密钥,开源和官方客户端传不同的 appid 和密钥不就行了
|
13
crab 2022-10-17 18:13:45 +08:00
没办法啊,就像双向证书也得保证客户端证书在自己手里。
|
14
butanediol2d 2022-10-17 18:36:49 +08:00 via iPhone
op 可以看看 Telegram 的 reproducible build
https://core.telegram.org/reproducible-builds 它可以在外部验证客户端是否与官方的相同,不知道能不能做到客户端内部,算是一种思路吧。 |
15
lookas2001 2022-10-17 18:49:47 +08:00
执行在用户控制的设备上,无解,只能尽可能提升难度(闭源和混淆是一般操作)
把重要逻辑搬到服务器上吧 一些不大现实的方法: 在用户设备可信执行环境中执行,参考 Android 上 DRM 的实现 使用同态加密 |