Themida加壳的易游网络验证破解注册码模板山寨key以及如何抓版本号视频教程
这是软件界面。通过别人补丁的数据找到程序KEY。但是始终不知道版本号。
小白观看就好了,绝地求生插件VMP3.0下抓易游KEY以及版本号
0X00 扫盲
①网络验证系统:
网络验证系统采用动态加密技术,安全可靠,对山寨,本地验证等破解方法免疫。支持易语言,VC,VB,DELPHI,按键精灵,TC等主流编程开发语言。本系统内置多个反破解函数,可最大程度保证你的软件的安全。
②常见网络验证系统分类:
1、可可
2、E盾网络验证
3、飘零网络验证
4、注册宝
5、万捷
6、易游
7、天盾
8、Bsphp
9、丁丁
10、V盾
11、雷盾
12、百宝云
13、CC
常用的就这些了,恩.....
③Push窗体法(慎用),绕过登录框,但是容易出现暗桩,比如说蓝屏,格盘,关机,重启.....
通过打开软件查看登录窗口和点击登录的反应时间来判断,这是一款验证的软件。98%的外挂也使用这种方式来防止进行破解
④直接跳过注册/验证窗口到达功能窗口
0X01 开始
案例程序
爱尚YY客户端辅助,软件是14年的,年久失修,所以没有后期维护的了,一直显示初始化,就是后台网络关了,但是依然可以用来示范的,不耽误
根据经验这是一个飘零的网络验证系统
能看出是飘零,但是看不出版本号,这没关系,只要知道什么网络验证系统就够了
0X02 查壳
第一步,查壳
Vmp壳,EP段 .vmp0 .vmp1
但是,这个壳子或者这个软件有问题,在后面修改完之后是可以保存程序的。
0x03 分析
载入OD
不知为毛,想把程序跑一下,等壳子跑完看一下字符串啥的,无奈,程序出错
这并不碍事,CTRL+G到401000处
程序已经是解码状态了,vmp并没有把这vmp上
查找二进制字符串,查找FF 25
敲小黑板,解释一下什么是FF 25
FF 25是易语言的一个特征码,仔细观察可以发现jmp后面是word形式的跳,一般的是E9形式的跳,窗体创建代码就在jmp word上,所以FF25用于锁定主窗体代码
FF 25
jmp [addr function]
一般情况下那个地址里是某个函数的头部地址
而易语言的编译器利用FF25跳向支持库的地方和他的"主函数"很近。
所以-0-
总而言之。就是经验= =
吾爱的大表哥给的解释,不用多说,经验之得,不必深究
[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
/*
再说一下其他语言编写程序的特征
VB:
816C24
Delphi & BC++ :
740E8BD38B83????????FF93????????
MFC:
sub eax,0a
VC++:
sub eax,0a
易语言:
FF 55 FC 5F 5E或(e-debug)
万能断点:
F3A58BC883E103F3A4E8
OD载入程序---F9运行---Alt+M打开内存镜像---Ctrl+B搜索特征码---Ctrl+G跳到找到的地址---F2下断点---返回程序,点击按钮---断下后F7进入CALL(此处即为事件代码)
*/
来到第一个FF 25 很明显不是,CTRL+L,下一处
[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
00464241 /$ B8 06000000 mov eax, 0x6
00464246 |. E8 77000000 call 最新爱尚.004642C2
0046424B |. FC cld
0046424C |. DBE3 finit
0046424E |. E8 C620FFFF call 最新爱尚.00456319
00464253 |. 68 1A664500 push 最新爱尚.0045661A
00464258 |. B8 03000000 mov eax, 0x3
0046425D |. E8 60000000 call 最新爱尚.004642C2
00464262 |. 83C4 04 add esp, 0x4
00464265 |. E8 4C5FFEFF call 最新爱尚.0044A1B6
0046426A |. E8 9E0DFEFF call 最新爱尚.0044500D
0046426F |. E8 6CC8FBFF call 最新爱尚.00420AE0
00464274 |. E8 BF18FEFF call 最新爱尚.00445B38
00464279 |. E8 32AFFAFF call 最新爱尚.0040F1B0
0046427E |. E8 1649FCFF call 最新爱尚.00428B99
00464283 |. E8 7E90FAFF call 最新爱尚.0040D306
00464288 |. E8 6890FAFF call 最新爱尚.0040D2F5
0046428D |. E8 B075FBFF call 最新爱尚.0041B842
00464292 |. E8 2490FEFF call 最新爱尚.0044D2BB
00464297 |. E8 BF3CFEFF call 最新爱尚.00447F5B
0046429C |. E8 2EE6FBFF call 最新爱尚.004228CF
004642A1 |. 68 1A6D0152 push 0x52016D1A
004642A6 |. E8 11000000 call 最新爱尚.004642BC
004642AB |. 83C4 04 add esp, 0x4
004642AE |. E8 03000000 call 最新爱尚.004642B6
004642B3 |. 33C0 xor eax, eax
004642B5 \. C3 retn
004642B6 $ FF25 C0CC5800 jmp dword ptr ds:[0x58CCC0] ; 最新爱尚.0048E170
004642BC $ FF25 C4CC5800 jmp dword ptr ds:[0x58CCC4] ; 最新爱尚.0048E1A0
004642C2 $ FF25 C8CC5800 jmp dword ptr ds:[0x58CCC8] ; 最新爱尚.0048DD50
004642C8 $ FF25 B8CC5800 jmp dword ptr ds:[0x58CCB8] ; 最新爱尚.0048E310
004642CE $ FF25 A4CC5800 jmp dword ptr ds:[0x58CCA4] ; 最新爱尚.0048DDD0
004642D4 $ FF25 B0CC5800 jmp dword ptr ds:[0x58CCB0] ; 最新爱尚.0048E1E0
004642DA $ FF25 98CC5800 jmp dword ptr ds:[0x58CC98] ; 最新爱尚.0048E100
004642E0 $ FF25 9CCC5800 jmp dword ptr ds:[0x58CC9C] ; 最新爱尚.0048DD80
004642E6 $ FF25 B4CC5800 jmp dword ptr ds:[0x58CCB4] ; 最新爱尚.0048E250
004642EC $ FF25 A8CC5800 jmp dword ptr ds:[0x58CCA8] ; 最新爱尚.0048E120
004642F2 $ FF25 A0CC5800 jmp dword ptr ds:[0x58CCA0] ; 最新爱尚.0048DD90
004642F8 $ FF25 ACCC5800 jmp dword ptr ds:[0x58CCAC] ; 最新爱尚.0048E140
004642FE $ FF25 BCCC5800 jmp dword ptr ds:[0x58CCBC] ; 最新爱尚.0048E230
往上找有一个push 0x52016D1A ,复制下来。
0x04 push
查找命令 push 10001
结果是会搜到很多处,ctrl + l 搜索下一处
一直找一直找,你就会发现,为什么会有这么多,这就说明这个程序功能有很多,
☆ 可能遇到的相关问题小计:
我可以替换窗体。但是我ctrl+f push 0x10001,找到这类的0x520xxx窗体有30多个,哪个才是主窗体呢?难道我要一个一个的试着来替换窗体吗???
有什么比较有效的方法能快速锁定主窗体呢?
吾爱的表哥们给的解答
其实这里有个小技巧,只要看到有跳转,大跳转关键call的地方复制下来准没错
这种的直接跳过得了
比如:
[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
004121A4 /. 55 push ebp
004121A5 |. 8BEC mov ebp, esp
004121A7 |. 81EC 04000000 sub esp, 0x4
004121AD |. BB 06000000 mov ebx, 0x6
004121B2 |. E8 BEEFFEFF call 最新爱尚.00401175
004121B7 |. 68 04000080 push 0x80000004
004121BC |. 6A 00 push 0x0
004121BE |. 8B5D 08 mov ebx, [arg.1]
004121C1 |. 8B03 mov eax, dword ptr ds:[ebx]
004121C3 |. 85C0 test eax, eax
004121C5 |. 75 05 jnz short 最新爱尚.004121CC
004121C7 |. B8 DCCC5800 mov eax, 最新爱尚.0058CCDC
004121CC |> 50 push eax
004121CD |. 68 03000000 push 0x3
004121D2 |. BB 90784600 mov ebx, 最新爱尚.00467890
004121D7 |. E8 F2200500 call 最新爱尚.004642CE
004121DC |. 83C4 28 add esp, 0x28
004121DF |. A3 50FEBC00 mov dword ptr ds:[0xBCFE50], eax
004121E4 |. 68 02000080 push 0x80000002
004121E9 |. 6A 00 push 0x0
004121EB |. 68 00000000 push 0x0
004121F0 |. 6A 00 push 0x0
004121F2 |. 6A 00 push 0x0
004121F4 |. 6A 00 push 0x0
004121F6 |. 68 01000100 push 0x10001
004121FB |. 68 A2060106 push 0x60106A2
00412200 |. 68 A1060152 push 0x520106A1
00412205 |. 68 03000000 push 0x3
0041220A |. BB 00494600 mov ebx, 最新爱尚.00464900
0041220F |. E8 BA200500 call 最新爱尚.004642CE
00412214 |. 83C4 28 add esp, 0x28
00412217 |. 8BE5 mov esp, ebp
00412219 |. 5D pop ebp
0041221A \. C2 0400 retn 0x4
0x05 修改
之后重新回到FF 25
找到这个地方,把搜到的push窗体替换保存
替换之后结果是这样,之前说过,这个壳或者程序有问题,加了vmp壳之后,修改可以保存的。。。。。。
第一次遇见这种情况,之后我们把所有的都修改一遍,保存....
中间可能会有错误的,没关系,挨个试一下就好
最后是push 0x52010001
保存出来之后是这个
程序还是继续可以用的,毕竟网络验证只是验证收费登陆
☆可能遇到的问题②
(1)易语言程序快速找push窗体特征
易语言程序的窗体都是 push 520*****
比如第一窗体通常都是 push 52010001
用push法破解某些外挂的时候,可以用我这个方法迅速查找到其他窗体
查找二进制字串 68 ?? ?? ?? 52
Ctrl + L 查找一下个 就可以快速分析出哪个是外挂窗体
(2)
推荐一款查找易语言窗体事件的工具(打包)
(3)窗口闪退
找到闪退 RET掉
不要以为加了vmp壳就无解了,很多作者都是会写软件不会加密软件,以为随便加个壳就可以安然无忧了,那仅仅只是加个壳而已。