[我的代码传]更改FastStoneCapture使用期限

往昔

依稀还记得那段在记忆中逐渐模糊的大学时光:那天是某个月的周四晚上。
“哎呀,明天就得交实验课作业的,交报告就算了怎么报告还要截图。”我满脸疑问的说着。
“是啊,太诡异,明明有原件还要搞个复印件,这是搞个球。”舍友一边赶着报告一边附和着。
“话说这报告怎么截,我三页子呢,就算按PtrSc也只能...”还没等我说完,一个煞笔舍友说了:“用FastStone啊,滚动截图。”
“这么神奇还滚动截图,你赶紧发过来给我试试...不是啊,你怎么发的怎么还是正版的,大哥。”
“管他呢,你点试用不就好了,你写个报告要30天那么久?用完就泄啦。”

1.png

就这样在说不出具体的日期里,FastSone的滚动截图深深的留在我的脑海里,以至于我毕业设计的报告也是使用的它...

如今

如今也毕业两年了,直到最近看到有人发的FastStone的注册码分析过程我才又回想起来,我开始反思既然我那么深爱着这个软件,我能为它做点什么呢?

看着试用期30天剩余日期一天天的减少,就像当时数着倒计时高考以及大学毕业一样,心中倍感交加,于是对于正在学习逆向工程的我,下定了决心要把时间倒流。

尝试

说是要倒流试用时间,可谈何容易呢?该不会右下角更改系统时间就好了吧...我对自己这种忽然袭来的惊为天人的想法感到可笑和难堪,心想不应该这么容易吧...

2.png

草,成了,原本做好面对重重困难的心里准备的我,突然感到一丝难过,我的帖子是不是就这么终结了呢?

既然这样,我就改它的安装时间好了,这样应该会显得更加的“高级”一点,于是我又重新振奋了起来,屁颠屁颠地查了壳并打开了x32dbg,随手搜了30。

0.png
3.png

万万没想到又直接出来了,很好,非常好,很有精神,然后我们直接来到提示语附近的汇编代码,轻轻往上滑,一个刺眼的跳转出现在了眼前:

4.png

这也太直接了吧,我甚至一看到1E就知道这里肯定就是关键跳了。因为1E的十进制就是30,试用期期限的30,那很明显,eax肯定就是一个当前第几天的计数值了,也就是天数差(当前日期减去安装日期)。

我长叹一口气,用着工地英语说道:“Thats so great!”我开始搞不懂我自己了,难道简单快速的解决问题不好吗?我为什么还要对没有如期而至的困难感到难过呢?这不就是吃饱了撑着吗?

这一刻我释怀了,我吹着口哨,网抑云不再抑郁。随后经过一番过于简单的运行,我找到了时间差值来源的call:

5.png

在进去之前,为了防止有大量的未被识别的系统函数,我轻快地点开了IDA,并把delphi的相关符号加载,这样Faststone就会显得越来越亲切,对,就像妈一样。

7.png

在x32dbg里跟进了call,习惯性的滚动了滚轮,一看,哎呀我的妈,它糊了!

6.png

从开始的更改系统时间,查壳,字符串搜索都那么顺利,为什么要这里就糊了。我仔细思考着这些诡异的过程,缓缓说出了一个让我自己也感到充满水平的四字成语:欲盖弥彰。

这里其实就是一个简单的花指令,其实我们不要动滚轮就行了,亦或者把前面的垃圾数据改成0:

8.png

当然,我们也可以在IDA里看,这样也是十分清楚的。我们得清楚自己不能被一时的花招所扰乱,遵循自己的原则,先把这层的call都跑过一次,看能不能得出什么信息。

这次结合了IDA,又经过一次算不上困难回溯,发现三个call的功能也十分明显:

9.png

注意时间的返回会记录在浮点寄存器中,第一个call返回的便是安装的时间。可以说在使用了IDA并加载对应的符号文件后真的是事倍功倍唷。

整个过程其实就是跟踪值来源,分析call功能,跟踪值来源...这样一个反复且颇有枯燥的过程,继续跟进第一个call,使用上述的方法我们最后到达了一个call里:

10.png

此时的我粗略一看,哎呀妈呀全是shr,and位运算心里突然起了毛。可冷静下来仔细一想,有什么加密是全得位运算的,运算类型的单一不就是暗示了什么吗?

经过一顿分析,我得出了答案:这里其实是拿取eax的高16位,通过位运算得出ax年,dx月,cx日,也就是说,这个高16位eax存储了年月日,并通过位移的方法提取出来。

那事情就很简单的,就拿例中eax的高16位为5163h来说,他的二进制是101 0001 0110 0011,根据算法,前6位(101000)再加上7BC(1980标准校对时间)就是年,后4位是月,再后面是日:

11.png

当我分析出来的时候,无不为自己的聪明才智所折服。天哪,这么简单我怎么看了那么久...

接下来的事情显而易见了,只要找到这个eax高16位的来源就可以了,最后通过层层回溯我们来到了一个神秘的地方:

12.png

当然,得通过IDA和x32dbg共同调试才能看清很多函数...话说回来,当我看到这个长得那么像路径的字符串的时候,我已经猜测十有八九的这个安装日期是不是藏在里面:

13.png

果然是这样,我拍着桌子大声的呐喊,不知情的人以为我都疯了。这看上去似乎是个配置文件,我也搜到了目标值(这里被我改了)。

到这里,我长叹了一口气,看来是到了结束的时候呢。无论上学的时光多么美好,该来的还是得来了。

小时候渴望成为大人,想买什么就买什么。大学的时候渴望早点毕业,期盼甩开作业,无限期暑假的那一天的到来。如今我只想回到过去,在那充满欢声笑语煞笔舍友的宿舍里,哈哈大笑。

后续

锵锵锵,问题来了,不想手动修改文件怎么办呢?这时候我诞生了一个惊奇的想法,用一个工具修改成当前天数,这样时间就会永远定格在30天。于是我打开了vs较为顺畅的写下了些代码:

WORD getResult(WORD year, WORD month, WORD day) {
    WORD from1980 = year - 1980;  //现在到1980的差值
    WORD encodeYear = from1980 << 9;
    WORD encodeMonth = month << 5;
    WORD encodeDay = day;
    WORD result = encodeYear | encodeMonth | encodeDay;
    cout << "结果为:" << result << endl;
    return result;
}

毕竟都知道数据格式了,位运算即可,最后盛上源码和成品:
点击我进入到gayhub.com
成品:
https://share.weiyun.com/CHS2PWGq

使用方法:找到C:\Users\用户名\AppData\Local\FastStone\FSC目录,将该exe放在下面并运行即可。

ps:使用前请自行备份fsc.db

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342