如题。对一个文件内部写入一个字符串信息,并且写入后,无法再次写入,不可更改。或者让更改难度难度很大,就像破解反编译 c++一样
不会影响到文件的使用,切换了操作系统也不会发生改变。至少能包含大多数文件格式,文本文件,图片,文档文件等,能被程序读取写入的信息。专业性质的文件不包括在内。
如何做到?用什么工具?或者什么编程开发语言能做到
![]() |
1
mingl0280 230 天前 via Android
签名
|
![]() |
2
LnTrx 230 天前
PDF+数字签名?
|
![]() |
3
retanoj 230 天前 via iPhone
如果对“文件”所在环境没有限制,那好像是无解的
|
![]() |
5
hello2060 230 天前
文件就是一堆二进制数据,不可能无法编辑的。也就是说数据肯定可以被破坏。那你打开的时候必须判断文件是否有效,无效肯定就不打开了,所以不存在不影响使用的问题。
|
7
nguoidiqua 230 天前 ![]() 你想想别人大费周章搞区块链、搞共识算法到底是为什么?
因为没有这样的技术。 |
9
nightwitch 230 天前
GPG 对文件进行签名, 在其他系统上验签后提取文件。
|
![]() |
10
reus 230 天前
做不到
|
![]() |
11
neteroster 230 天前 via Android
「对一个文件内部写入一个字符串信息,并且写入后,无法再次写入,不可更改。」做不到。
能做到的是用类似 GPG 的软件签名,确保数据被更改后能被发现。 |
12
systemcall 230 天前
感觉不行
如果是做 DRM 的话,倒是可以考虑数字水印。别的东西就不太清楚了。 如果是公司里面用,有很多保密系统可以考虑。可以控制硬件的情况下,也有很多方法,发现破解了就 ban 机 |
![]() |
13
jugelizi 230 天前
说下你的原始需求 感觉你的想法已经偏离了
|
![]() |
14
Leon6868 230 天前
如果对于文本文档,这个问题好像无解,因为文档在可视层面是可以直接复制的
只能增加发现和修改水印的难度(比如无宽字符) 视频的话,还可以用一下水印,不过也只能增加破解难度 |
![]() |
15
CNife 230 天前 ![]() 你要的是类似水印的功能,一般只能针对特定用途、特定数据类型专门定制,很难搞一个通用的。
比如,图片的水印就是图片携带的,很难更改(除非用专门的去水印算法和工具),不影响图片的使用(人在看图片时可以「手动」忽略水印,只关注图片本身)。 我有一个学长,硕士毕业论文做的地图水印,同样需要针对地图,提取地物的特征来制作水印,再嵌入到地图里,做到既不被普通用户发现,又能抵抗简化、旋转、放缩等去水印攻击。当然,具体的算法我也不懂,只是简单说一说水印功能的复杂性。 像纯文本这样的文件就很难搞水印,因为所有数据都直接暴露给了用户,用户不需要任何额外工具就能看到文件每一个比特,改动任何一个字节的数据都能被用户发现。 从信息的角度看,水印一定会改变原文件的信息量,扭曲原文件的信息,像视频、图片这样冗余信息量大、用户无法直接看到每一个字节的数据就容易做水印,但很难有一个通用的数据水印。 |
![]() |
16
dream7758522 230 天前 via Android
这不就是给文件加签名吗?无法再次写入,不可更改。
|
![]() |
17
xiangyuecn 230 天前
加上这个:“对一个文件内部写入一个字符串信息” 限制,无解。
去掉这个:“对一个文件内部写入一个字符串信息” 限制,n 个解。 简单点的计算文件 hash,一个文件写入后无法再次写入==不可更改,更改难度奇大( md5 碰撞倒是有例子,sha1 文件不知道有没有例子),涵盖所有类型文件,任意主流操作系统兼容😂 |
![]() |
18
imn1 230 天前
“不能被轻易修改”,符合这条基本都是鉴权加密
其他写入但不影响使用就很容易 |
![]() |
19
tctc4869 230 天前
@xiangyuecn md5 sha1 与这个无关。我的是把文件内塞入签名信息。
|
![]() |
20
tctc4869 230 天前
@CNife 好吧,如果缩小范围,只考虑图片文件,视频文件,pdf 文件,epub,音频文件,只考虑这些的话,那有软件能做么?我是说塞入字符串去,然后又能被读出来,有相关软件么?
|
![]() |
21
youla 230 天前 ![]() 写一个 exe 程序,把你的图片视频 pdf 装进去。
|
22
liuser666 230 天前 via iPhone
在线查看,远程给文档,图片,pdf 你把文件放 csn 里。
|
23
liuser666 230 天前 via iPhone
cdn
|
![]() |
24
dream10201 230 天前
洗洗睡不香?
|
![]() |
25
Mac 230 天前 via Android
当年软盘时代有写保护口
|
26
aloxaf 230 天前
你需要的大概是数字盲水印
|
27
Jooooooooo 230 天前
做不到
楼上好多答案说的都是怎么发现被改的 你想想, 文件就是本地磁盘上的数据, 有管理员权限之后还有啥不能改? |
![]() |
29
pusheax 230 天前
这种多媒体数据的话可以考虑隐写,也不是完全不能更改,但是很难以发现
|
![]() |
30
LengthMin 230 天前
楼主是想做一个泄露查询吗? 给某个文件加上一个独特的密钥 泄露之后就可以知道是谁泄露的
|
32
llh880808 230 天前
有人记得图种吗,利用操作系统根据文件头判断文件类型的机制,把信息夹带在文件尾,也不影响正常浏览,如果信息量很小,在文件大小上也看不出来
问题是一旦知道这种方法,当然还是可以编辑夹带的信息 |
![]() |
36
beastk 230 天前 via iPhone
哪有永远的事,你想多了
|
![]() |
37
niubee1 230 天前
你说的不是 EXIF 信息 ?
|
![]() |
38
BadAngel 230 天前
突然想到,如果可以这么做,放入病毒也是可以的咯?
而且还是全平台? 这个有点离谱了。 |
![]() |
39
xcstream 230 天前
其实就是水印 随便找个软件就可以了
|
![]() |
40
la9998372 230 天前
图片、PDF 文件上,可以加数字水印。而且这种数字水印可以在截图、翻拍等情况下,也可以实现恢复。https://www.jianshu.com/p/08041bcf0f23
|
![]() |
41
la9998372 230 天前 ![]() 可以看看这个实际使用案例 https://www.amobbs.com/thread-5732994-1-1.html
|
42
fensou 230 天前 via iPhone
搞安全的都知道这手艺
|
![]() |
43
catror 230 天前 via Android
你要求塞入文件的话,没有通用的方法,不同格式有不同的文件结构。
|
![]() |
44
feelapi 230 天前
猜测一下,又是那个领导拍脑袋想的需求吧。
|
45
aa6563679 230 天前 via iPhone
文件往后面追加数据是不会影响使用的
|
![]() |
46
webshe11 230 天前 ![]() 楼主没有提存储介质,给一个方法: 光盘
|
47
mumbler 230 天前 via Android
EXE 文件啊,有个资源区,可以把内容写进去,要改的话很麻烦
|
![]() |
48
yujiang 230 天前 via Android
想起了 fb 在用户上传的图片里加数据用来追踪。。。
|
49
helloworld000 230 天前
区块链啊
|
![]() |
50
yufeng0681 230 天前
肉眼不可见的水印技术, 主要是打上标记,看看是谁在传播,泄密 机密文件
|
51
p1gd0g 230 天前
数字水印,密码学有这个方向。
|
![]() |
52
BadAngel 230 天前
1 、你需要把有效内容包裹起来,使用特定格式,只有特定应用才能打开,但需要对全平台都开发应用,而且破解这种事情只要有心总能够做到。
2 、把问题分开看,对不同类型的文件使用不同的隐形加密技术。 图片类:在某个范围内,加入隐形水印信息,类似起点防盗版。 视频类:在视频里某一帧加入校验图,类似拳击俱乐部里的丁丁。 文档类:PDF 用的数字签名,前面有人提到过了。 |
![]() |
53
hugedata 230 天前
数字水印,不很多公司内部系统包括 web 页面、通知公告等都加了数字水印了么,防止盗摄、截屏等,只要网上泄露内部资料,立马就能追踪到是谁泄露的。
|
![]() |
54
mostkia 230 天前
用你自己开发的压缩算法,吧文件打包成一个 exe 或任意一种可执行文件。内置打开的程序,不向系统输出内部的资源文件。
|
![]() |
55
hws8033856 230 天前
LZ 你需要的是抗攻击的水印,不同媒体有不同的算法,没有通用的
|
![]() |
56
msg7086 230 天前
没什么是不能改的。你是电脑的拥有者,你对电脑内的所有东西都有最高权限。
最简单的,一锤子下去,文件是不是被改变了?不仅能被改变,还能被销毁被鞭尸。 |
57
hejw19970413 230 天前
我试过往一张图片中加入自己的字符(在最后面的尾部),在图片展示上其实是没有什么影响的。其实就像一个木马图片一样
|
58
bibsbx 229 天前
如果可以都压缩成.zip 的话,可以试试 File comment
|
![]() |
59
iszengmh 229 天前 via Android
不太可能吧,要是这样的话,为什么下载强调验证文件完整性
|
![]() |
60
yolee 229 天前
只要是数据就能更改,无法更改的文件是不存在的。唯一的方案是:自定义文件格式,用自己专有的软件才能解码,还可以加入云端验证。
|
61
hikari2 229 天前
在源代码添加注释吧,做一个简单.exe 或者.apk 程序,然后反编译,找到注释的位置。
|
62
wmhx 229 天前
电子签名法,CFCA 了解下。
|
![]() |
63
newmlp 229 天前
不可能
|
64
aqqwiyth 229 天前
|
![]() |
65
lululau 229 天前
咋就不可能,自己开发个操作系统呗
|
66
annielong 229 天前
exe 文件倒是可以先效验,可以判断文件是否被修改过,图片,视频等本身是无法判断的,
|
67
magicfuzzx 228 天前
说了这么多,你们觉得怎么给 txt 加一个签名,纯文本哦
|