PVS-Studio分析

Posted 搬砖的码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PVS-Studio分析相关的知识,希望对你有一定的参考价值。

PVS-Studio是一个静态代码扫描工具,还不错。

先通过dnspy调试主进程可以发现检查授权文件的的进程是一个子进程,如:

PVS-Studio.exe --checkreg=yes --lic-file="D:\\pvs.lic"

因此要解决授权问题,核心应该是调试PVS-Studio.exe这个进程。通过命令行分析我们可以知道该进程肯定是要读取授权文件才能查询授权状态,因此Windows API的kernal32.CreateFile、kernal32.WriteFile都可以作为关键点来作为突破口。

在x64dbg中调试PVS-Studio.exe,在kernal32.WriteFile处下断点,可以找到类似下面的代码:

000000014001E4C0 | 55                                    | push rbp                                         |
000000014001E4C1 | 41:57                                 | push r15                                         |
000000014001E4C3 | 41:56                                 | push r14                                         |
000000014001E4C5 | 41:55                                 | push r13                                         |
000000014001E4C7 | 41:54                                 | push r12                                         |
000000014001E4C9 | 56                                    | push rsi                                         |
000000014001E4CA | 57                                    | push rdi                                         |
000000014001E4CB | 53                                    | push rbx                                         |
000000014001E4CC | 48:81EC E8000000                      | sub rsp,E8                                       |
000000014001E4D3 | 48:8DAC24 80000000                    | lea rbp,qword ptr [rsp+80]                    |
000000014001E4DB | 48:C745 60 FEFFFFFF                   | mov qword ptr [rbp+60],FFFFFFFFFFFFFFFE       |
000000014001E4E3 | 88CB                                  | mov bl,cl                                        |
000000014001E4E5 | 0F57C0                                | xorps xmm0,xmm0                                  |
000000014001E4E8 | 0F2945 C0                             | movaps xmmword ptr [rbp-40],xmm0              |
000000014001E4EC | 48:C745 D0 00000000                   | mov qword ptr [rbp-30],0                      |
000000014001E4F4 | 48:C745 D8 07000000                   | mov qword ptr [rbp-28],7                      |
000000014001E4FC | 48:C745 48 00000000                   | mov qword ptr [rbp+48],0                      |
000000014001E504 | C645 5F 00                            | mov byte ptr [rbp+5F],0                       |
000000014001E508 | 48:8D4D C0                            | lea rcx,qword ptr [rbp-40]                    |
000000014001E50C | 48:8D55 48                            | lea rdx,qword ptr [rbp+48]                    | var_expire_time
000000014001E510 | 48D45 5F                            | lea r8,qword ptr [rbp+5F]                     | var_license_type
000000014001E514 | E8 B7DAFFFF                           | call <pvs-studio.get_license_details>            | get_license_details
000000014001E519 | 84DB                                  | test bl,bl                                       |
000000014001E51B | 74 3C                                 | je pvs-studio.14001E559                          |
000000014001E51D | 85C0                                  | test eax,eax                                     |

     上面的pvs-studio.get_license_details就是我们想找的那个函数,一共有三个地方引用这个函数。所以我们将get_license_details这个函数改成下面这样:

000000014001BFD0 | 3641:C700 03000000                    | mov dword ptr [r8],3                          | set license  3, enterprise
000000014001BFD8 | 36:C702 809277E8                      | mov dword ptr [rdx],E8779280                  | set expire time, 2093/8/3....
000000014001BFDF | 90                                    | nop                                              |
000000014001BFE0 | B8 03000000                           | mov eax,3                                        | set return  3, valid license 
000000014001BFE5 | C3                                    | ret                                              |

     这将会无视授权文件,直接返回授权类型并设置一个巨大无比的试用期限,然后直接返回3。这样你的目的就达到了。

 

 

安装包下载地址:

链接: https://pan.baidu.com/s/10j9cnmqT8FUwBbuKxjNXyw?pwd=ab7i 提取码: ab7i 

 

方差分析ANOVA单因素方差分析协变量方差分析ANCOVA重复测量方差分析双因素方差分析( two-way ANOVA)多元方差分析MANOVA多元协方差分析MANCOVA

方差分析ANOVA、单因素方差分析、协变量方差分析ANCOVA、重复测量方差分析、双因素方差分析( two-way ANOVA)、多元方差分析MANOVA、多元协方差分析MANCOVA

目录

以上是关于PVS-Studio分析的主要内容,如果未能解决你的问题,请参考以下文章

多因素方差分析与回归分析有啥异同啊?

方差分析ANOVA单因素方差分析协变量方差分析ANCOVA重复测量方差分析双因素方差分析( two-way ANOVA)多元方差分析MANOVA多元协方差分析MANCOVA

Clickhouse(流量分析(三).路径分析案例)

机器学习之数据探索——数据特征分析(分布分析)

团队项目-需求分析报告

NLP第九篇-句法分析