Repository navigation
案例:用 REA 拆开 2006 年的千千静听 4.6.9(行为审计全记录) #5496
Kaiji-Z
started this conversation in
Show and tell
Replies: 2 comments
|
作者360的可以逆向看下。这家伙。。。 |
0 replies
|
有想法,千千静听可是当年的必备,老版的 ACDSee 看图可以逆向一下 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
说出来大家可能不信哈,KAIJI 拿 REA 拆 2006 年的千千静听,本来是去抓它偷隐私的。
结果拆完发现,这哥们儿老实得让人心疼。。。
**事情是这样的。**前段时间做怀旧选题,KAIJI 把千千静听 4.6.9(2006-12-18 构建,Alen Soft 出品)装进了虚拟机。2006 年的东西,现在还能双击就跑,启动音乐一响,整个人直接回到网吧包夜。
目标
温情归温情,KAIJI 想干的事其实很明确:给一款 2006 年的国民级免费软件做一次完整的行为审计——它连过哪些服务器、说过什么话、收没收集用户,全部用可复核的证据钉死,再把这些方法展示给完全不懂逆向的普通观众。
顺便看看,二十年前那批程序员的职业习惯,放到今天还算不算数。
问题
这软件当年最神的功能就是自动搜歌词——本地随便一个乱码文件名的 MP3,它三秒给你对上歌词,还带逐字卡拉 OK。
搜歌词,意味着它连着网、在传东西。那问题来了:它传歌词的时候,顺手传没传点别的?
老播放器连网,大家懂的都懂:上报你的听歌记录?传歌单?机器码呢?怀着这套预期,KAIJI 直接上了 REA。
REA 如何提供帮助
先验明正身。根目录那个 tt469.exe,REA 一跑,函数计数停在 8。
8 个函数的播放器?这数字糊弄不了人——UPX 壳(顺带一提,壳和真身这组对比,让 REA 的函数计数表意外兼职了壳检测器。。。)。真身是安装目录里的 TTPlayer.exe,未加壳,
rea analyze跑完:7,015 个函数,1,764 条字符串。然后字符串快扫直接把网络行为圈出来了——1,764 条里跟网络沾边的就一簇,lrc、asp、freedb、mailto,点开就是反编译,函数级细节再丢给 Ghidra 复核。整个审计的主线工作,基本就是围着 REA 的这份报告转的。
发现
口供一:报版本。 定期连
%sdll/ttp_ver.asp?ver=%s%s,做更新检查。这本身没什么,但它的 User-Agent 写的是MSIE 6.0——一个播放器,出门查个版本,还要假装自己是 IE6(也没准人家就是觉得这么写联网顺一点)。。口供二:问歌词。 歌词搜索定位到
CLrcSearchDlg::Run,请求打向千千静听自己的歌词服务器。口供三:交歌词。
www.ttplayer.com/dll/lrcup.asp,POST 明文四个字段:artist / title / album / lyrics,GB2312 和 BIG5 双编码角注。然后是最有意思的细节——发送端用户名那一栏,是空白虚线。数据齐全,但不留名。连 freedb 的 CDDB 握手串都是自报
anonymous@anonymous.com。哦对了,KAIJI 本来在这儿等着抓大新闻的,还特意去翻了导入表——
GetUserName,没有。GetComputerName,也没有。
读用户名?不读。读机器码?不读。整个程序压根没这两个函数。那为什么 KAIJI 还是说它「老实」呢?因为它老实得相当彻底:
注册表只读
Software\Winamp——读邻居的,自己的配置全在.ttpl_cfg / .ttvi_cfg / .skn随身文件里,拽着就走,绿色免安装。2006 年的绿色软件纪律,比现在某些登录才能看的工具体面多了。就,还挺戳的。
主线之外,全是时代彩蛋:
http://129.168.0.1/1.mp3——局域网 192.168 手滑写成 129,然后在成品里躺了二十年,没炸过,因为压根没人访问得通。0xCC CC CC,调试垫料,用 GBK 解开就是老玩家会心一笑的「烫烫烫」。mailto:ttplayer@21cn.com,一个死掉的 163 邮箱,往里寄信永远没人收。**笔录结论:这位当事人一辈子只说三句话——报版本、问歌词、交歌词。**不报用户名,不报机器码,不写注册表,歌词投稿连署名栏都空着。放在今天任何一款「智能」软件旁边,这份口供简直清新得不像话。
KAIJI 最后合上 Ghidra 的时候想的居然是:它不是不想认识你,它是那会儿的软件压根没这个习惯。。。
完整审计过程剪成了视频,链接回头补在评论区。环境:REA 6.4.0 + Ghidra 12.1.4,样本为公开历史版本,全程无脱壳需求(审计对象是安装版未加壳主程序)。
二十年前你只能听它的,现在你随时可以拆开它——大逆向时代,连童年回忆都不例外。
撰文:KAIJI(@Kaiji-Z)
样本、资料来源:TTPlayer 4.6.9 公开历史版本(2006-12-18 构建)· REA 6.4.0 · Ghidra 12.1.4
All reactions