缅北 x 园区的 d 栋原来是间废弃中学,黑板裂着缝,粉笔字还留着“距离高考还有 36 天”。此刻却成了“话术培训室”。
李朝阳被编在“狗推三组”,花名“白猪”。凌晨 1:30,别的“猪仔”都去冲业绩了,他被单独留下“补课”——昨天他连续三次把“客户”聊到报警,业绩垫底。
“虎爷说了,再给你最后一次机会。”主管阿威用甩棍敲着讲台,“今晚背不完 30 页剧本,水牢自己游回去。”
灯管滋啦滋啦闪,李朝阳盯着黑板,脑子里却全是数字:
——今天 23 个“客户”,累计转账 187 万元,平均 813 万/人;
——系统要求 30 分钟内“分账”到 18 个三级卡;
——可实际到账时间平均 47 分钟,最快 21 分钟,最慢 93 分钟;
——为什么?
他天生对数字过敏。小时候家里开小卖部,他拿算盘当积木,把进货价倒背如流。送外卖那几年,他把整座城市的红绿灯周期背下来,写成 27x27 的矩阵,只为推算“最优送餐路径”。
现在,这套大脑自动把诈骗园区的“跑分”流程当成一道“动态规划题”。
今晚的“客户”是个上海阿姨,被骗 48 万。李朝阳故意把卡号写成“6228 4821 1234 5678 999”,最后三位999 是假位,银行会强制退回。
他挨了 20 鞭,但成功把 48 万“冻”在通道里。
回到宿舍,肋骨疼得睡不着,他拿指甲在墙上刻时间轴:
t0:客户手机银行发出转账指令
t1:转出行走大小额系统或超级网银
t2:接收行验证卡号、户名、开户行
t4:园区后台刷新“到账状态”
但园区系统却提前把“成功”回执弹给“客户”,催促继续加码。
——这是“时间差”。
老 k ,因赌球欠 800 万被卖进来。李朝阳在操场放风时,用馒头渣摆出“fibonai”数列,成功吸引了这位理工男。
“你想逃?”老 k 推了推碎了半边的眼镜。
“我想救人,也想自救。”李朝阳在地上画了一条时间轴,“如果我们能把‘失败’回执延迟 30 分钟,就能让受害人多 30 分钟醒悟,也给自己 30 分钟‘假业绩’,少挨打。”
老 k 愣了 3 秒,突然把馒头全塞进嘴里:“兄弟,你缺的是数据,我缺的是自由。干!”
园区“技术部”设在行政楼 3 层,门口 24 小时有枪兵。老 k 因为会写代码,被调去帮忙维护“跑分后台”,每周三可以进机房。
周三凌晨 2 点,李朝阳故意在厕所点燃一卷卫生纸,触发烟感。守卫跑向厕所,老 k 趁机把 32g 的 u 盘插进服务器,dup 了最近 7 天的“订单+银行回执”日志。
日志文件 43g,加密压缩。老 k 把文件切成 1024 片,伪装成“美女头像”jpg,通过内网 qq 发给自己小号。
第二天放风,他把 u 盘吞进肚子,再拉出来,交给李朝阳。
——这是他们的“数据隧道”。
拿到日志后,李朝阳用 3 个晚上,把 43g 文本全读进大脑。
他在墙上画了一张“ heat-ap”:
横轴——时间(0-24h)
纵轴——银行名称(工行、农行、招行…)
规律浮现:
1 工行、建行 23:00-02:00 黄色最浅,延迟最低;
2 邮储、农商 15:00-17:00 红色最深,延迟最高;
3 招行、平安 12:00-13:00 出现“绿色尖峰”,但 12:30 突然全部变红。
李朝阳把招行 12:30 的 312 条日志单独拎出来,发现:
——所有“失败”回执都在 12:30:45 这一秒集中返回;
——而“成功”回执却提前 45 秒,在 12:29:60 批量出现。
“12:29:60?时间戳怎么会有 60 秒?”老 k 瞪大眼。
“说明系统造假,服务器把时间写死了。”李朝阳用指甲划出一条竖线,“如果我们能让‘失败’也卡在 12:29:60 这一帧,就能制造‘假成功’,把真失败隐藏 30 分钟。”
园区后台用 ysql,时间字段 dateti 默认精确到秒。老 k 找到一段 java 代码:
sipledateforat df = new sipledateforat(yyyy--dd hh::ss
——服务器时间来自本地 ntp,ntp 可以伪造。
但园区网管把外网 ntp 全封了,只剩 10001 这台“主时钟”。
老 k 提出:用区块链区块时间做“第三方时钟”。
——btc 平均 10 分钟一个块,时间戳不可回滚;
——他们把 区块的 hash 前 8 位转成十进制,除以 60,取余数,得到“偏移量”;
——再用偏移量去“回拨”服务器本地时间,最多回拨 59 秒。
只要让“失败”回执落在“回拨区间”,就能把时间写成 12:29:60,而真实世界已经过去 30 分钟。
——他们给这个漏洞起名:dey-59。
4 月 7 日,周六,园区“月度冲刺”。虎爷放话:单日流水破 5000 万,全员加鸡腿;破不了,随机抽 10 个人“沉塘”。
李朝阳主动请缨:“给我 50 个客户,我冲 500 万。”
阿威狐疑,但还是分了 50 条“鱼”给他。
中午 12:25,李朝阳把 50 张“接收卡”全部设为招行二类电子卡(单日限额 1 万),再把户名故意写成“朝日先”。
12:29:15,他在后台脚本里触发 dey-59,服务器时间被回拨 42 秒。
12:29:60,系统批量生成“成功”回执,实际银行正在排队验证。
客户看到“到账成功”,被引导继续加码。
——30 分钟里,50 人又追加了 318 万。
13:00,银行批量返回“户名不符”,资金原路退回。
但园区账面已经计入 818 万,李朝阳“业绩”第一。
虎爷大喜,亲自给他发“金牌狗推”勋章。
——dey-59 首战成功。
漏洞用多了,必然暴露。
4 月 15 日,技术部发现“招行电子卡”,而工行只有 3。网管在日志里看到大量 12:29:60 这种“幽灵时间”,立刻上报。
虎爷下令:彻查。
老 k 被反铐在机房,笔记本电脑砸得稀烂。
李朝阳被吊在操场,胸口烙铁印“狗”。
但两人早就做了“b 计划”:
——把 dey-59 拆成 7 个碎片,分别藏在 7 台不同服务器的 cron 脚本里;
——触发条件改为“收到指定短信验证码”,验证码就是外卖暗号“多加香菜”。
只要他们不主动触发,谁也找不到漏洞入口。
老 k 在挨打时,悄悄把区块链 区块 hash 写进自己手臂:
0000000000000000000c9d7e4f3c4c4f3d8f2a5b6c1d8e0f7a8b9c0d1e2f3a4
——这串字符就是 dey-59 的“钥匙”。
李朝阳用这串钥匙,把求救信息拆成 32 段,每段 64 字节,分别塞进 32 张“客户回执”的备注栏。
——银行备注栏最长 140 字符,支持 unide;
——他们用 base64 编码,把“园区坐标 + 被困人数 + 内部照片”切成碎片;
——再利用 dey-59,让 32 条回执在同一“伪造时间”生成,形成完整证据链。
4 月 20 日 12:30,32 条“失败”回执一起发出,飞向 32 个不同的收款人——其实是 32 个国内志愿者。
——这就是第 34 章“把求救短视频发到 tiktok”的技术原型。
事后复盘,李朝阳在墙上写下最后一行公式:
当 Δt 被无限放大,黑暗就能多暴露 30 分钟;
当 Δt 被压缩到 0,阳光就照进来。
他把公式命名为“朝阳恒等式”。
老 k 在遗言里说:“别把我们当数据,但请用数据救我们。”
李朝阳用指甲把这句话刻在肋骨上,像刻下一道数学定理。
——从此,他再也不怕做数学题,因为每一道公式,都可能是一条命。
灯泡滋啦一声又灭了,走廊传来发电机闷雷般的咳嗽。李朝阳被反铐在暖气片上,嘴里塞着抹布,血顺下巴滴在《诈骗话术 30 天速成》的封皮,红得刚好盖住标题里的“速”字。
阿威用甩棍敲他额头:“说,谁帮你改的服务器时间?”
李朝阳咧嘴笑,露出缺了半颗的门牙——那是昨晚他亲手磕的,为把一枚 32g 的 tf 卡藏进牙床。卡里是 dey-59 的全部日志,也是 32 条“碎片求救”的母本。
“没人帮,我数学好。”他含混答。
阿威一棍砸在他左肩,正是上周枪伤的位置,血纱布瞬间殷透。李朝阳眼前一黑,却借疼痛在脑子里重新跑了一遍公式:
——再挨 30 分钟,就能把下一批“失败回执”推迟到 1:45,那时国内银行夜班清算切换,招行会二次挂账,资金至少再冻 2 小时。
2 小时,足够林笙把纪录片素材剪成 60 秒短视频发出去。
他数着秒,把疼痛当节拍器,一秒一秒往下熬。
同一时刻,行政楼 3 层机房。老 k 被捆在 42u 机柜的立柱上,十指反扣,却仍能用脚尖敲击地面。
敲的是莫尔斯码——
(yav e is deyed)
他把 dey-59 的“59”敲了 59 下,停 3 秒,再敲 的区块高度 7-3-7-4-9-9。
机房隔音棉很厚,可楼板有一条 1 裂缝,直通楼下女厕。
女厕里,越南籍模特阿阮正假装补妆,耳朵贴地。她本是“狗推七组”的语音诱饵,此刻却成了老 k 的“人形天线”。
10 分钟后,这副“手套”被丢进垃圾车,垃圾车每晚 4 点准时去食堂喂猪。
李朝阳的“数学焰火”与老 k 的“脚底电报”在垃圾车里完成交汇,像两条不对称的函数,终于找到唯一交点。
垃圾车司机是湖南少年阿鬼,19 岁,因欠 20 万网贷被卖进来,白天铲猪粪,晚上运垃圾。
他欠李朝阳一个人情——上周他娘急性阑尾炎,园区“医务室”只给泻药,是李朝阳把仅剩的 200 元退烧贴塞给他,让他寄回家。
阿鬼捡起手套,用洗洁精洗掉油污,露出卫生巾上的 0/1 矩阵。
他不懂莫尔斯,但懂“二维码”。
副号的持有者,是林笙。
凌晨 4:29,林笙邮箱收到一封标题为“”的空白邮件,附件只有 9 kb 的 bp。
她放大图片,用 python 把 0/1 重新扫成字符串,得到 64 位 hash:
0000000000000000000c9d7e4f3c4c4f3d8f2a5b6c1d8e0f7a8b9c0d1e2f3a4
——正是老 k 手臂上那串。
林笙瞬间明白:李朝阳把“求救信号”写进了区块链不可篡改的时间戳,也把“生”与“死”的锚点钉在 这个区块。
她双手颤抖,把 hash 拆成两段,前 32 位做标题,后 32 位做正文,点击“发布微博”。
5:00,阿威打累了,把李朝阳拖回水牢。水牢 12 米深,水面漂着死老鼠和香烟屁股,一脚踩下去,粪臭与血腥味混成胶状,堵在鼻腔里。
李朝阳靠着墙,默默计算:
——国内 5 点,缅甸 3:30;
——招行 2 小时冻结窗口将在 5:30 关闭;
——只要 5:15 前再触发一次 dey-59,就能让 32 笔“失败”回执集体弹回,银行将强制退款,园区账面会瞬间蒸发 818 万;
——虎爷一定会暴怒,但也会把技术部所有人叫去查账,楼下守卫减半,是逃生的唯一缝隙。
他用脚趾在水面划了一道横线,像写下极限符号:
答案,必须自己算出来。
李朝阳闭上眼,把 1-1-2-3-5-8 的斐波那契数列当秒表,每数一个数字,就在墙上用指甲划一道。
划到 89 时,外面传来第一声枪响——虎爷发现 818 万不翼而飞,当场毙了技术主管。
划到 144 时,铁门被踹开,阿鬼满身是血冲进来:“哥,走!”
阿鬼手里攥着那张 20 万网贷的借条,已被血浸透,像一张作废的生死状。
李朝阳踉跄爬出水牢,左腿被铁丝划开 10 口子,却感觉不到疼。
他只知道:Δt 终于撑满 1800 秒,公式成立。
——延迟到账,延迟的是死亡;
——提前到账,提前的是生机。
6:00,天边泛起蟹壳青。
云南普洱边境,武警无人机起飞,航迹像一条长长的切线,直指 x 园区。
而园区里,李朝阳、老 k、阿鬼、阿阮,四个人拖着一条 13 公里的逃亡路线,像四颗离散的点,正朝着唯一交点狂奔。
他们身后,虎爷的吉普车远光灯亮起,像一道垂直的渐近线,越来越近。
身前,是 区块之后的新区块,,即将在 6:10 被挖出。
——那是区块链的“不可逆时钟”,也是他们的“生死下课铃”。
李朝阳把最后一口血沫吐掉,低声数:
“10、9、8……”
数字像焰火,在脑子里炸开。
——数学从未如此滚烫,也从未如此明亮。