youzhimin503 发表于 2007-10-6 09:18:16

一篇解狗的文章已经分析了——不知怎么改(有多种改法)

xxx计算软件破文
【破解作者】 fangwen
【使用工具】 OllyDbg
【破解平台】 Win9x/NT/2000/XP
【软件名称】 xxx计算软件
【下载地址】 网上找
【软件简介】 无狗学习版
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】


有壳,是个简单的壳,脱壳过程就不说了。
////////////////////////////////////////////////////////////////////////////
脱壳后od载入
008B3D00    55            push ebp                                 ; 入口
008B3D01    8BEC            mov ebp,esp
008B3D03    83C4 EC         add esp,-14
008B3D06    53            push ebx
008B3D07    56            push esi
008B3D08    57            push edi
008B3D09    33C0            xor eax,eax
008B3D0B    8945 EC         mov dword ptr ss:,eax
008B3D0E    B8 A0348B00   mov eax,gcljs.008B34A0
008B3D13    E8 7443B5FF   call gcljs.0040808C
008B3D18    8B1D 60EF8B00   mov ebx,dword ptr ds:            ; gcljs.008C4FD4
008B3D1E    33C0            xor eax,eax
008B3D20    55            push ebp
008B3D21    68 52408B00   push gcljs.008B4052
008B3D26    64:FF30         push dword ptr fs:
008B3D29    64:8920         mov dword ptr fs:,esp
008B3D2C    8B03            mov eax,dword ptr ds:
008B3D2E    E8 81E9BEFF   call gcljs.004A26B4
008B3D33    8B03            mov eax,dword ptr ds:
008B3D35    83C0 50         add eax,50
008B3D38    E8 2F1FB5FF   call gcljs.00405C6C
008B3D3D    8B03            mov eax,dword ptr ds:
008B3D3F    BA 6C408B00   mov edx,gcljs.008B406C                   ; 008B3D44    E8 53E5BEFF   call gcljs.004A229C
008B3D49    68 78408B00   push gcljs.008B4078                      ; one-gcljs
008B3D4E    6A FF         push -1
008B3D50    6A 00         push 0
008B3D52    E8 CD45B5FF   call gcljs.00408324
008B3D57    E8 4847B5FF   call gcljs.004084A4                      ; jmp 到 ntdll.RtlGetLastWin32Error
008B3D5C    3D B7000000   cmp eax,0B7
008B3D61    75 0F         jnz short gcljs.008B3D72
008B3D63    B8 8C408B00   mov eax,gcljs.008B408C                   ; 注意:程序已经运行,请检查!
008B3D68    E8 5F82B8FF   call gcljs.0043BFCC
008B3D6D    E8 7E1DB5FF   call gcljs.00405AF0
008B3D72    E8 31FBB4FF   call gcljs.004038A8
008B3D77    8B0B            mov ecx,dword ptr ds:
008B3D79    B2 01         mov dl,1
008B3D7B    A1 B8328B00   mov eax,dword ptr ds:
008B3D80    E8 BF6DBEFF   call gcljs.0049AB44
008B3D85    8BF0            mov esi,eax
/////////////////////////////////////////////////////////////////////////////////////////////////////////////

查找字符串软件狗不存在,学习版本
004CCC84    55            push ebp
004CCC85    68 94CD4C00   push gcljs.004CCD94
004CCC8A    64:FF30         push dword ptr fs:
004CCC8D    64:8920         mov dword ptr fs:,esp
004CCC90    803D F8048D00 0>cmp byte ptr ds:,0
004CCC97    75 12         jnz short gcljs.004CCCAB
004CCC99    BA A8CD4C00   mov edx,gcljs.004CCDA8                   ; 软件狗不存在,学习版本
004CCC9E    8B83 0C030000   mov eax,dword ptr ds:
004CCCA4    E8 5F45FBFF   call gcljs.00481208
004CCCA9    EB 1B         jmp short gcljs.004CCCC6
004CCCAB    8D45 FC         lea eax,dword ptr ss:
004CCCAE    BA F8048D00   mov edx,gcljs.008D04F8         (008D04F8)地址是软件狗序列号
004CCCB3    E8 1892F3FF   call gcljs.00405ED0
004CCCB8    8B55 FC         mov edx,dword ptr ss:
004CCCBB    8B83 0C030000   mov eax,dword ptr ds:
004CCCC1    E8 4245FBFF   call gcljs.00481208
004CCCC6    8D45 F8         lea eax,dword ptr ss:
004CCCC9    BA 6C048D00   mov edx,gcljs.008D046C          (008D046C)地址是软件狗编号
004CCCCE    E8 FD91F3FF   call gcljs.00405ED0
004CCCD3    8B55 F8         mov edx,dword ptr ss:
004CCCD6    8B83 FC020000   mov eax,dword ptr ds:
004CCCDC    E8 2745FBFF   call gcljs.00481208
004CCCE1    8D4D F4         lea ecx,dword ptr ss:
004CCCE4    33C0            xor eax,eax
004CCCE6    A0 80048D00   mov al,byte ptr ds:       (8D0480)地址是软件狗密码
004CCCEB    B2 2A         mov dl,2A
004CCCED    E8 C28FFFFF   call gcljs.004C5CB4
004CCCF2    8B55 F4         mov edx,dword ptr ss:
004CCCF5    8B83 04030000   mov eax,dword ptr ds:
004CCCFB    E8 0845FBFF   call gcljs.00481208
004CCD00    8D45 F0         lea eax,dword ptr ss:
004CCD03    BA 94048D00   mov edx,gcljs.008D0494            (008D0494)地址是软件狗日期
004CCD08    E8 C391F3FF   call gcljs.00405ED0
004CCD0D    8B55 F0         mov edx,dword ptr ss:
004CCD10    8B83 00030000   mov eax,dword ptr ds:
004CCD16    E8 ED44FBFF   call gcljs.00481208
004CCD1B    8D55 EC         lea edx,dword ptr ss:
004CCD1E    A1 68048D00   mov eax,dword ptr ds:      (8D0468)地址是软件狗次数
004CCD23    E8 F803F4FF   call gcljs.0040D120
004CCD28    8B55 EC         mov edx,dword ptr ss:
004CCD2B    8B83 10030000   mov eax,dword ptr ds:
004CCD31    E8 D244FBFF   call gcljs.00481208
004CCD36    8D45 E8         lea eax,dword ptr ss:
004CCD39    BA A8048D00   mov edx,gcljs.008D04A8               (8D0550)地址是软件狗备注
004CCD3E    E8 8D91F3FF   call gcljs.00405ED0
004CCD43    8B55 E8         mov edx,dword ptr ss:
004CCD46    8B83 08030000   mov eax,dword ptr ds:
004CCD4C    E8 B744FBFF   call gcljs.00481208
004CCD51    8A15 50058D00   mov dl,byte ptr ds:          这个是软件狗的功能
004CCD57    8B83 24030000   mov eax,dword ptr ds:
004CCD5D    8B08            mov ecx,dword ptr ds:
004CCD5F    FF91 CC000000   call dword ptr ds:
004CCD65    8A15 51058D00   mov dl,byte ptr ds:          这个是软件狗的功能
004CCD6B    8B83 28030000   mov eax,dword ptr ds:
004CCD71    8B08            mov ecx,dword ptr ds:
004CCD73    FF91 CC000000   call dword ptr ds:
004CCD79    33C0            xor eax,eax
004CCD7B    5A            pop edx
004CCD7C    59            pop ecx
004CCD7D    59            pop ecx
004CCD7E    64:8910         mov dword ptr fs:,edx
004CCD81    68 9BCD4C00   push gcljs.004CCD9B
004CCD86    8D45 E8         lea eax,dword ptr ss:
004CCD89    BA 06000000   mov edx,6
004CCD8E    E8 FD8EF3FF   call gcljs.00405C90
004CCD93    C3            retn
004CCD94^ E9 2B88F3FF   jmp gcljs.004055C4
004CCD99^ EB EB         jmp short gcljs.004CCD86
004CCD9B    5B            pop ebx
004CCD9C    8BE5            mov esp,ebp
004CCD9E    5D            pop ebp
004CCD9F    C3            retn
///////////////////////////////////////////////////////////////////////////////////////
查找字符串      警告:软件狗不存在 !
004CCDDC    55            push ebp
004CCDDD    8BEC            mov ebp,esp
004CCDDF    6A 00         push 0
004CCDE1    6A 00         push 0
004CCDE3    6A 00         push 0
004CCDE5    53            push ebx
004CCDE6    56            push esi
004CCDE7    8BF0            mov esi,eax
004CCDE9    33C0            xor eax,eax
004CCDEB    55            push ebp
004CCDEC    68 ADCE4C00   push gcljs.004CCEAD
004CCDF1    64:FF30         push dword ptr fs:
004CCDF4    64:8920         mov dword ptr fs:,esp
004CCDF7    E8 F0F7FFFF   call gcljs.004CC5EC                      跟随进入
004CCDFC    813D 4C058D00 A>cmp dword ptr ds:,19A4         当地址的值为19a4时有狗
004CCE06    74 0C         je short gcljs.004CCE14
004CCE08    B8 C4CE4C00   mov eax,gcljs.004CCEC4                   ; 警告:软件狗不存在 !
004CCE0D    E8 BAF1F6FF   call gcljs.0043BFCC
004CCE12    EB 76         jmp short gcljs.004CCE8A
004CCE14    8B9E 1C030000   mov ebx,dword ptr ds:
004CCE1A    8D43 70         lea eax,dword ptr ds:
004CCE1D    BA E4CE4C00   mov edx,gcljs.004CCEE4                   ; 打开(升级包)
/////////////////////////////////////////////////////////////////////////////////////////////////////
跟随进入call gcljs.004CC5EC

004CC5EC    55            push ebp
004CC5ED    8BEC            mov ebp,esp
004CC5EF    81C4 FCFDFFFF   add esp,-204
004CC5F5    53            push ebx
004CC5F6    56            push esi
004CC5F7    57            push edi
004CC5F8    33C0            xor eax,eax
004CC5FA    8985 10FEFFFF   mov dword ptr ss:,eax
004CC600    8985 18FEFFFF   mov dword ptr ss:,eax
004CC606    8985 14FEFFFF   mov dword ptr ss:,eax
004CC60C    BB 5C058D00   mov ebx,gcljs.008D055C
004CC611    BE 64058D00   mov esi,gcljs.008D0564
004CC616    BF F8048D00   mov edi,gcljs.008D04F8
004CC61B    33C0            xor eax,eax
004CC61D    55            push ebp
004CC61E    68 5AC94C00   push gcljs.004CC95A
004CC623    64:FF30         push dword ptr fs:
004CC626    64:8920         mov dword ptr fs:,esp
004CC629    8B06            mov eax,dword ptr ds:
004CC62B    50            push eax
004CC62C    E8 B352FFFF   call gcljs.004C18E4
004CC631    8B06            mov eax,dword ptr ds:
004CC633    E8 486BF3FF   call gcljs.00403180
004CC638    33C0            xor eax,eax
004CC63A    8906            mov dword ptr ds:,eax
004CC63C    B8 68048D00   mov eax,gcljs.008D0468
004CC641    33C9            xor ecx,ecx
004CC643    BA 90000000   mov edx,90
004CC648    E8 3F79F3FF   call gcljs.00403F8C
004CC64D    C607 00         mov byte ptr ds:,0
004CC650    33C0            xor eax,eax
004CC652    A3 4C058D00   mov dword ptr ds:,eax
004CC657    C605 50058D00 0>mov byte ptr ds:,0      这个是软件狗的功能   
004CC65E    C605 51058D00 0>mov byte ptr ds:,0      这个是软件狗的功能
004CC665    33C0            xor eax,eax
004CC667    A3 54058D00   mov dword ptr ds:,eax
004CC66C    68 58058D00   push gcljs.008D0558
004CC671    6A 00         push 0
004CC673    E8 5051FFFF   call gcljs.004C17C8
004CC678    833D 58058D00 0>cmp dword ptr ds:,0
004CC67F    0F84 B7020000   je gcljs.004CC93C
004CC685    A1 58058D00   mov eax,dword ptr ds:
004CC68A    83E0 03         and eax,3
004CC68D    85C0            test eax,eax
004CC68F    0F85 A7020000   jnz gcljs.004CC93C
004CC695    A1 58058D00   mov eax,dword ptr ds:
004CC69A    E8 0103F4FF   call gcljs.0040C9A0
004CC69F    8906            mov dword ptr ds:,eax
004CC6A1    68 58058D00   push gcljs.008D0558
004CC6A6    8B06            mov eax,dword ptr ds:
004CC6A8    50            push eax
004CC6A9    E8 1A51FFFF   call gcljs.004C17C8
004CC6AE    8903            mov dword ptr ds:,eax
004CC6B0    833B 00         cmp dword ptr ds:,0
004CC6B3    0F85 83020000   jnz gcljs.004CC93C
004CC6B9    8B06            mov eax,dword ptr ds:
004CC6BB    50            push eax
004CC6BC    E8 BF51FFFF   call gcljs.004C1880
004CC6C1    8903            mov dword ptr ds:,eax
004CC6C3    833B 00         cmp dword ptr ds:,0
004CC6C6    0F85 70020000   jnz gcljs.004CC93C
004CC6CC    68 A1000000   push 0A1
004CC6D1    6A 08         push 8
004CC6D3    68 68C94C00   push gcljs.004CC968                      ; 19651022
004CC6D8    8B06            mov eax,dword ptr ds:
004CC6DA    50            push eax
004CC6DB    E8 AC5BFFFF   call gcljs.004C228C
004CC6E0    8903            mov dword ptr ds:,eax
004CC6E2    833B 00         cmp dword ptr ds:,0
004CC6E5    0F85 51020000   jnz gcljs.004CC93C
004CC6EB    C645 FF 01      mov byte ptr ss:,1
004CC6EF    68 60058D00   push gcljs.008D0560
004CC6F4    6A 00         push 0
004CC6F6    6A 00         push 0
004CC6F8    6A 01         push 1
004CC6FA    8D45 FF         lea eax,dword ptr ss:
004CC6FD    50            push eax
004CC6FE    6A 28         push 28
004CC700    8B06            mov eax,dword ptr ds:
004CC702    50            push eax
004CC703    E8 1052FFFF   call gcljs.004C1918
004CC708    8903            mov dword ptr ds:,eax
004CC70A    68 60058D00   push gcljs.008D0560
004CC70F    6A 04         push 4
004CC711    68 4C058D00   push gcljs.008D054C
004CC716    6A 00         push 0
004CC718    6A 00         push 0
004CC71A    6A 2B         push 2B
004CC71C    8B06            mov eax,dword ptr ds:
004CC71E    50            push eax
004CC71F    E8 F451FFFF   call gcljs.004C1918
004CC724    8903            mov dword ptr ds:,eax
004CC726    833B 00         cmp dword ptr ds:,0
004CC729    75 0C         jnz short gcljs.004CC737
004CC72B    813D 4C058D00 A>cmp dword ptr ds:,19A4
004CC735    74 18         je short gcljs.004CC74F
004CC737    8B06            mov eax,dword ptr ds:
004CC739    50            push eax
004CC73A    E8 A551FFFF   call gcljs.004C18E4
004CC73F    8B06            mov eax,dword ptr ds:
004CC741    E8 3A6AF3FF   call gcljs.00403180
004CC746    33C0            xor eax,eax
004CC748    8906            mov dword ptr ds:,eax
004CC74A    E9 ED010000   jmp gcljs.004CC93C
004CC74F    C745 F8 E7B12B0>mov dword ptr ss:,12BB1E7
004CC756    8D95 1FFFFFFF   lea edx,dword ptr ss:
004CC75C    8D45 F8         lea eax,dword ptr ss:
004CC75F    B9 04000000   mov ecx,4
004CC764    E8 376EF3FF   call gcljs.004035A0
004CC769    68 60058D00   push gcljs.008D0560
004CC76E    68 C8000000   push 0C8
004CC773    8D85 1FFFFFFF   lea eax,dword ptr ss:
004CC779    50            push eax
004CC77A    68 90000000   push 90
004CC77F    8D85 1FFFFFFF   lea eax,dword ptr ss:
004CC785    50            push eax
004CC786    68 74C94C00   push gcljs.004CC974                      ; 8000
004CC78B    8B06            mov eax,dword ptr ds:
004CC78D    50            push eax
004CC78E    E8 3163FFFF   call gcljs.004C2AC4
004CC793    8903            mov dword ptr ds:,eax
004CC795    833B 00         cmp dword ptr ds:,0
004CC798    0F85 9E010000   jnz gcljs.004CC93C
004CC79E    BA 68048D00   mov edx,gcljs.008D0468
004CC7A3    8D85 1FFFFFFF   lea eax,dword ptr ss:
004CC7A9    B9 90000000   mov ecx,90
004CC7AE    E8 ED6DF3FF   call gcljs.004035A0
004CC7B3    C745 F8 59D12F0>mov dword ptr ss:,12FD159
004CC7BA    8D95 1FFFFFFF   lea edx,dword ptr ss:
004CC7C0    8D45 F8         lea eax,dword ptr ss:
004CC7C3    B9 04000000   mov ecx,4
004CC7C8    E8 D36DF3FF   call gcljs.004035A0
004CC7CD    68 60058D00   push gcljs.008D0560
004CC7D2    68 C8000000   push 0C8
004CC7D7    8D85 1FFFFFFF   lea eax,dword ptr ss:
004CC7DD    50            push eax
004CC7DE    6A 04         push 4
004CC7E0    8D85 1FFFFFFF   lea eax,dword ptr ss:
004CC7E6    50            push eax
004CC7E7    68 74C94C00   push gcljs.004CC974                      ; 8000
004CC7EC    8B06            mov eax,dword ptr ds:
004CC7EE    50            push eax
004CC7EF    E8 D062FFFF   call gcljs.004C2AC4
004CC7F4    8903            mov dword ptr ds:,eax
004CC7F6    833B 00         cmp dword ptr ds:,0
004CC7F9    0F85 3D010000   jnz gcljs.004CC93C
004CC7FF    68 60058D00   push gcljs.008D0560
004CC804    68 C8000000   push 0C8
004CC809    8D85 1FFFFFFF   lea eax,dword ptr ss:
004CC80F    50            push eax
004CC810    6A 00         push 0
004CC812    6A 00         push 0
004CC814    6A 26         push 26
004CC816    8B06            mov eax,dword ptr ds:
004CC818    50            push eax
004CC819    E8 FA50FFFF   call gcljs.004C1918
004CC81E    8903            mov dword ptr ds:,eax
004CC820    833B 00         cmp dword ptr ds:,0
004CC823    0F85 13010000   jnz gcljs.004CC93C
004CC829    C607 00         mov byte ptr ds:,0
004CC82C    BE 08000000   mov esi,8
004CC831    8D9D 1FFFFFFF   lea ebx,dword ptr ss:
004CC837    8D85 18FEFFFF   lea eax,dword ptr ss:
004CC83D    8BD7            mov edx,edi
004CC83F    E8 8C96F3FF   call gcljs.00405ED0
004CC844    8D85 18FEFFFF   lea eax,dword ptr ss:
004CC84A    50            push eax
004CC84B    8D8D 14FEFFFF   lea ecx,dword ptr ss:
004CC851    33C0            xor eax,eax
004CC853    8A03            mov al,byte ptr ds:
004CC855    BA 02000000   mov edx,2
004CC85A    E8 D509F4FF   call gcljs.0040D234
004CC85F    8B95 14FEFFFF   mov edx,dword ptr ss:
004CC865    58            pop eax
004CC866    E8 C996F3FF   call gcljs.00405F34
004CC86B    8B95 18FEFFFF   mov edx,dword ptr ss:
004CC871    8D85 1CFEFFFF   lea eax,dword ptr ss:
004CC877    B9 FF000000   mov ecx,0FF
004CC87C    E8 8796F3FF   call gcljs.00405F08
004CC881    8D95 1CFEFFFF   lea edx,dword ptr ss:
004CC887    8BC7            mov eax,edi
004CC889    B1 50         mov cl,50
004CC88B    E8 7C75F3FF   call gcljs.00403E0C
004CC890    43            inc ebx
004CC891    4E            dec esi
004CC892^ 75 A3         jnz short gcljs.004CC837
004CC894    68 00000840   push 40080000
004CC899    6A 00         push 0
004CC89B    68 00001040   push 40100000
004CC8A0    6A 00         push 0
004CC8A2    8D45 E8         lea eax,dword ptr ss:
004CC8A5    E8 EE000000   call gcljs.004CC998
004CC8AA    DD45 E8         fld qword ptr ss:
004CC8AD    D81D 7CC94C00   fcomp dword ptr ds:
004CC8B3    DFE0            fstsw ax
004CC8B5    9E            sahf
004CC8B6    0F9405 50058D00 sete byte ptr ds:
004CC8BD    68 00002440   push 40240000
004CC8C2    6A 00         push 0
004CC8C4    68 46DFB13F   push 3FB1DF46
004CC8C9    68 399D52A2   push A2529D39
004CC8CE    68 1857B63F   push 3FB65718
004CC8D3    68 8744E74A   push 4AE74487
004CC8D8    8D45 E8         lea eax,dword ptr ss:
004CC8DB    E8 48010000   call gcljs.004CCA28
004CC8E0    DB2D 80C94C00   fld tbyte ptr ds:
004CC8E6    DC6D E8         fsubr qword ptr ss:
004CC8E9    D9E1            fabs
004CC8EB    DB2D 8CC94C00   fld tbyte ptr ds:
004CC8F1    DED9            fcompp
004CC8F3    DFE0            fstsw ax
004CC8F5    9E            sahf
004CC8F6    0F9705 51058D00 seta byte ptr ds:         
004CC8FD    8D85 FCFDFFFF   lea eax,dword ptr ss:
004CC903    50            push eax
004CC904    B9 03000000   mov ecx,3
004CC909    BA 04000000   mov edx,4
004CC90E    B8 6C048D00   mov eax,gcljs.008D046C
004CC913    E8 E06AF3FF   call gcljs.004033F8
004CC918    8D95 FCFDFFFF   lea edx,dword ptr ss:
004CC91E    8D85 10FEFFFF   lea eax,dword ptr ss:
004CC924    E8 A795F3FF   call gcljs.00405ED0
004CC929    8B85 10FEFFFF   mov eax,dword ptr ss:
004CC92F    8D55 F4         lea edx,dword ptr ss:
004CC932    E8 B179F3FF   call gcljs.004042E8
004CC937    A3 54058D00   mov dword ptr ds:,eax
004CC93C    33C0            xor eax,eax
004CC93E    5A            pop edx
004CC93F    59            pop ecx
004CC940    59            pop ecx
004CC941    64:8910         mov dword ptr fs:,edx
004CC944    68 61C94C00   push gcljs.004CC961
004CC949    8D85 10FEFFFF   lea eax,dword ptr ss:
004CC94F    BA 03000000   mov edx,3
004CC954    E8 3793F3FF   call gcljs.00405C90
004CC959    C3            retn
004CC95A^ E9 658CF3FF   jmp gcljs.004055C4
004CC95F^ EB E8         jmp short gcljs.004CC949
004CC961    5F            pop edi
004CC962    5E            pop esi
004CC963    5B            pop ebx
004CC964    8BE5            mov esp,ebp
004CC966    5D            pop ebp
004CC967    C3            retn


--------------------------------------------------------------------------------
【破解总结】


具体破解方法相信大家看了后比我清楚,不多说了。。。。。。
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

请大家试试,算是练习吧!

zhaoyafei19 发表于 2007-10-6 19:20:39

楼主强啊
这么好的教材

adsl2006 发表于 2007-12-19 18:51:14

好文章/:good

save425 发表于 2007-12-20 20:22:09

打狗不怎么会,嘿嘿!~~~

jonen 发表于 2007-12-24 21:03:48

可以用静态分析....看看有哪些地方来读这个狗...

说不定就可以搞定那只狗儿...

哈...

cxl0825 发表于 2007-12-26 14:17:49

狗。。。我喜欢。但不是软件狗。。是真狗
哈哈,开个玩笑拉
这个方面的不太清楚

RichGon 发表于 2008-4-4 18:51:20

这个东西

我倒想看看
可是....
页: [1]
查看完整版本: 一篇解狗的文章已经分析了——不知怎么改(有多种改法)