在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
初学破解!请大侠指导! 版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! 【破文标题】SWF探索者1.4的破解 【破文作者】云瑞 【作者性别】男 【作者主页】您的主页 【作者邮箱】[email protected] 【所属组织】第九舰队 【软件名称】SWF探索者1.4 【下载地址】 【破解工具】OLLYDBG1.10,C32ASM,unpecompact,peid0.92汉 【保护方式】PECPMPACT1.68-1.84 【软件限制】时间限制 【破解难度】中等 ---------------------------------------------------- 软件介绍: 很不错的动画播放器,以前有人破解过1.1和1.2, ---------------------------------------------------- 破解声名: ---------------------------------------------------- 【破解分析】 首先安装SWF探索者1.4,运行程序,在关于中输入注册信息,用户名:king,注册email:[email protected],注册码999555(当然是错误的),然后点注册,出现THANKSREG!然后用peid 打开程序,是用pecompact1.68-1.84加的壳,我用专用脱壳工具unpecompact,脱壳,保存为unpacked.然后用C32ASM0.412反汇编,点字符串搜索,看到thanksreg,然后双击,来到代码处,004C79E8 .^E9 DFC7F3FF JMP unpacked.004041CC 004C79ED .^EB F0 JMP SHORT unpacked.004C79DF 004C79EF . 8D4D DC LEA ECX,DWORD PTR SS:[EBP-24] 004C79F2 . A1 10244D00 MOV EAX,DWORD PTR DS:[4D2410] 004C79F7 . 8B00 MOV EAX,DWORD PTR DS:[EAX] 004C79F9 . BA B47A4C00 MOV EDX,unpacked.004C7AB4 ; ASCII "ThanksReg" 004C79FE . E8 31EDFFFF CALL unpacked.004C6734 004C7A03 . 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24] 004C7A06 . E8 3592F7FF CALL unpacked.00440C40 004C7A0B . A1 04254D00 MOV EAX,DWORD PTR DS:[4D2504] 004C7A10 . 8B00 MOV EAX,DWORD PTR DS:[EAX] 004C7A12 . E8 851CFAFF CALL unpacked.0046969C 004C7A17 . 33C0 XOR EAX,EAX 004C7A19 . 5A POP EDX ; kernel32.7C81774D 004C7A1A . 59 POP ECX ; kernel32.7C81774D 然后我就对此处下断,向上看,发现regcode,估计在此处将进行某些处理。004C79C5 |. BA A47A4C00 MOV EDX,unpacked.004C7AA4 ; ASCII "RegCode" 004C79CA |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 004C79CD |. E8 D6F6FBFF CALL unpacked.004870A8 004C79D2 |. 33C0 XOR EAX,EAX 004C79D4 |. 5A POP EDX ; kernel32.7C81774D 004C79D5 |. 59 POP ECX ; kernel32.7C81774D 004C79D6 |. 59 POP ECX ; kernel32.7C81774D 004C79D7 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX ; ntdll.KiFastSystemCallRet 004C79DA |. 68 EF794C00 PUSH unpacked.004C79EF 004C79DF |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 004C79E2 |. E8 51C0F3FF CALL unpacked.00403A38 004C79E7 \. C3 RETN 004C79E8 .^E9 DFC7F3FF JMP unpacked.004041CC 004C79ED .^EB F0 JMP SHORT unpacked.004C79DF 004C79EF . 8D4D DC LEA ECX,DWORD PTR SS:[EBP-24] 004C79F2 . A1 10244D00 MOV EAX,DWORD PTR DS:[4D2410] 004C79F7 . 8B00 MOV EAX,DWORD PTR DS:[EAX] 004C79F9 . BA B47A4C00 MOV EDX,unpacked.004C7AB4 ; ASCII "ThanksReg" 004C79FE . E8 31EDFFFF CALL unpacked.004C6734 004C7A03 . 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24] 打开OLLGDBG,对004C79C5也下断,然后按F9运行,没有断到需要的东西,估计在初始化时生成了注册码,然后存在某地址处,于是,就重新下断, 后来找到 00487058 |. E8 7BDCF7FF CALL unpacked.00404CD8 0048705D |. 50 PUSH EAX ; |ValueName = NULL 0048705E |. 8B46 04 MOV EAX,DWORD PTR DS:[ESI 4] ; | 00487061 |. 50 PUSH EAX ; |hKey = 0 00487062 |. E8 31FEF7FF CALL ; \RegQueryValueExA(个人认为与注册有关!) 00487067 |. 85C0 TEST EAX,EAX 00487069 |. 0F94C3 SETE BL 0048706C |. 8B0424 MOV EAX,DWORD PTR SS:[ESP] ; kernel32.7C81774D 0048706F |. E8 50FCFFFF CALL unpacked.00486CC4 00487074 |. 8845 00 MOV BYTE PTR SS:[EBP],AL 00487077 |. 8BC3 MOV EAX,EBX 00487079 |. 5A POP EDX ; kernel32.7C81774D 于是就下端,然后遇到SEH,用SHIRT F7单步跟踪,在7C82DAD4位置停下,在堆栈窗口12EC4C会发现一个ASCII字符串“D092E68F”这个就是注册码了,嘿嘿! |
请发表评论