项目地址: https://github.com/WJZ-P/NekoCrypt
实现方式是基于安卓的无障碍机制,对其他 APP 是非侵入式的,不会改其他 APP 代码。
并且实现了添加自定义 APP 功能。使用是无感的,正常按发送,软件自动会做加密后再发送出去。
感觉做这种加解密相关的,有喝茶风险,但是如果我 APP 内部不带任何 APP 信息(把内置的删掉),全靠用户自己添加,这样会有问题吗?这样的话就是用户个人行为,跟开发者没关系了。
![]() |
1
hellodigua 19 小时 44 分钟前 ![]() 我也不知道有没有风险,但是你的这个 idea 是真的牛逼
|
![]() |
2
lekai63 19 小时 40 分钟前 via iPhone
clash 算不算 网络协议的加解密。 订阅、节点也是用户自己行为。
凡是不利于稳定的都不行🙅 凡是不利于监控的也不行🙅 |
![]() |
3
WJZ0821 OP @hellodigua 感谢,一个小 idea 而已
|
5
arrow629 19 小时 30 分钟前 ![]() 没多大事,大不了就像之前的与熊论道那样关站就是了。我觉得做还是可以做的,可以加入 GPG 加密等,增加点软件功能。
|
6
stinkytofux 18 小时 57 分钟前
@arrow629 #5 与熊论道这样纯粹加解密的工具网站都能被关闭, 真的是相当的无语.
|
![]() |
7
agagega 18 小时 31 分钟前 via iPhone
想法不错,但是频繁发送出去的内容太奇怪了会被微信/QQ 盯上。直觉来讲风险有点高
|
8
JinBin 18 小时 24 分钟前 via Android ![]() 如果你要听实话:事实就是 2 楼说的,小范围传播没人理你,如果火起来必挨铁拳,这是个你法我笑的国家,这个软件影响“团结安定”,那作者就交罚款进去蹲吧。
|
12
riscv 17 小时 37 分钟前 via Android
我以前有过这样的想法,没想到楼主做出来了。不知道市场如何,用的人会多吗?
除此之外还了解过 session 之类的去中心化的端对端聊天软件,不知道楼主有没有跟我一样探索过 |
13
wanmyome 16 小时 28 分钟前
先生泽被千古
|
![]() |
14
Dreax 15 小时 41 分钟前
“全靠用户自己添加,这样会有问题吗?这样的话就是用户个人行为,跟开发者没关系了。” clowwindy 有话说
|
![]() |
15
noahhhh 14 小时 24 分钟前
用的人多搞出事情就有风险了
|
![]() |
16
loading 14 小时 16 分钟前 via Android
|
![]() |
18
kk2syc 13 小时 41 分钟前
纯粹,引火上身
|
![]() |
19
restkhz 13 小时 25 分钟前 ![]() |
20
Seck 13 小时 2 分钟前 via Android
个人感觉好像使用场景有点奇奇怪怪的
发送消息应该给对方解密吧 我只是闲聊,当然想法是很不错 对面咋解密的? |
![]() |
21
ashong 13 小时 1 分钟前 via iPhone
telegram 也被喝咖啡
|
22
hdp5252 12 小时 40 分钟前
安装了 发对方是明文啊
|
23
HTravel 11 小时 59 分钟前
如果你真做到了全局加解密,那肯定没风险啊,因为政府根本找不到你啊。
否则,你就和这几天的西贝预制菜一样,只是在做名词辩解 |
![]() |
24
lswlray 11 小时 34 分钟前 ![]() OP 能不能回答这样 2 个问题:
1 、你为什么会想着做这样一个产品? 2 、你认为什么样的用户、交流什么内容时,会需要你这样的一个产品? 如果你能坦诚的回答这 2 个问题,你就会知道自己有没有风险。 |
![]() |
25
ddter 11 小时 30 分钟前
简单一点,如果有人利用这个做了什么坏事,特别是涉及到刑法上的那些,lz 一定会被进去。
|
![]() |
26
lswlray 11 小时 26 分钟前
@lswlray
另外,OP 可能根本没有想过,有一天可能被几个利用他的应用、交流非法信息的人给伤害了 就如支持美国人持枪、说每年因枪击案死亡的人都是必要付出的代价的查理柯克,没想过自己会变成这个代价一样 |
![]() |
27
kulous 11 小时 17 分钟前 via Android
如果你走的是公共聊天平台,平台肯定会检测出来,然后封号。这个检测太简单了,不需要找到你,封号多简单。
|
28
mayli 11 小时 14 分钟前 via Android
国内没有聊天软件宣称端对端加密不是技术原因,是政策原因,你提供了违反政策的工具,就容易进去
|
![]() |
29
taosimple 11 小时 12 分钟前
对 flutter 这类框架写的界面是不是无效
|
30
jackOff 11 小时 8 分钟前
想法很不错,话说你肉身在哪
|
31
busier 11 小时 5 分钟前 via iPhone
op 主意太容易安罪名了
|
![]() |
32
Admstor 10 小时 57 分钟前
李跳跳也是基于无障碍设计,还不是一样被搞了
人家仅仅是触动了商业利益 你这个直接触动国家利益 这边建议直接删库销号 或者降代码转交给肉身国外的朋友发布 |
![]() |
33
icedx 10 小时 54 分钟前
这不就是 CyanogenMod 的 WhisperPush
|
34
CatCode 10 小时 54 分钟前
|
35
lxxiil 10 小时 13 分钟前 via iPhone
说楼主有危险的,iMessage 为什么国内不封还能用?解释下
|
![]() |
36
WJZ0821 OP @riscv 用的人多少这个不晓得,没得统计,可以看下项目页面,有详细的 readme 介绍,这个我主要的想法还是它本身只是个辅助,通信是基于其他交流 APP 的,因为这样子可以减少用户的使用成本,不需要你单独下一个聊天软件,同时软件本身也不需要有维护费用,相当于寄生在其他软件身上
|
38
fbxshit 9 小时 55 分钟前
虽然你的这个 app 对其他 app 是非侵入性的,但是对于安卓系统来说,也算是侵入性的,这里的侵入性指的是你的 app 加解密过程插入到其他聊天 app 在安卓系统中与用户之间的一种互动过程中。
说的直白一点就是,用户本来在微信里输入的内容,你在用户输入的时候插进去让原来的内容变成了另外的内容。南山必胜客找到你说,用户和微信互动的过程也是计算机系统的一部分,你提供非法工具侵入了这个计算机系统,已经触犯了刑法,你该如何应对? 更加好的一个方式我认为是,就不要做这种内容的 app 了,反正你做了也上架不了应用市场,也赚不到什么钱,不如一步到位,做一个完全独立于手机系统的,无论是安卓还是 ios 都通用的依靠本地 AI 能力给用户聊天加密的机器人。 我的设想是这样: 用一个类似树莓派的平台,带有摄像头和很小的机械手指的小机器人,使用的时候拿出来用一个小架子架在你的手机屏幕前面,它可以实时的拍摄并读取到你手机屏幕上对方发过来的聊天信息,有点像现在某些 AI 工具录屏抓内容,但是我这个是完全独立的,屏幕抓内容只能靠摄像头。 读取到对方消息之后,你的内容输入是直接在机器人上面,自动加密也是在机器人上面,加密之后机器人的机械手指会在你手机屏幕上调出输入法,输入的内容就已经是加密过的内容。 完全独立的好处是,即使你的手机里面装了 100 个间谍软件,1000 个键盘记录器,也完全不需要担心泄密的可能。这是真正物理级别的端到端加密,因为我把两端都从物理上移除出手机了,从手机键盘输入开始的一切都是加密的,直到在对方手机的屏幕上显示。 为了最大化安全性,你的机器人设置好加解密软件后,系统就完全固化,也不联网。 加解密完全独立不联网,信息到了你手机上开始就是完全加密的状态。 假设这个机器人已经做出来了,那么最大的难点就是怎么让用户在微信里面愉快的加密聊天,而腾讯即使人工审查你们的聊天记录,也完全看不出来任何的异常,就像看两个无聊的人在那里对一些琐事拉家常。我认为这种加解密的方式可能就要依靠 LLM 的一些发展了。我设想的是,用户的聊天内容,被机器人本地的 LLM 通过虚构大段的对话,进行隐藏。隐藏之后,把 LLM 生成的文字通过手机键盘直接发送给对方,由对方的机器人读取屏幕进行本地提取和解密。这里的难点是,对方发送回给你的秘密消息,被对方的 LLM 处理过之后,要和你前面发送的内容逻辑上联系的起来,只有这样才可能对抗人工审核。 以上就是物理端到端+LLM 抗人工审查的终极加密聊天工具了,就缺一些感兴趣的程序员了。 |
![]() |
40
HeyWeGo 9 小时 41 分钟前
不要想着违法不违法,特别是弄软件的,不然就是欲加之罪何患无辞。
信息犯罪由于查抓困难,往往就是那种提供工具的容易被逮到,无论是处于什么目的一定是先处理容易处理的环节 |
![]() |
41
WJZ0821 OP @loading 我看了一下,是基于明文编码方式去做加密,跟我的还是有不少区别,我使用的是 0 宽字符替换,最后用户看到的长度基本是固定的区间,你密文打一万个字,加密后看起来都很短的
|
42
PrinceofInj 9 小时 18 分钟前
软件还没用,不知道是怎么体现得,看到时使用了零宽字符我倒是有个想法,使用之前,先约定一个主题,通过 AI 之类的工具进行自动处理,这样,明面上看到的就是双方基于这个主题在聊一些鸡毛蒜皮得事儿。
|
44
Hikareteku 9 小时 13 分钟前
喝茶是迟早的事儿
|
![]() |
46
YaakovZiv 9 小时 4 分钟前
商用有风险,开源的风险就一个,你若是贴了国内实名信息的收款码,就属于被监管范围了。如果你贴的是海外的,那就暂时不管。
|
![]() |
49
WJZ0821 OP @lswlray 1.这个软件的初衷 just for fun ,但是因为涉及加解密,难免有人会拿来说敏感内容,但是软件本身不关注这些
2.我理想的用户群就是觉得这个玩意好玩,挺有趣,比如在 QQ 群里可以当着别人面加密,相当于群聊里面私聊,简单点就是装逼,哈哈 |
![]() |
51
WJZ0821 OP @hdp5252 开了无障碍不,开了之后切到对应软件,能看到发送按钮上方有个淡蓝色遮罩才是成功。可能还要开一下悬浮窗权限之类的。有问题可以加项目主页的群解决一下
|
![]() |
52
WJZ0821 OP @taosimple 不太确定,但是我之前了解过,flutter 在安卓这边也会生成一个节点树,方便正常的无障碍服务运行。总不能使用 flutter 的软件就不能用无障碍了吧,这样的话不方便障碍人群
|
![]() |
53
WJZ0821 OP @fbxshit 确实,感谢长文,想法很好,但是这里我有个问题是,消息的加解密后的载体是什么呢,绝大部分加解密后应该还是字符串的形式展现,比如对 100 个字加密,如果做到密文表面上看起来是正常聊天?我现在采用的是 0 宽字符形式,可以做到加密后的表面长度与密文无关,但是别人看起来确实是不连贯的聊天内容,可以推测出在加密,只不过不知道具体内容,也无法根据表面上看起来的长度来推断密文的长度。
|
![]() |
56
loading 8 小时 20 分钟前 via Android
op 强调"很短"是空白字符短而已,对于监管设备来说这个和 aes 等方式后的乱码一样的。
建议还是 收手吧,阿祖! |
57
fbxshit 8 小时 15 分钟前
@WJZ0821 大致上来说,就是用 LLM 的文字生成能力,把你原来想要发送的明文做种子,用 LLM 自动生成一段看似无关的文字,其实你的明文是被某种机制隐藏在里面的,然后你发送到腾讯服务器上面的是 LLM 生成的一段文字,这段文字就是正常的聊天内容,可能是天气,也可能是美食,然后对方接收到之后,在他的本地 LLM 把你原来要发的信息解码出来。 这样即使腾讯让下面牛马 996 一行行审查你们聊天记录,也只能看到你们在聊美食和天气。
Alice:明天 10 点见面。 ---LLM generated---> "北京的代表性美食包括北京烤鸭、炸酱面和豆汁儿等,好想尝尝啊" 这段话"北京的代表性美食包括北京烤鸭、炸酱面和豆汁儿等,好想尝尝啊"------> 利用任何网络平台发送到对方手机屏幕。 然后对方的机器人拍摄屏幕,本地解密--->"明天 10 点见面"。 难点在于,发送消息不是一次性的,对方如果回复"10 点太早了,改成 11 点老地方",然后用 LLM 处理再发回来的话,前后一来一去,两段 LLM 生成的文字,之间必须是有逻辑上的关联的。就是说那些牛马一行行盯着看你们的聊天记录,他看到的虽然是 LLM 生成的对话,但是来来去去必须前后逻辑上连贯,看上去像真人的聊天。 因为你这里的 LLM 无法事先判断对方要发送回来的消息是什么,所以这里最有趣的地方是找到一种大语言模型生成文字的机制,可以在你们真实的(需要保密)聊天互动文字以上,再实时构建一大段虚拟的聊天文字,LLM 生成的文字和你们的明文之间,有一种隐藏的对应结构,可以让你们各自解密出对方发送的明文。 |
58
Seck 8 小时 14 分钟前 via Android
这个我说一下关于加密这个问题!
很多加密方式是不允许在社会上推广的,有很多信息加密方式和通信方式完全不让推广,这一点基本是所有国家的共识,包括美国也有,就是因为完全解不开。 有些先进的加密方式,和通讯方式,好像是违法的,我记得。我单纯好像有这个印象,所以这个地方应该是灰色地带! 我想大家表达的应该是这个,法律上可能没有那么明确清晰。 |
![]() |
59
irrigate2554 8 小时 0 分钟前
收手吧,阿祖!就这个需求本身而言也不如两个人直接换个自建通信软件。
|
60
fbxshit 7 小时 51 分钟前
@PrinceofInj 是的,和我的想法一样,就看有没有熟悉大语言模型的程序员,先搞一个出来试试看。
|
![]() |
61
0x114514 7 小时 44 分钟前 via iPhone
idea 很好,但是它的用途个人感觉有点自相矛盾。需要加密通讯内容的用户大概率不会使用可能会被审查的通讯工具,而使用上述通讯工具的用户则大概率不需要加密通讯内容。
|
62
Gekou 7 小时 27 分钟前
可刑,马上晶格就敲你家门
|
![]() |
63
guiyumin 7 小时 25 分钟前
signal 的核心库是开源的
所以你可以用他们的,不用自己搞 |
![]() |
64
anivie 7 小时 9 分钟前
之前看到那个“佛曰”的网站的时候就出现过类似的想法,没想到已经有这么多实现了哈哈哈
|
![]() |
66
WJZ0821 OP @0x114514 怎么说呢,为不想切换聊天软件同时保持内容隐秘性的用户提供便利。比如你在 Q 群里想和别人分享,此时切到其他软件要再重复一次添加好友的操作,可能还伴随着 VPN 的开启。有这个的话就不需要来回跳转了
|
![]() |
68
XiLingHost 6 小时 46 分钟前 ![]() @Seck 你的记忆没错,之前是密码学相关的代码都被禁止出口,参考 Bernstein v. US Department of Justice 案 https://www.eff.org/cases/bernstein-v-us-dept-justice
|
69
zed1018 6 小时 35 分钟前
肉身在国内不要做这种抗审查的东西
|
![]() |
70
suyuyu 6 小时 15 分钟前
不利于团结的事情不要做
|
71
LxnChan 6 小时 11 分钟前
这个想法我很早以前也有过,当时我想的是做成类似输入法或者输入法挂件的形式,正常输入但是发出去是密文,对方收到自动转明文
可惜当时技术力不行没实现的了,支持一下 虽然在国内弄这个东西有风险,但还是为追求自由和无审查的精神表示尊重! |
![]() |
72
WJZ0821 OP @LxnChan 嗯,基于输入法的话可以连输入法层面也防范内容被上传,但是实际上要 hook 输入框和发送按钮这些,还是得基于无障碍,所以就没考虑输入法的形式
|
74
ks2ex 6 小时 3 分钟前
iOS 也需要
|
![]() |
75
UnluckyNinja 6 小时 1 分钟前
@WJZ0821 #66 但你要交换密钥不也得走其它软件沟通,还是说得线下认识并提前商量好密钥,那适用面可就小多了
|
![]() |
76
lswlray 5 小时 51 分钟前
@WJZ0821 如果你的初衷真如你所言,我觉得你就不会担心会不会有风险了。你说你的初衷是这样、你自己信了就好;如果有叔叔找你,你也可以同样说给叔叔,他们能信就没问题。
|
77
shmilypeter 5 小时 48 分钟前
|
78
shmilypeter 5 小时 45 分钟前
thunderbird 客户端就提供了类似的功能,支持导入 pgp 密钥,邮件服务端就是密文。即便是被截获也都是字符串。
当然了现在别说邮件,就是电脑使用率都不高了,除了工作大部分人都用手机了,所以楼主提供这个方便的工具是有可能跟有人用宝塔面板做犯罪工具警察抓宝塔面板的人的。 |
![]() |
79
ETiV 5 小时 33 分钟前
之前有一个输入法
可以输入文字后,加密成 emoji ,然后可以通过微信发出去; 接收端用同样的输入法,粘贴 emoji ,解密成原文。 你猜这个输入法 App 为什么不在了 🤣 |
80
lhwj1988 5 小时 32 分钟前 via iPhone
不错,需求量应该不少
技术无罪 |
![]() |
81
WJZ0821 OP @UnluckyNinja 这个确实是一个难点,目前的形式是安装软件会提供默认密钥,可以基于默认密钥的情况下沟通新密钥,但是如果审查方也下载了我的软件,并拿到了你们沟通密钥的密文,也确实可以解密,感觉最稳妥还是线下等不留痕地去做这个密钥的沟通
|
![]() |
82
ETiV 5 小时 29 分钟前
|
![]() |
83
WJZ0821 OP @shmilypeter 密文一直是汉字,原理是二进制密文做 BaseN 运算转成 0 宽字符,然后再塞入一些常规汉字组成密文,好处是别人无法直接通过看你发的消息长度来推测密文长度,当然复制到一些字符串长度统计网站还是能看到实际会多很多
|
![]() |
84
wafm 5 小时 25 分钟前
长期发这些谜语,会被封号吧
|
![]() |
86
WJZ0821 OP @wafm 我在 QQ 上之前也做过一个加密插件,长时间在使用,没有出现问题。更多的检测是 NTQQ 插件框架本身被检测,内容倒是还好。我觉得一方面是因为我用到的 0 宽字符是正常拼接 emoji 会用到的字符,也就是并非完全罕见的那种。
|
![]() |
88
yaoyao1128 5 小时 16 分钟前
使用无障碍处理也是一种外挂。并且是可以被检测的。
并且根据 https://zhuanlan.zhihu.com/p/1907372254662198397 来看,微信是有上报机制和白名单机制的 即使不带具体的应用,也属于擦边的,存在风险的。 之后 https://github.com/WJZ-P/NekoCrypt/blob/6daaa42ff6b81323b55c909797939570af6127db/app/src/main/java/me/wjz/nekocrypt/util/CryptoUploader.kt#L33 似乎是把图片上传到微信的对话平台…… 以及 代码里还有 com.dianming.phoneapp.MyAccessibilityService ?是为了伪装成点明之后注册吗……那这个还涉及了和 南京点明软件科技有限公司 之间的风险 还有就是 写了 EPL-2.0 但是实际的 LICENSE 文件是 GPL 2.0 P.S.: NekoIconCreator.html 挺好玩(() |
89
fbxshit 5 小时 7 分钟前
@UnluckyNinja 交换密钥不需要走其他的软件和渠道,直接在微信聊天窗口中用明文 DHKE 协商一个密钥就行了,你想用户身份认证腾讯都已经帮你做好了,你直接和对方协商一个密钥就可以了。当然了有其他渠道更加保险。
|
90
yvkino 5 小时 6 分钟前
你要想想这东西主要用户就是黑灰产。被顺藤摸瓜,你不盈利也要被调查一番,运气不好就得吃国家饭了。
|
91
HTravel 4 小时 50 分钟前
@WJZ0821 我的意思就是说,你不能去特殊定义这个全局,必须是真全局。你的 app 也要在这个全局之下,在全局加密下下发及更新。
如果做不到,那自然就意味着是假全局,在你所谓的全局之上,还存在个上帝层,可以看到足够多的信息。那自然可以抓你,自然也就是假全局。 |
![]() |
92
WJZ0821 OP @yaoyao1128 网链和无障碍包名属于黑魔法,不太适合展开。上传的图片和文件都是过了加密处理的,所以就算拿到了没密钥也解密不出来,安全性可以保证。另外,这个图标生成器其实是 Gemini 写的,哈哈,我拿来做了个图标
|
![]() |
93
WJZ0821 OP @HTravel 软件层的全局加解密意思是不特定于具体软件,能够做到适配大部分聊天软件的加解密,只要能拿到四要素:输入框,发送按钮,消息列表节点和具体消息节点就可以。其中后两个只有沉浸式解密需要,正常点按解密的话也不需要后面这两个。
至于更高层面的监控的话,在软件层我就无能为力辣 |
![]() |
94
wegbjwjm 3 小时 12 分钟前 via iPhone
先去搞艘船,去公海再发
|
![]() |
95
zushi000 2 小时 43 分钟前
人少随你折腾 人一多,就会去喝茶
|
![]() |
96
oneisall8955 PRO 默认密钥是 op 生日吗?
|
![]() |
97
WJZ0821 OP @oneisall8955 并不是,是我喜欢的女生的生日,我和她是高中同班同学,高考完她去复读,我去上大学了,后续她考到了其他的城市。现在离开我有一年多了吧,睡觉时经常想起。
我不会说多浪漫的情话,就把思念写在代码里吧。 |