吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12539|回复: 22
收起左侧

[原创] SMC实现VProtect patch HWID

  [复制链接]
little3388 发表于 2011-8-20 10:08
本帖最后由 little3388 于 2011-8-20 13:59 编辑

方法:找patch地址,并patch 合法HWID,过效检、写SMC代码

本代码在V1.91与V1.88测试通过,2.0X还未测试,本文只是抛砖引玉。


思路参考:http://www.52pojie.cn/thread-104750-1-1.html
332.jpg
0126E000 >  60              pushad                                            ; 附加段开始
0126E001    BF 3C800101     mov     edi, <&KERNEL32.CreateFileW>              ; 前提要增加输入表
0126E006    8B07            mov     eax, dword ptr [edi]                      ; 分别是IPHLPAPI.GetAdaptersInfo
0126E008    A3 00E12601     mov     dword ptr [126E100], eax                  ; 与msvcrt.strcmp
0126E00D    C707 1AE02601   mov     dword ptr [edi], 0126E01A
0126E013    61              popad
0126E014    EB 26           jmp     short 0126E03C
0126E016    C3              retn
0126E017    90              nop
0126E018    90              nop
0126E019    90              nop
0126E01A    90              nop
0126E01B    FF05 20E52601   inc     dword ptr [126E520]                       ; 过效检
0126E021    833D 20E52601 0>cmp     dword ptr [126E520], 2
0126E028    75 09           jnz     short 0126E033
0126E02A    3E:C74424 04 D0>mov     dword ptr ds:[esp+4], 0126E1D0            ; 指原程序文件名,可改名
0126E033  - FF25 00E12601   jmp     dword ptr [126E100]
0126E039    C3              retn
0126E03A    90              nop
0126E03B    90              nop
0126E03C    60              pushad                                            ; Hook IPHLPAPI.GetAdaptersInfo 开始
0126E03D    BF 1FD02601     mov     edi, <&IPHLPAPI.GetAdaptersInfo>
0126E042    8B07            mov     eax, dword ptr [edi]
0126E044    A3 00E82601     mov     dword ptr [126E800], eax
0126E049    E8 00000000     call    0126E04E
0126E04E    5F              pop     edi
0126E04F    83C7 40         add     edi, 40
0126E052    8BD8            mov     ebx, eax
0126E054    2BFB            sub     edi, ebx
0126E056    83EF 05         sub     edi, 5
0126E059    68 00E32601     push    0126E300
0126E05E    6A 40           push    40
0126E060    6A 01           push    1
0126E062    50              push    eax
0126E063    FF15 6C800101   call    dword ptr [<&KERNEL32.VirtualProtect>]    
0126E069    C603 E9         mov     byte ptr [ebx], 0E9
0126E06C    43              inc     ebx
0126E06D    68 00E32601     push    0126E300
0126E072    6A 40           push    40
0126E074    6A 04           push    4
0126E076    50              push    eax
0126E077    FF15 6C800101   call    dword ptr [<&KERNEL32.VirtualProtect>]    
0126E07D    893B            mov     dword ptr [ebx], edi
0126E07F    61              popad
0126E080  - E9 4B65DAFF     jmp     010145D0
0126E085    C3              retn
0126E086    90              nop
0126E087    90              nop
0126E088    90              nop
0126E089    90              nop
0126E08A    90              nop
0126E08B    90              nop
0126E08C    90              nop
0126E08D    90              nop
0126E08E    FF05 00E52601   inc     dword ptr [126E500]                       ; Hook Patch
0126E094    833D 00E52601 0>cmp     dword ptr [126E500], 1
0126E09B    75 4E           jnz     short 0126E0EB
0126E09D    60              pushad
0126E09E    E8 00000000     call    0126E0A3
0126E0A3    5F              pop     edi
0126E0A4    83C7 70         add     edi, 70
0126E0A7    8B5D 7C         mov     ebx, dword ptr [ebp+7C]
0126E0AA    81C3 B57D0300   add     ebx, 37DB5
0126E0B0    2BFB            sub     edi, ebx
0126E0B2    83EF 05         sub     edi, 5
0126E0B5    68 00E32601     push    0126E300
0126E0BA    6A 40           push    40
0126E0BC    6A 01           push    1
0126E0BE    53              push    ebx
0126E0BF    FF15 6C800101   call    dword ptr [<&KERNEL32.VirtualProtect>]    
0126E0C5    C603 E9         mov     byte ptr [ebx], 0E9
0126E0C8    43              inc     ebx
0126E0C9    68 00E32601     push    0126E300
0126E0CE    6A 40           push    40
0126E0D0    6A 04           push    4
0126E0D2    53              push    ebx
0126E0D3    FF15 6C800101   call    dword ptr [<&KERNEL32.VirtualProtect>]    
0126E0D9    893B            mov     dword ptr [ebx], edi
0126E0DB    8B2D 00E82601   mov     ebp, dword ptr [126E800]
0126E0E1    83C5 05         add     ebp, 5
0126E0E4    892D 00E42601   mov     dword ptr [126E400], ebp
0126E0EA    61              popad
0126E0EB    8BFF            mov     edi, edi
0126E0ED    55              push    ebp
0126E0EE    8BEC            mov     ebp, esp
0126E0F0    FF25 00E42601   jmp     dword ptr [126E400]
0126E0F6    90              nop
0126E0F7    90              nop
0126E0F8    90              nop
0126E0F9    90              nop
0126E0FA    90              nop
0126E0FB    90              nop
0126E0FC    90              nop
0126E0FD    90              nop
0126E0FE    90              nop
0126E0FF    90              nop
0126E100    90              nop
0126E101    90              nop
0126E102    90              nop
......
0126E110    90              nop
0126E111    90              nop
0126E112    90              nop
0126E113    C747 4C 0500000>mov     dword ptr [edi+4C], 5                     ; Patch HWID
0126E11A    60              pushad
0126E11B    FF05 10E52601   inc     dword ptr [126E510]
0126E121    833D 10E52601 0>cmp     dword ptr [126E510], 1
0126E128    75 1B           jnz     short 0126E145
0126E12A    8B5D 54         mov     ebx, dword ptr [ebp+54]
0126E12D    81C3 BC7D0300   add     ebx, 37DBC                                ;SMC关键点
0126E133    891D 00F72601   mov     dword ptr [126F700], ebx
0126E139    81EB 3CBE0100   sub     ebx, 1BE3C                                      ;patch关键点
0126E13F    891D 00FA2601   mov     dword ptr [126FA00], ebx
0126E145    FF35 00FA2601   push    dword ptr [126FA00]
0126E14B    68 79E12601     push    0126E179                                  ; 栈中地址指向本机HWID
0126E150    FF15 14F02601   call    dword ptr [126F014]                       ; 用msvcrt.strcmp作比较
0126E156    83F8 01         cmp     eax, 1
0126E159    74 12           je      short 0126E16D
0126E15B    B9 20000000     mov     ecx, 20
0126E160    8B3D 00FA2601   mov     edi, dword ptr [126FA00]
0126E166    BE A7E12601     mov     esi, 0126E1A7                             ; 栈中地址指向合法HWID
0126E16B    F3:A4           rep     movs byte ptr es:[edi], byte ptr [esi]
0126E16D    83C4 08         add     esp, 8
0126E170    61              popad
0126E171    FF25 00F72601   jmp     dword ptr [126F700]
60 BF 3C 80 01 01 8B 07 A3 00 E1 26 01 C7 07 1A E0 26 01 61 EB 26 C3 90 90 90 90 FF 05 20 E5 26
01 83 3D 20 E5 26 01 02 75 09 3E C7 44 24 04 D0 E1 26 01 FF 25 00 E1 26 01 C3 90 90 60 BF 1F D0
26 01 8B 07 A3 00 E8 26 01 E8 00 00 00 00 5F 83 C7 40 8B D8 2B FB 83 EF 05 68 00 E3 26 01 6A 40
6A 01 50 FF 15 6C 80 01 01 C6 03 E9 43 68 00 E3 26 01 6A 40 6A 04 50 FF 15 6C 80 01 01 89 3B 61
E9 4B 65 DA FF C3 90 90 90 90 90 90 90 90 FF 05 00 E5 26 01 83 3D 00 E5 26 01 01 75 4E 60 E8 00
00 00 00 5F 83 C7 70 8B 5D 7C 81 C3 B5 7D 03 00 2B FB 83 EF 05 68 00 E3 26 01 6A 40 6A 01 53 FF
15 6C 80 01 01 C6 03 E9 43 68 00 E3 26 01 6A 40 6A 04 53 FF 15 6C 80 01 01 89 3B 8B 2D 00 E8 26
01 83 C5 05 89 2D 00 E4 26 01 61 8B FF 55 8B EC FF 25 00 E4 26 01 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 C7 47 4C 05 00 00 00 60 FF 05 10 E5 26
01 83 3D 10 E5 26 01 01 75 1B 8B 5D 54 81 C3 BC 7D 03 00 89 1D 00 F7 26 01 81 EB 3C BE 01 00 89
1D 00 FA 26 01 FF 35 00 FA 26 01 68 79 E1 26 01 FF 15 14 F0 26 01 83 F8 01 74 12 B9 20 00 00 00
8B 3D 00 FA 26 01 BE A7 E1 26 01 F3 A4 83 C4 08 61 FF 25 00 F7 26 01




patch原程序,用OD查看区段0126E00可有助理解代码
notepad_VP.part1.rar (1.39 MB, 下载次数: 259)

notepad_VP.part2.rar (1.39 MB, 下载次数: 211)

notepad_VP.part3.rar (305.58 KB, 下载次数: 178)

解压后,用winhex打开notepad_VP.exe 搜索D687D298A5E81B2821AAE638010BA18B 字符串,替换你本机的机器码,就可以打开了


免费评分

参与人数 2热心值 +2 收起 理由
低调(d-iao) + 1 精品文章!
Smoke + 1 欢迎讨论交流,[吾爱破解]有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

LoongKing 发表于 2011-8-20 21:27
楼主的头像很诱惑..
 楼主| little3388 发表于 2011-8-20 21:26
本帖最后由 little3388 于 2011-8-20 21:27 编辑

回复 sniy 的帖子

原理方法http://www.52pojie.cn/thread-104750-1-1.html  已上传视频演示
sniy 发表于 2011-8-20 17:43
如果有详细的分析就好了,LZ的分析过程比cektop发的文章还简洁~
zsl01 发表于 2011-8-20 10:24
支持,不过我感觉有附件要好些。
bestchao 发表于 2011-8-20 23:14
支持下 好教程``
老万 发表于 2011-8-21 06:46
楼主好厉害,谢谢分享
zsl01 发表于 2011-8-21 08:35
有视频支持了。
wudinjian 发表于 2011-8-21 19:30
哈哈~谢谢楼主分享了~貌似刚看过你的另一个视频嘿嘿
gry8686 发表于 2011-8-22 17:42
不错哦,支持楼主的分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表