24小时热门版块排行榜    

查看: 19781  |  回复: 30

sadpencil

新虫 (初入文坛)

[交流] 不要再数国自然申请书的 filecode 的分隔符个数了 已有19人参与

本人是做应用密码学研究的,最近也比较焦虑,但看了大家对 filecode 的讨论感觉没有分析到点子上。我直接说结论:不要再数这几个特殊符号的个数了,有意义的只有我后面提到的密文字节长度 y、密文改动开始位置 y'、filecode 的改动时间。

1. ((jtjc)) 代表 base64 编码中的 +,%2f 代表 base64 编码的 /,这俩都不是什么分隔符,其出现次数没有意义;%3d 是 base64 编码中的 =,其出现次数也没有意义。

2. 计算密文字符长度 y: 把 filecode 字符串按 1. 的规则进行查找替换后,记该字符串的长度(必被4整除)为 x,那么对应的密文字符长度 y 等于 3x/4 - p, 其中 p 是末尾的 = (也就是 %3d)的个数。这个 y 必定是 16 的倍数。

以我的 filecode 举例,我的 filecode 变化过,但 x 都等于 152,且 p 都是 2,也就是说对应的密文字符长度 y = 112。这个 112 代表了 7 组 16 字节数据。

3. 计算密文改动开始位置:对比你自己记录的两次 filecode 字符串(请先按 1. 的规则进行查找替换),记录从第几个字符开始发生变化,这个字符的位置我们记为 x'。计算 y' = 3x'/4。如果 y' 不是 16 的整数倍,它应该相当接近 16 的某个整数倍,找到这个数字记为 y'。

以我的 filecode 举例,我的变化前后的 filecode 的前 128 位字符相同,因此 x' = 128,y' = 96。这意味着密文这 7 组 16 字节数据的前 6 组没有任何变化,只有末尾的第 7 组可能存在任何改动。注意,我们只能以 16 字节为粒度知道改动的开始位置这一个信息,永远无法得知第 7 组这个改动是改动了 1 个 bit,还是 16 字节全部改掉,这个信息你是完全无法通过 filecode 获得的。

假设说你的 x = 152, y = 112, x' = 84, y' = 64,那么代表你的 7 组 16 字节数据中的前 4 组是没有任何变化的,第 5 组存在改动,第 6 - 7 组是否存在改动无法知道。至于第 5 组的改动到底是改动了 1 个 bit,还是 16 字节全部改掉,我们永远无法知道。

注意:只要 filecode 的某一位字符开始改动,后面的剩余部分应该会全部变化,其内容是不包含任何信息的。有的帖子会把 filecode 分为“固定段”和“非固定段”,其真正有用的信息就是 filecode 的改动开始位置。大家不要再看非固定段有什么字符了,这部分不包含任何信息。

知道 filecode 的改动开始位置改了有什么用呢?我们不妨假设这么一种情况:我们假设这个数据是由个人信息+状态+时间戳拼接而成,那么如果 y' = 96,说明末尾的时间戳改了,意义较小;如果 y' = 64,说明中间的某个状态改了,这个就要格外关注了。

4. filecode 的改动时间:这个得你自己查 filecode 的时候顺便把时间记下来。

联合 3. 和 4. 两个信息,你才能得到最准确的判断。

对命题 1 的证明:我们知道 + 的 url 编码是 %2b,再对字符串 %2b (大写b,我不知道为什么自动转换成小写了)做 base64 编码即可得到 jtjc,而两层括号可能是程序员为了避免 jtjc 被识别为普通的 base64 字母部分而引入的转义字符;%2f、%3d 由 url 编码易知。

对命题 2 的证明:由 base64 编码规则易知。

对命题 3 的证明:观察不同人的、同一人的不同时期的 filecode 的 base64 解码结果可知,其字节数组的特征与 aes-128-cbc 加密高度相似,而且密钥、初始向量应该是固定值。因此所有结论可由 aes-128-cbc 的性质得出。(更新:收集更多 filecode 后发现,可能不是 aes-128-cbc,块大小可能是 8 字节而非前文假设的 16)

[ Last edited by sadpencil on 2026-7-13 at 20:11 ]
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有2个 )

sadpencil

新虫 (初入文坛)

sadpencil: 回帖置顶 2026-07-12 19:01:25
引用回帖:
11楼: originally posted by yyxflyinger at 2026-07-12 17:51:03
字符串的长度 x 从哪个字符串开始计数?是从download_prp&filecode=后面开始吗?

就是 filecode= 后面那一串,不包括 keytype=download_prp 也不包括 & 字符

我举个例子,形如
CODE:
https://grants.nsfc.gov.cn/egrantweb/file/ajax-filedownload?filecode=FsM1xxxxxxq9a%3d%3d&keytype=download_prp

这个链接里面 FsM1xxxxxxq9a%3d%3d 部分就是 filecode 字符串

你的链接也有可能是形如
CODE:
https://grants.nsfc.gov.cn/egrantweb/file/ajax-filedownload?keytype=download_prp&filecode=FsM1xxxxxxq9a%3d%3d

其实就是keytype和filecode换了个顺序,这个链接里面依然是 FsM1xxxxxxq9a%3d%3d 部分就是 filecode 字符串
12楼2026-07-12 19:01:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sadpencil

新虫 (初入文坛)

sadpencil: 回帖置顶 2026-07-12 21:14:01
引用回帖:
13楼: originally posted by 南极西海岸 at 2026-07-12 19:59:52
x'不能被4整除怎么办

x'不是4的倍数这个没事,计算y'的时候往16的倍数上靠一下就行。

解释为什么的话,因为我们实际的y'是base64解码之后去找第几个字节出现变化,要想准确地得到y'是要编程实现的。我给的找x'然后计算y'的方法是一种估算,是不需要编程的。aes-128-cbc的性质决定了这个变化一定是16的整数倍,所以可以这么估算。

更新:如果你算出来的y'距离16的整数倍差距特别多,可以私信我发一下filecode让我用准确方法计算一下y'。目前我发现一组 y=112 y'=88 的 filecode,这个数据非常有意思,有可能说明系统的加密不是aes-128-cbc而是比这更弱一点的加密,分组是8而不是16字节,可能连 cbc 模式都不是而是更弱的 ecb 模式,当然即使这么弱也没有破解的可能性
14楼2026-07-12 21:06:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

zxy7909

铁杆木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我的和楼主的一样,x=152, y=112, x'=128, y'=96,6月初开始没变过
7楼2026-07-12 11:48:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

merchancy

新虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
看不懂解释,我水平太差了

发自小木虫IOS客户端
9楼2026-07-12 14:45:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

biomichael

新虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
送红花一朵
厉害,这个是专业的帖子

我的和楼主的一样,x=152, y=112, x'=128, y'=96,6月初开始没变过。
6楼2026-07-12 11:04:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shalamu

新虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我x‘是120,其它和大家一样

发自小木虫IOS客户端
15楼2026-07-12 21:14:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Vivilian

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我的和楼主的一样,x=152, y=112, x'=128, y'=96,6月初开始没变过
学术圈咋都爱玩埋汰的
17楼2026-07-13 11:25:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

嘿error404

新虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
14楼: Originally posted by sadpencil at 2026-07-12 21:06:52
x'不是4的倍数这个没事,计算y'的时候往16的倍数上靠一下就行。

解释为什么的话,因为我们实际的y'是base64解码之后去找第几个字节出现变化,要想准确地得到y'是要编程实现的。我给的找x'然后计算y'的方法 ...

是的是的,X=152, Y=112, X’=118, Y’=88

发自小木虫IOS客户端
19楼2026-07-13 20:45:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

mrzouhao

木虫之王 (文坛精英)

2楼2026-07-12 07:43:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
3楼2026-07-12 08:37:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小狮子萌萌哒

新虫 (小有名气)

4楼2026-07-12 08:45:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxy7909

铁杆木虫 (正式写手)

5楼2026-07-12 09:14:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

naalan7001

新虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我的也是x=152,y=112,x′=128,y′=96,大家都一样,可能不是好消息
8楼2026-07-12 13:42:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxy7909

铁杆木虫 (正式写手)

引用回帖:
8楼: Originally posted by naalan7001 at 2026-07-12 13:42:30
我的也是x=152,y=112,x′=128,y′=96,大家都一样,可能不是好消息

楼主靠谱
10楼2026-07-12 15:44:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sadpencil 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 2026国自然函评费到账 +9 羊腰板 2026-08-21 9/450 2026-08-22 00:03 by anji999
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 14/700 2026-08-21 23:51 by cratir
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 13/650 2026-08-21 21:58 by alongwaytogo
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 14/700 2026-08-21 16:51 by applepetty
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 人气不行了 +7 fansofjerry 2026-08-21 7/350 2026-08-21 14:13 by Vivilian
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 时间戳又变了8-15 +15 archvillain 2026-08-15 27/1350 2026-08-21 11:32 by tim76
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见