Patch网络验证的返回时间
本教程由学逆向Thx赞助播出(“哎呀我摔倒了要你们评分Thx给我才能起来{:5_187:}”)、悬赏帖:https://www.52hb.com/thread-31059-1-1.html
逆向前言:很简单的小程序,教大家怎么样摩擦它
逆向正文:
首先,程序判断自身是否过期,目前我只知道这两个思路
1.服务器给出到期时间A,程序自身通过取网络时间或者本地时间,两者相比
2.服务器给出最终判断结果,或者由程序自主计时验算
据我所知,大概就是这两种,而刚好本次的课件就是第一种
讲道理这种有试用期,有正版号的程序,还不带壳,都可以疯狂摩擦
它是服务器给出一个时间点,,然后自己再获取网络时间
所以这时候,我们要么修改服务器返回给程序的时间,要么就去修改网络时间
讲道理,修改网络时间比较简单,现在教一下这两种方法
这个程序比较怪,,自身貌似是静态编译的,但是按钮事件却不在这里
如果你去00401000,搜索FF55FC5F,是断不下这个按钮的,必须要去这个模块里面搜
我还是第一次见这样的程序,不知道效果是怎么做出来的,,
这里是这个登录按钮的按钮事件
然后大家看他的模块
Framework.dll
他是存在一个这样的dll,这个就是作通讯用,,,
大家要注意这个局部变量,,里面好像是存放一些返回数据,,等会的到期时间就是从这里出来的
到这里就是出现了到期时间,,其实讲道理,这个机器开启了试用对吧?时间是一天
当你注册以后,去登录这个帐号,它不是特别可能一天后就删除你这个号,一般都是判断到期时间的,
所以,也就是说,我们只需要一个过期的帐号,再去修改这个到期时间,就可以了,,,
所以jmp补码什么的,不用我教了吧?
---------------------------------------------------------
然后第二点,我们去修改他获取的网络验证时间
其实讲道理我这里不明白的是,他服务器返回的是一个时间日期类型的时间,,所以他这里好像这两个值,是存放的这个日期
但是我不知道他是怎么换算的,,我记得用GetLocalTime,你获取出来的值,在OD中也是这两个位置,都放在eax跟edx
所以我想知道他eax和edx分别是怎么计算的?有老哥懂的可以说一下,Thank you!
我们看上面的call,我箭头处的
**** Hidden Message *****
处女座干起事来就是不一样,教程越来越棒~ shy牛的我必须来看看下 好教程,支持楼主。。。。。。。 看到一半没有了!!好文章,顶下 流弊啊 学习了 楼主的教程写得越来越好了不知道是否有样本学习?先回复看看 6666给力学习到了 吃水不忘打井人,给个评分懂感恩!