Cainong
文章8
標籤19
類別0
VoiceMeeter的逆向与破解

VoiceMeeter的逆向与破解

前言

如果您看到了这,您需要知道的:

我不是专业的逆向人员,一定会有错误,遗漏的地方,您可以联系我指正或交流

但请注意,不表明错误地方就对我文章指点不足的,我不接受

其次,这不是教程,您需要有一定的逆向基础

起因

疫情期间,由于每天上课摸鱼,大部分时间都和朋友在语音

我便需要一些整活神器,来在与语音里爆破我的朋友

我想起几年前发现的神器——VoiceMeter

这玩意太强大了,除了基本的混响,可视化地将音频通道显示出来,简直不要太方便

后来慢慢的我发现VoiceMeter Banana的功能不够用了

但是Potato是要收费的

虽然不贵,但是在国内支付VISA卡不是一般的麻烦

更何况我自己连VISA都没。。。

那没办法,我就看看我的三脚猫逆向能不能搞定他吧

分析

以下基于3.0.2.2版本

Google出来的教程都是使用的OD

我懒,反正静态,IDA不香嘛

那就开干吧

先看看注册界面

uhmmm…有个Activate

直接64位IDA拖进来,分析一通

一上来就先看看Strings好了

Activate…嗯?

IYAR_H07_LF_4JI@2__FW_N.png

直接跳到注册成功字符串的调用

![_KYF30_RAM`BSQ963H227_L.png](https://s2.loli.net/2022/05/07/hT37FJgvPLsXaYE.png)

有点明显,甚至不用看伪代码

那就直接把jnz改成jz:

00103A3 75 19 ===> 00103A3 74 19

_4CD~_C0S586@NLRCE3MD21.png

齐活了?

吗?

几天后…

草,这玩意爆激活了,除了激活界面乱输能提示成功以外,别的地方和没激活一点区别也没有

我看到似乎网上激活后Challenge的字符会变绿,或许那就是关键之处?

看了下,变绿后Activate按钮会变成绿色的ACTIVATED

搜下ACTIVATED。。

寄!搜不到

那算了,让我们回到伪代码

2YJ05DL~2OBCHJXP5~N39_O.png

我们发现这里与三个函数有关,并且后面的Email和Serial似乎都告诉着我们这俩函数的作用

唯独有一个sub_14000F530

进入这个函数,我们发现他的返回值不是0i64就是1i64

__8S5O5C@4Z3~ZO8QWS_OH0.png

鲁迅先生说过:逆向的精髓在于大胆尝试

我们大胆猜测,返回1i64就代表激活成功

返回1i64的条件是这个if中qword_140135950和sub_14000F2D0(a3)这俩玩意同时等于1

进入sub_14000F2D0。。

3NFRPZ3J_C__H16_V_VDOF1.png

妈的 又臭又长 不看了 直接大胆改了他

回到汇编,其实跳转的条件就是eax寄存器为1嘛

那就直接让eax寄存器变成1吧(

cmp     eax, 1 ===> mov     eax, 1

也就是:

00EB1E 83 F8 01 ===> 00EB1E B8 01 00 00 00   

BMU__~XYVLZ_8RNPC_WTQ_5.png

齐活了。。吧

先这样用着,以后有问题再更新

博主:Cainong
文章連結:https://cainongw.cn/2022/05/07/voicemeter-fxxk/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×