首先声明下,本人的脚本学习自kissy的bypass 2.0.0.80。
用此方法可无key脱Winlicense的大部分壳,至少目前还没发现脱不掉,只是有时候补OEP还是满痛苦的。。:)
用记事本自己用 2.1.0.10加了壳做例子, 简略说下需要自己得到的几个变量:
1,FirstJmpAddress : 0115ED8C 。 此地址由运行时跳出出错对话框时,按暂停,调出堆栈,点最下面的地址进入,在return时跟踪即可获得。
2,CmpEcxEaxAddress : 0102919C 。重新运行程序,在第一次中断时,点下面的jmp进入,搜索cmp ecx,eax,下断点,运行后即可获得需要断的cmp ecx,eax的地址。
3,First CheckWord : 3B7EBA06 。 在cmp ecx,eax中获得的第一个check dword,把ecx改成与eax一致即可。
4,Second CheckWord : 4A0A005C 。 在cmp ecx,eax中获得的第二个check dword,把ecx改成与eax一致即可。
5,SecondDllAddress : 01014839。 先由kernel.dll的基地址查找模块获得所有dll的地址,再由其第二个dll的地址查找获得其放第二个dll地址的地址SecondDllAddress 。
在脚本运行时,依次输入以上数据,即可无KEY通过验证。
而对于2.1.0.0或其以下版本需要脱壳的话,则需把所用脚本进行一些修改后放入老外的WL.&.TM.VM.dumper.&.IAT.CodeEnc.Fixer.v2.6.0-SnD脱壳脚本中即可,上传的资源中已包括。
具体的例子和脚本本人已传上资源。http://download.youkuaiyun.com/source/2622438