LASDKJ1654gasdw 发表于 2020-3-21 22:16

winrar 5.61 x86 去弹窗 (顺带求教加密字符串的解决办法)

新人尝试的第一个破x解,啥都不懂,就看了爱盘里那些视频教程,瞎几把摸索了好几天总算是搞定了

首先破x解这个的目的是平时每次打开一个rar文件总要弹出2个窗口,感觉很烦,也不想去下别人的破解版,怕有毒
为了确保破解后在win10环境下能够确实有效,所以就决定在win10下破解
环境:win10 x64 1709 虚拟机 (你没看错,就是win10里面虚拟win10,没有固态硬盘建议直接实机操作,否则卡成狗)

1.首先用stud pe载入winrar.exe,把 软件重定位 关闭,点save
( lordpe 64位 环境下用不了,把爱盘里的所有pe工具都试了遍,貌似在x64环境下,只有studpe有这个功能 )

2.去广告
用od载入,一步步傻瓜式跟,发现在
004E2CBC   .E8 AF3FFCFF   call WinRAR.004A6C70
广告启动,直接nop掉,保存之后发现没有广告,第一步搞定


3.去试用期弹窗
还是一步步傻瓜式的跟,以为会和广告窗口一样简单,但是我错了
这个弹窗竟然是嵌在主界面的消息循环里的

004E2D00   >6A 00         push 0x0
004E2D02   . |6A 00         push 0x0
004E2D04   . |E8 A7EFFFFF   call WinRAR.004E1CB0
004E2D09   . |84C0          test al,al
004E2D0B   .^\75 F3         jnz short WinRAR.004E2D00
就是这个消息循环,你不能把它nop掉,因为它就是主界面的消息循环
而且弹窗随机在10-25次循环之后才会出现


然后跟进这一句
004E2D04          call WinRAR.004E1CB0
发现在运行到
004E202A          push eax      
004E202B          call dword ptr ds:[<&USER32.DispatchMess>]
这个call的时候,第10-25个循环内,弹窗会随机出现(有够阴险的,不知道花了我多少时间跟)


此时注意到右边注释里显示
pMsg = WM_TIMER hw = CB04F4 ("Desktop (evaluation copy)") ID = 0xA Callback = 0x0
这一行注释每次循环里内容都不一样
但只有在弹窗的那一次小循环里 id = 0xA, 此时我有一个脑洞
经过几个小时的瞎几把摸索,堆栈窗口看到eax的地址下面有一行的内容是0000000A,心中大喜

随便在下面找一处长一点的空白处,我选在
004E552C
这一行开始添加一段代码

004E552C          cmp dword ptr ss:,0xA         暴力对比之前在堆栈窗口找到的那个地址
004E5534          je WinRAR.004E2030                              如果相同就跳回不执行那个call
004E553A          nop(这一行可以去掉,不小心打错了)      
004E553B          call dword ptr ds:                  如果不同就执行call (不同话必须执行,否则主界面直接卡死,试了n多小时)
004E5541        jmp WinRAR.004E2031                           然后跳回


然后把
004E202B         call dword ptr ds:[<&USER32.DispatchMess>; \DispatchMessageW
修改成
004E202B         jmp WinRAR.004E552C
因为代码比原来的少一个字节,下面正好多出一个
004E2030         nop
然后把这行改成(当 cmp 对比相同后直接跳回就会产生出入栈不平衡,这里就手动加个出栈,如果直接跳转回来就走一步出栈)
004E2030         pop eax

完工,保存代码,打开winrar.exe
发现没有弹窗了,哦耶

然而。。。如果打开很多次,会有很小几率弹出一个弹窗
用od重新加载发现跟不到,算了,目的已经达到







最后有的人会问,为什么不直接搜索字符串
那是因为根本搜不到啊,字符串都加密的


我在论坛上搜怎么解密字符串,碰到加密字符串加密怎么办,但是根本搜不到解决办法
希望大神赐教,加密字符串应该怎么搞定

Hmily 发表于 2020-3-25 10:15

出现那个随机的弹窗你可以附加上去,然后通过堆栈调用,看看是哪。

加密字符串的下面不远处代码一般就是解密,一直跟踪一般就可以出来,或者对加密字符串下访问断点,一般访问的地方就是要解密了。

LASDKJ1654gasdw 发表于 2020-3-25 11:56

尝试了一下,发现根本没法分辨哪句命令是读取加密字符串
所有地方全部都是乱码。。。

还是谢谢H大了

bailemenmlbj 发表于 2020-3-26 11:30

支持折腾,加油

wuyifan520zhang 发表于 2020-4-7 09:00

支持一下.........en,我的WINRAR已经破解了......
页: [1]
查看完整版本: winrar 5.61 x86 去弹窗 (顺带求教加密字符串的解决办法)