[ 破文标题 ] 超级图标4.0破解
[ 破文作者 ] 道卍太极
[ 作者邮箱 ] i_sunyou@126.com
[ 破解工具 ] OllyDbg,PEID
[ 破解平台 ] Windows XP SP3
[ 软件名称 ] 超级图标4.0
[ 软件大小 ] 安装程序13.39M
[ 原版下载 ] http://www.newhua.com/soft/4641.htm
[ 保护方式 ] PECompact
[ 软件简介 ] 超级图标是一套集图标库管理、图标转换、图标搜索、图标编辑于一体的功能强大的图标工具。通过超级图标,您可以从20多种文件(包括17种图像文件)中导入图标;可以将图标转换成17种图像格式;从硬盘中搜索图标和图标库;通过屏幕捕获、从WEB页导入图标;通过关键字等快速搜索图标;内建图标编辑器,新建/删除图标格式,自动图标透明;内含40000图标,还可以在网上下载更多的图标。
-----------------------------------------------------
[ 破解过程 ]-----------------------------------------
前些天制作图标用到这个软件,正好拿它来练练手,本人水平有限,属于菜鸟,第一次写破文,写的不好还请各位大侠多多指点...好了废话不多说,下面直接进入正文......
第一步:peid查壳
PECompact 1.68 - 1.84 -> Jeremy Collake
第二部:脱壳
ESP定律简单脱掉
第三步:破解...
1.运行程序,程序停在欢迎窗口。此时程序标题并未显示未注册,关闭或点击运行试用版本后,程序则会跳到未注册版本,这里则就是关键爆破点。
2.OD载入,查找ASCII 找到这里
地址=005DF0BB
反汇编=mov edx,dumped.005DF3B8
文本字串=超级图标 4.0 - 未注册
跟随到005DF0BB,向上找发现005DF0A7处有个跳转
005DF09E |. 8B00 mov eax,dword ptr ds:[eax]
005DF0A0 |. 80B8 14010000>cmp byte ptr ds:[eax+0x114],0x0
005DF0A7 |. 74 0F je short dumped.005DF0B8 ; 关键跳
005DF0A9 |. 8D45 F8 lea eax,[local.2]
005DF0AC |. BA A0F35D00 mov edx,dumped.005DF3A0 ; 超级图标 4.0
005DF0B1 |. E8 3A5AE2FF call dumped.00404AF0
005DF0B6 |. EB 0D jmp short dumped.005DF0C5
005DF0B8 |> 8D45 F8 lea eax,[local.2]
005DF0BB |. BA B8F35D00 mov edx,dumped.005DF3B8 ; 超级图标 4.0 - 未注册
005DF0C0 |. E8 2B5AE2FF call dumped.00404AF0
005DF0C5 |> 8D55 E4 lea edx,[local.7]
分析之后发现005DF0A7处就是关键跳,直接nop掉,保存,运行一下弹出欢迎框,叉掉或者点击运行试用版,发现并未跳转到未注册版本,到此时我们爆破就算成功了。可是每次运行都弹出欢迎框,感觉很不爽,于是决定把欢迎框也去了
第三步:去欢迎窗
1.OD载入,还是查ASCII看看有没有什么收获,看到这有这样一行
地址=005C108A
反汇编=mov eax,unpacked.005C1148
文本字串=您还有%d天试用期.
2.跟随到005C108A,在函数头005C0FE4下断看看是来自什么地方
005C0FE4 /$ 55 push ebp ; 在这里下断
005C0FE5 |. 8BEC mov ebp,esp
005C0FE7 |. 51 push ecx
005C0FE8 |. A1 A8BD5E00 mov eax,dword ptr ds:[0x5EBDA8]
005C0FED |. 8B00 mov eax,dword ptr ds:[eax]
005C0FEF |. 80B8 14010000>cmp byte ptr ds:[eax+0x114],0x0
005C0FF6 |. 75 2A jnz short unpacked.005C1022
005C0FF8 |. 8B0D 84BE5E00 mov ecx,dword ptr ds:[0x5EBE84] ; unpacked.005EDBF8
005C0FFE |. 8B09 mov ecx,dword ptr ds:[ecx]
005C1000 |. B2 01 mov dl,0x1
005C1002 |. A1 6C0D5C00 mov eax,dword ptr ds:[0x5C0D6C]
005C1007 |. E8 548DE9FF call unpacked.00459D60
005C100C |. 8945 FC mov [local.1],eax
005C100F |. 8B45 FC mov eax,[local.1]
005C1012 |. 8B10 mov edx,dword ptr ds:[eax]
005C1014 |. FF92 E8000000 call dword ptr ds:[edx+0xE8]
005C101A |. 8B45 FC mov eax,[local.1]
005C101D |. E8 222CE4FF call unpacked.00403C44
005C1022 |> 59 pop ecx
005C1023 |. 5D pop ebp
005C1024 \. C3 retn
005C1025 8D40 00 lea eax,dword ptr ds:[eax]
005C1028 . 55 push ebp
005C1029 . 8BEC mov ebp,esp
005C102B . 83C4 EC add esp,-0x14
005C102E . 53 push ebx
005C102F . 56 push esi
005C1030 . 57 push edi
005C1031 . 33C9 xor ecx,ecx
005C1033 . 894D F4 mov dword ptr ss:[ebp-0xC],ecx
005C1036 . 8955 F8 mov dword ptr ss:[ebp-0x8],edx
005C1039 . 8945 FC mov dword ptr ss:[ebp-0x4],eax
005C103C . 33C0 xor eax,eax
005C103E . 55 push ebp
005C103F . 68 30115C00 push unpacked.005C1130
005C1044 . 64:FF30 push dword ptr fs:[eax]
005C1047 . 64:8920 mov dword ptr fs:[eax],esp
005C104A . 33C0 xor eax,eax
005C104C . 55 push ebp
005C104D . 68 10115C00 push unpacked.005C1110
005C1052 . 64:FF30 push dword ptr fs:[eax]
005C1055 . 64:8920 mov dword ptr fs:[eax],esp
005C1058 . A1 A8BD5E00 mov eax,dword ptr ds:[0x5EBDA8]
005C105D . 8B00 mov eax,dword ptr ds:[eax]
005C105F . 83B8 1C010000>cmp dword ptr ds:[eax+0x11C],0x1E
005C1066 . 7F 65 jg short unpacked.005C10CD
005C1068 . 8D45 F4 lea eax,dword ptr ss:[ebp-0xC]
005C106B . 50 push eax
005C106C . A1 A8BD5E00 mov eax,dword ptr ds:[0x5EBDA8]
005C1071 . 8B00 mov eax,dword ptr ds:[eax]
005C1073 . BA 1E000000 mov edx,0x1E
005C1078 . 2B90 1C010000 sub edx,dword ptr ds:[eax+0x11C]
005C107E . 8955 EC mov dword ptr ss:[ebp-0x14],edx
005C1081 . C645 F0 00 mov byte ptr ss:[ebp-0x10],0x0
005C1085 . 8D55 EC lea edx,dword ptr ss:[ebp-0x14]
005C1088 . 33C9 xor ecx,ecx
005C108A . B8 48115C00 mov eax,unpacked.005C1148 ; 您还有%d天试用期.
005C108F . E8 B89FE4FF call unpacked.0040B04C
重运行程序停在005C0FE4处,信息窗口显示
ebp=0012F2B8
本地调用来自 ebp=0012F2B8
本地调用来自 005DE169
接下来ctrl+g跟随到005DE169
005DE15E |. 8B00 mov eax,dword ptr ds:[eax]
005DE160 |. 80B8 14010000>cmp byte ptr ds:[eax+0x114],0x0
005DE167 |. 75 05 jnz short unpacked.005DE16E
005DE169 |. E8 762EFEFF call unpacked.005C0FE4
关键call
005DE16E |> A1 A8BD5E00 mov eax,dword ptr ds:[0x5EBDA8]
在这个call的上面几步下个断,重运行程序,程序断在005DE160处,此时程序主界面已经出现了,但欢迎窗却还没出现,单步向下走,到005DE169处,欢迎窗出现,此时就可以确定005DE169的这个call就是关键call,所以我们把它直接nop掉,保存,运行修改后的程序发现已没有欢迎窗,程序其它功能也并未受到影响,到这里就大功告成了
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课