经研究发现,比泰保护客果然是代码抽取,他把大量的代码从原程序抽取出来放到一个函数里面!
发现有大量的只有2-3条命令的函数,其实只是增加了阅读难度而已。
.text:0050D761 sub_50D761 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D761 mov eax, [ebp+2Ch]
.text:0050D764 push eax
.text:0050D765 call sub_4CD1A0 ; Call Procedure
.text:0050D76A pop ecx
.text:0050D76B retn ; Return Near from Procedure
.text:0050D76B sub_50D761 endp
.text:0050D76B
.text:0050D76C
.text:0050D76C ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D76C
.text:0050D76C
.text:0050D76C sub_50D76C proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D76C mov ecx, [ebp-18h]
.text:0050D76F jmp sub_404E70 ; Jump
.text:0050D76F sub_50D76C endp
.text:0050D76F
.text:0050D774
.text:0050D774 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D774
.text:0050D774
.text:0050D774 sub_50D774 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D774 mov ecx, [ebp+2Ch]
.text:0050D777 jmp sub_404E70 ; Jump
.text:0050D777 sub_50D774 endp
.text:0050D777
.text:0050D77C
.text:0050D77C ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D77C
.text:0050D77C
.text:0050D77C sub_50D77C proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D77C mov eax, [ebp+2Ch]
.text:0050D77F push eax
.text:0050D780 call sub_4CD1A0 ; Call Procedure
.text:0050D785 pop ecx
.text:0050D786 retn ; Return Near from Procedure
.text:0050D786 sub_50D77C endp
.text:0050D786
.text:0050D787
.text:0050D787 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D787
.text:0050D787
.text:0050D787 sub_50D787 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D787 mov ecx, [ebp-18h]
.text:0050D78A jmp sub_404E70 ; Jump
.text:0050D78A sub_50D787 endp
.text:0050D78A
.text:0050D78F
.text:0050D78F ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D78F
.text:0050D78F
.text:0050D78F sub_50D78F proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D78F mov ecx, [ebp+2Ch]
.text:0050D792 jmp sub_404E70 ; Jump
.text:0050D792 sub_50D78F endp
.text:0050D792
.text:0050D797
.text:0050D797 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D797
.text:0050D797
.text:0050D797 sub_50D797 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D797 mov eax, [ebp+2Ch]
.text:0050D79A push eax
.text:0050D79B call sub_4CD1A0 ; Call Procedure
.text:0050D7A0 pop ecx
.text:0050D7A1 retn ; Return Near from Procedure
.text:0050D7A1 sub_50D797 endp
.text:0050D7A1
.text:0050D7A2
.text:0050D7A2 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7A2
.text:0050D7A2
.text:0050D7A2 sub_50D7A2 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7A2 mov ecx, [ebp-18h]
.text:0050D7A5 jmp sub_404E70 ; Jump
.text:0050D7A5 sub_50D7A2 endp
.text:0050D7A5
.text:0050D7AA
.text:0050D7AA ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7AA
.text:0050D7AA
.text:0050D7AA sub_50D7AA proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7AA mov ecx, [ebp+28h]
.text:0050D7AD jmp sub_404E70 ; Jump
.text:0050D7AD sub_50D7AA endp
.text:0050D7AD
.text:0050D7B2
.text:0050D7B2 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7B2
.text:0050D7B2
.text:0050D7B2 sub_50D7B2 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7B2 mov eax, [ebp+2Ch]
.text:0050D7B5 push eax
.text:0050D7B6 call sub_4CD1A0 ; Call Procedure
.text:0050D7BB pop ecx
.text:0050D7BC retn ; Return Near from Procedure
.text:0050D7BC sub_50D7B2 endp
.text:0050D7BC
.text:0050D7BD
.text:0050D7BD ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7BD
.text:0050D7BD
.text:0050D7BD sub_50D7BD proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7BD mov ecx, [ebp-18h]
.text:0050D7C0 jmp sub_404E70 ; Jump
.text:0050D7C0 sub_50D7BD endp
.text:0050D7C0
.text:0050D7C5
.text:0050D7C5 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7C5
.text:0050D7C5
.text:0050D7C5 sub_50D7C5 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7C5 mov ecx, [ebp+28h]
.text:0050D7C8 jmp sub_404E70 ; Jump
.text:0050D7C8 sub_50D7C5 endp
.text:0050D7C8
.text:0050D7CD
.text:0050D7CD ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7CD
.text:0050D7CD
.text:0050D7CD sub_50D7CD proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7CD mov eax, [ebp+2Ch]
.text:0050D7D0 push eax
.text:0050D7D1 call sub_4CD1A0 ; Call Procedure
.text:0050D7D6 pop ecx
.text:0050D7D7 retn ; Return Near from Procedure
.text:0050D7D7 sub_50D7CD endp
.text:0050D7D7
.text:0050D7D8
.text:0050D7D8 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7D8
.text:0050D7D8
.text:0050D7D8 sub_50D7D8 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7D8 mov ecx, [ebp-18h]
.text:0050D7DB jmp sub_404E70 ; Jump
.text:0050D7DB sub_50D7D8 endp
.text:0050D7DB
.text:0050D7E0
.text:0050D7E0 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7E0
.text:0050D7E0
.text:0050D7E0 sub_50D7E0 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7E0 mov ecx, [ebp+28h]
.text:0050D7E3 jmp sub_404E70 ; Jump
.text:0050D7E3 sub_50D7E0 endp
.text:0050D7E3
.text:0050D7E8
.text:0050D7E8 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7E8
.text:0050D7E8
.text:0050D7E8 sub_50D7E8 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7E8 mov eax, [ebp+2Ch]
.text:0050D7EB push eax
.text:0050D7EC call sub_4CD1A0 ; Call Procedure
.text:0050D7F1 pop ecx
.text:0050D7F2 retn ; Return Near from Procedure
.text:0050D7F2 sub_50D7E8 endp
.text:0050D7F2
.text:0050D7F3
.text:0050D7F3 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7F3
.text:0050D7F3
.text:0050D7F3 sub_50D7F3 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7F3 mov ecx, [ebp+2Ch]
.text:0050D7F6 jmp sub_404E70 ; Jump
.text:0050D7F6 sub_50D7F3 endp
.text:0050D7F6
.text:0050D7FB
.text:0050D7FB ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D7FB
.text:0050D7FB
.text:0050D7FB sub_50D7FB proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D7FB mov ecx, [ebp+28h]
.text:0050D7FE jmp sub_404E70 ; Jump
.text:0050D7FE sub_50D7FB endp
.text:0050D7FE
.text:0050D803
.text:0050D803 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D803
.text:0050D803
.text:0050D803 sub_50D803 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D803 mov eax, [ebp+2Ch]
.text:0050D806 push eax
.text:0050D807 call sub_4CD1A0 ; Call Procedure
.text:0050D80C pop ecx
.text:0050D80D retn ; Return Near from Procedure
.text:0050D80D sub_50D803 endp
.text:0050D80D
.text:0050D80E
.text:0050D80E ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D80E
.text:0050D80E
.text:0050D80E sub_50D80E proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D80E mov ecx, [ebp-18h]
.text:0050D811 jmp sub_404E70 ; Jump
.text:0050D811 sub_50D80E endp
.text:0050D811
.text:0050D816
.text:0050D816 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D816
.text:0050D816
.text:0050D816 sub_50D816 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D816 mov ecx, [ebp-14h]
.text:0050D819 jmp sub_404E70 ; Jump
.text:0050D819 sub_50D816 endp
.text:0050D819
.text:0050D81E
.text:0050D81E ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D81E
.text:0050D81E
.text:0050D81E sub_50D81E proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D81E mov eax, [ebp+2Ch]
.text:0050D821 push eax
.text:0050D822 call sub_4CD1A0 ; Call Procedure
.text:0050D827 pop ecx
.text:0050D828 retn ; Return Near from Procedure
.text:0050D828 sub_50D81E endp
.text:0050D828
.text:0050D829
.text:0050D829 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D829
.text:0050D829
.text:0050D829 sub_50D829 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D829 mov ecx, [ebp-1Ch]
.text:0050D82C jmp sub_404E70 ; Jump
.text:0050D82C sub_50D829 endp
.text:0050D82C
.text:0050D831
.text:0050D831 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D831
.text:0050D831
.text:0050D831 sub_50D831 proc near ; DATA XREF: .rdata:stru_52159Co
.text:0050D831 mov ecx, [ebp-18h]
.text:0050D834 jmp sub_404E70 ; Jump
.text:0050D834 sub_50D831 endp
.text:0050D834
.text:0050D839 ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:0050D839
.text:0050D839 loc_50D839: ; DATA XREF: sub_402BA0+5o
.text:0050D839 mov eax, offset stru_5216D4
.text:0050D83E jmp ___CxxFrameHandler ; Jump
.text:0050D83E ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:0050D843 align 10h
.text:0050D850
.text:0050D850 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D850
.text:0050D850
.text:0050D850 sub_50D850 proc near ; DATA XREF: .rdata:stru_5216F0o
.text:0050D850 lea ecx, [ebp-28h] ; Load Effective Address
.text:0050D853 jmp sub_404E70 ; Jump
.text:0050D853 sub_50D850 endp
.text:0050D853
.text:0050D858
.text:0050D858 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D858
.text:0050D858
.text:0050D858 sub_50D858 proc near ; DATA XREF: .rdata:stru_5216F0o
.text:0050D858 lea ecx, [ebp-28h] ; Load Effective Address
.text:0050D85B jmp sub_404E70 ; Jump
.text:0050D85B sub_50D858 endp
.text:0050D85B
.text:0050D860
.text:0050D860 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D860
.text:0050D860
.text:0050D860 sub_50D860 proc near ; DATA XREF: .rdata:stru_5216F0o
.text:0050D860 lea ecx, [ebp-28h] ; Load Effective Address
.text:0050D863 jmp sub_404E70 ; Jump
.text:0050D863 sub_50D860 endp
.text:0050D863
.text:0050D868
.text:0050D868 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D868
.text:0050D868
.text:0050D868 sub_50D868 proc near ; DATA XREF: .rdata:stru_5216F0o
.text:0050D868 lea ecx, [ebp-28h] ; Load Effective Address
.text:0050D86B jmp sub_404E70 ; Jump
.text:0050D86B sub_50D868 endp
.text:0050D86B
.text:0050D870
.text:0050D870 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D870
.text:0050D870
.text:0050D870 sub_50D870 proc near ; DATA XREF: .rdata:stru_5216F0o
.text:0050D870 lea ecx, [ebp-28h] ; Load Effective Address
.text:0050D873 jmp sub_404E70 ; Jump
.text:0050D873 sub_50D870 endp
.text:0050D873
.text:0050D878
.text:0050D878 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D878
.text:0050D878
.text:0050D878 sub_50D878 proc near ; DATA XREF: .rdata:stru_5216F0o
.text:0050D878 lea ecx, [ebp-28h] ; Load Effective Address
.text:0050D87B jmp sub_404E70 ; Jump
.text:0050D87B sub_50D878 endp
.text:0050D87B
.text:0050D880
.text:0050D880 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:0050D880
.text:0050D880
.text:0050D880 sub_50D880 proc near ; DATA XREF: .rdata:stru_5216F0o
.text:0050D880 lea ecx, [ebp-28h] ; Load Effective Address
.text:0050D883 jmp sub_404E70 ; Jump
.text:0050D883 sub_50D880 endp
[课程]FART 脱壳王!加量不加价!FART作者讲授!