water201 发表于 2021-11-12 19:02

vmprotect 3.5的壳居然搜索字符都找不到了

本帖最后由 water201 于 2021-11-12 23:44 编辑

今天遇到一个vmp3.5的壳,恳请论坛老友们指导一下思路

一、文件分析
文件是一个.dll文件,需要exe文件加载启动
peid查不出壳,Exeinfo可以


二、使用论坛的OD,可以启动文件,先把程序运行起来

点击登录
1、首先按常规思路,ctrl+E,打开模块,选择需要跟踪的dll文件

Executable modules, 条目 44
基址=1D040000
大小=00B1D000 (11653120.)
入口=1DB35451 chanlun.<ModuleEntryPoint>
名称=chanlun
路径=D:\tdx202006重回经典打板专用\T0002\dlls\chanlun2.0版.dll


然后就是分析->分析代码,
分析->从模块中删除分析,
中文搜索引擎->智能搜索,居然什么也搜索不出来?


2、改用断点,下BP CreateFileA,

断下之后,ctrl+F9,2次,到了插件的地方


再直接使用中文搜索引擎,智能搜索,可以看到关键文字了

因为有试用时间,在这里可以看到关键的中文提示了。
找到关键的有剩余时间的地方下断点,

往上面翻大概30行左右
这个关键call以后,就在EAX的值看到了asc字符串,这个是需要修改的


1DB71A5A    8945 D0         mov dword ptr ss:,eax |这里改eax的asc值改为:17812
1DB71A5D    8B45 D0         mov eax,dword ptr ss:
1DB71A60    50            push eax
1DB71A61    8B1D C803D11D   mov ebx,dword ptr ds:
1DB71A67    85DB            test ebx,ebx
1DB71A69    74 09         je short 1DB71A74
记下测试还没有过期的数值(17812),使用大白补丁工具打补丁


然后修改寄存器的时候出错

根据上面OD的数据

1DB71A5A    8945 D0         mov dword ptr ss:,eax |这里改eax值17812所以,我把首字节填写89,就不会报错了,但是测试,不能弹出这个EAX的值,
填写我自己在OD上修改可以通过的ASC数值,也没有生效。
是不是哪一步操作不对?
或者这样的地址该用什么工具获取,我看模块里面也没有1D1B1A5A这样的地址
页: [1]
查看完整版本: vmprotect 3.5的壳居然搜索字符都找不到了