首页
社区
课程
招聘
Flash Wallet的破解
发表于: 2004-6-4 19:21 4435

Flash Wallet的破解

2004-6-4 19:21
4435
好,第三篇:

【破解作者】 WXHing
【作者邮箱】 [email]WXHing@163.com[/email]
【使用工具】 OllyDbg1.09
【破解平台】 Win9x/NT/2000/XP
【软件名称】 Flash Wallet
【下载地址】 中国共享软件注册中心
【软件简介】 据说是一款可以取代Windows资源管理器的软件,功能上要更强大!画面挺好看!
【软件大小】 2.08Mb
【保护方式】 序列号保护,重起验证
【破解声明】 初学破解,妄谈破解,不当之处还请各位前辈指教!
--------------------------------------------------------------------------------
【破解内容】

OD载入,注册之,确定之,不要关对话框,ALT+M查看内存镜像,搜索用户名'WXHing',,下内存访问断点,不要点确定,点取消(该软件会询问你是否愿意重新运行,验证注册码是否正确,如果点确定,那就会耽误时间的)

00402B0B   |.  F3:A5              rep movs dword ptr es:[edi], dword ptr>                ;中断在这
00402B0D   |.  89C1               mov ecx, eax
00402B0F   |.  83E1 03            and ecx, 3
00402B12   |.  F3:A4              rep movs byte ptr es:[edi], byte ptr d>
00402B14   |.  5F                 pop edi
00402B15   |.  5E                 pop esi
00402B16   |.  C3                 retn

004D8EED    .  E8 B253F8FF        call FlashWal.0045E2A4                        ;获取用户名长度,eax返回
004D8EF2    .  8B55 E8            mov edx, dword ptr ss:[ebp-18]                 ;edx存用户名
004D8EF5    .  8D4D EC            lea ecx, dword ptr ss:[ebp-14]                  
004D8EF8    .  8B45 FC            mov eax, dword ptr ss:[ebp-4]                    
004D8EFB    .  E8 70FCFFFF        call FlashWal.004D8B70
004D8F00    .  8B45 EC            mov eax, dword ptr ss:[ebp-14]
004D8F03    .  50                 push eax
..........
..........
004D8A1E   |.  8D45 FC            lea eax, dword ptr ss:[ebp-4]
004D8A21   |.  50                 push eax
004D8A22   |.  B9 06000000        mov ecx, 6                                                ; ecx初始化=6
004D8A27   |.  BA 03000000        mov edx, 3                                                 ;edx初始化=3
004D8A2C   |.  B8 AC8A4D00        mov eax, FlashWal.004D8AAC             ;  ASCII "23SFAD721SKDF4DGDFSDF"        ;eax初始化      
004D8A31   |.  E8 7EC5F2FF        call FlashWal.00404FB4
004D8A36   |.  8D45 F8            lea eax, dword ptr ss:[ebp-8]
004D8A39   |.  50                 push eax
004D8A3A   |.  B9 07000000        mov ecx, 7                                                 ;ecx初始化=7
004D8A3F   |.  BA 02000000        mov edx, 2                                                 ;edx初始化=2
004D8A44   |.  B8 CC8A4D00        mov eax, FlashWal.004D8ACC             ;  ASCII "T283B26CIEKB3345SDFER"         ;eax初始化        
004D8A49   |.  E8 66C5F2FF        call FlashWal.00404FB4
004D8A4E   |.  8D45 F4            lea eax, dword ptr ss:[ebp-C]
004D8A51   |.  50                 push eax
004D8A52   |.  B9 08000000        mov ecx, 8                                                  ;ecx初始化=8
004D8A57   |.  BA 06000000        mov edx, 6                                                  ;edx初始化=2
004D8A5C   |.  B8 EC8A4D00        mov eax, FlashWal.004D8AEC             ;  ASCII "X3920A383KJDT34FERES"            ;eax初始化
004D8A61   |.  E8 4EC5F2FF        call FlashWal.00404FB4
004D8A66   |.  FF75 F4            push dword ptr ss:[ebp-C]
004D8A69   |.  FF75 FC            push dword ptr ss:[ebp-4]
004D8A6C   |.  FF75 F8            push dword ptr ss:[ebp-8]
004D8A6F   |.  8BC3               mov eax, ebx
004D8A71   |.  BA 03000000        mov edx, 3

上面这段代码是将3个字符串,作一定的处理,移位,然后将处理后的3个字串连成一个字符串,再用它与用户名运算,便得到注册码,
004D8302   |.  E8 4DCAF2FF        call FlashWal.00404D54                        ;获得用户名长度
004D8307   |.  85C0               test eax, eax
004D8309   |.  7E 28              jle short FlashWal.004D8333
004D830B   |.  8B45 FC            mov eax, dword ptr ss:[ebp-4]                  ;eax为用户名
004D830E   |.  E8 41CAF2FF        call FlashWal.00404D54
004D8313   |.  8B55 FC            mov edx, dword ptr ss:[ebp-4]
004D8316   |.  807C02 FF 00       cmp byte ptr ds:[edx+eax-1], 0
004D831B   |.  75 16              jnz short FlashWal.004D8333
004D831D   |.  B9 7C844D00        mov ecx, FlashWal.004D847C             ;  ASCII "Error: the last char is NULL char."
004D8322   |.  B2 01              mov dl, 1
004D8324   |.  A1 04814000        mov eax, dword ptr ds:[408104]
004D8329   |.  E8 9649F3FF        call FlashWal.0040CCC4
004D832E   |.  E8 F9C0F2FF        call FlashWal.0040442C
004D8333   |>  8B45 F8            mov eax, dword ptr ss:[ebp-8]                     ;eax指向长字串
004D8336   |.  E8 19CAF2FF        call FlashWal.00404D54                             ;eax返回字符串长度
004D833B   |.  83F8 08            cmp eax, 8                                          ;等于8吗
004D833E   |.  7D 2B              jge short FlashWal.004D836B
004D8340   |.  EB 0D              jmp short FlashWal.004D834F
004D8342   |>  8D45 F8            /lea eax, dword ptr ss:[ebp-8]                        ;ebx清零
.........
.........
004D8385   |.  8D45 DC            lea eax, dword ptr ss:[ebp-24]
004D8388   |>  8B55 F8            /mov edx, dword ptr ss:[ebp-8]                              ;edx指向字符串
004D838B   |.  8A141A             |mov dl, byte ptr ds:[edx+ebx]                               ;获取字符串字符
004D838E   |.  8810               |mov byte ptr ds:[eax], dl                                    ;存入[eax]
004D8390   |.  43                 |inc ebx                                                      ;ebx=ebx+1
004D8391   |.  40                 |inc eax                                                       ;eax指针指向下一位
004D8392   |.  83FB 08            |cmp ebx, 8                                                   ;ebx=8吗
004D8395   |.^ 75 F1              \jnz short FlashWal.004D8388                                   ;不等则跳回去,继续取
004D8397   |.  6A 0F              push 0F                                ; /Arg1 = 0000000F
004D8399   |.  B9 F86E4E00        mov ecx, FlashWal.004E6EF8             ; |
004D839E   |.  8D45 DC            lea eax, dword ptr ss:[ebp-24]         ; |
004D83A1   |.  BA 07000000        mov edx, 7                             ; |
004D83A6   |.  E8 EDFAFFFF        call FlashWal.004D7E98                 ; \FlashWal.004D7E98
004D83AB   |.  8D45 D8            lea eax, dword ptr ss:[ebp-28]
004D83AE   |.  E8 E1C6F2FF        call FlashWal.00404A94
004D83B3   |.  8B45 FC            mov eax, dword ptr ss:[ebp-4]
004D83B6   |.  E8 99C9F2FF        call FlashWal.00404D54
004D83BB   |.  85C0               test eax, eax
004D83BD   |.  79 03              jns short FlashWal.004D83C2
004D83BF   |.  83C0 07            add eax, 7
004D83C2   |>  C1F8 03            sar eax, 3
004D83C5   |.  48                 dec eax
004D83C6   |.  85C0               test eax, eax
004D83C8   |.  7C 65              jl short FlashWal.004D842F
004D83CA   |.  40                 inc eax
004D83CB   |.  8945 D0            mov dword ptr ss:[ebp-30], eax
004D83CE   |.  C745 D4 00000000   mov dword ptr ss:[ebp-2C], 0
004D83D5   |>  33DB               /xor ebx, ebx                                                  ;ebx清零
004D83D7   |.  8D45 EC            |lea eax, dword ptr ss:[ebp-14]
004D83DA   |>  8B55 D4            |/mov edx, dword ptr ss:[ebp-2C]                                
004D83DD   |.  C1E2 03            ||shl edx, 3
004D83E0   |.  03D3               ||add edx, ebx
004D83E2   |.  8B4D FC            ||mov ecx, dword ptr ss:[ebp-4]                                ;ecx指向用户名
004D83E5   |.  8A1411             ||mov dl, byte ptr ds:[ecx+edx]                                 ;取用户名字符
004D83E8   |.  8810               ||mov byte ptr ds:[eax], dl                                     ;存入[eax]
004D83EA   |.  43                 ||inc ebx                                                        
004D83EB   |.  40                 ||inc eax
.........
......不向下分析了,继续跟踪到这里
004D8F00    .  8B45 EC            mov eax, dword ptr ss:[ebp-14]             ;eax里存的便是真正的注册码,还等什么,赶快行动吧!
004D8F03    .  50                 push eax
004D8F04    .  8D55 E4            lea edx, dword ptr ss:[ebp-1C]
004D8F07    .  8B83 FC020000      mov eax, dword ptr ds:[ebx+2FC]
004D8F0D    .  E8 9253F8FF        call FlashWal.0045E2A4
004D8F12    .  8B55 E4            mov edx, dword ptr ss:[ebp-1C]
004D8F15    .  58                 pop eax

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

这个软件的注册码是在计算后再与试练码存入文件或注册表(我没有分析)的,如果让它重起验证便麻烦了,所以直接找会省事一点。
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 5
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//