好友
阅读权限10
听众
最后登录1970-1-1
|
winRAR会在每次运行的时候弹出一个窗口显示广告,网上虽有一些成品,但是为了安全起见,还是决定自己操刀
首先分析广告窗口,类名为 RarReminder。既然是创建窗口,可以选择在CreateWindowExA/W下断.
我们可以观察创建窗口的类名和标题,找到创建对应窗体的时候
回到对应的调用位置,找到该函数头部,直接返回即可
处理完这里之后发现,程序还会在标题提示距离购买许可剩下%d天
既然判断天数,而且winrar不联网也会出现这个提示,那么就说明可能是根据本地时间来做判断的
尝试修改本地时间,发现天数会发生变化。
那么在GetLocalTime和GetSystemTime下断。重新跑程序,发现只有一次调用,代码如下
000000013FA5AE94 | 48 8D 0D 35 EE 06 00 | lea rcx,qword ptr ds:[13FAC9CD0] |
000000013FA5AE9B | FF 15 EF 36 03 00 | call qword ptr ds:[<&GetLocalTime>] |
000000013FA5AEA1 | 33 C9 | xor ecx,ecx |
重新跑程序,对000000013FA5AEA1 下断,触发之后对13FAC9CD0下访问断。
因为程序会把系统时间保存在13FAC9CD0这个变量。既然保存了,那肯定是要提供其他地方去访问了
第一个访问点如下图。既然看到和key有关的,那么说明可能这个就是一个授权的函数
我们看到对0x13f9db200函数的返回值做判断。跟进这个函数,发现函数再一次访问13FAC9CD0。猜测此函数用来判断是否超过时间
综合上一层函数我们看到一些关于key的信息。而且函数有如下代码
000000013FA5A65C | 84 C0 | test al,al |
000000013FA5A65E | 74 04 | je winrar.13FA5A664 |
000000013FA5A660 | B0 01 | mov al,1 |
000000013FA5A662 | EB 68 | jmp winrar.13FA5A6CC |
做推测函数执行流程 先通过0x13f9db200判断是否超过时间,不超过则直接验证通过,超过则判断key的内容。那么我们直接让这个函数返回true就可以过掉限制了
最后直接用x64dbg打补丁即可
|
-
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|