一篇解狗的文章已经分析了——不知怎么改(有多种改法)
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
--------------------------------------------------------------------------------
【破解总结】
具体破解方法相信大家看了后比我清楚,不多说了。。。。。。
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
请大家试试,算是练习吧! 楼主强啊
这么好的教材 好文章/:good 打狗不怎么会,嘿嘿!~~~ 可以用静态分析....看看有哪些地方来读这个狗...
说不定就可以搞定那只狗儿...
哈... 狗。。。我喜欢。但不是软件狗。。是真狗
哈哈,开个玩笑拉
这个方面的不太清楚 这个东西
我倒想看看
可是....
页:
[1]