飞翔企业名录搜索王脱壳+去校验+暴破菜鸟经过

来源:互联网 发布:snmp读取oid 软件 编辑:程序博客网 时间:2024/04/30 08:36
章作者:混世魔王
信息来源:邪恶八进制信息安全团队(www.eviloctal.com) 

【破解作者】 混世魔王 
【使用工具】 OLLDBG PEID
【破解平台】 Win2003 Srever
【软件名称】飞翔企业名录搜索王
【软件主页】 http://www.flyhight.com
【下载地址】http://www.flyhight.com/soft/searchw.rar
【软件简介】企业名录搜索王针对网络上众多的著名商贸网站(这些网站也是网络上最为活跃的 BtoB 网站)的公司信息资源进行搜集整理,分地区、按行业精确的搜集企业名称、联系人、地址、电话、传真、网址、 EMAIL 地址、邮编、企业简介等,并进行整理集中,形成客户资源。本软件是现时网络上唯一的一套动态的精确的搜集著名商贸网站公开的客户资源的软件。是企业进行网络营销、查找客户必不可少的工具。
【破解过程】
下载安装之类就不与多说,先用PEID查壳,“ASPack 2.12 -> Alexey Solodovnikov”
算是弱壳,网上n多脱壳机,这里我就用OD手脱了。
00740001 > 60         pushad                 //Aspack壳入口
00740002   E8 03000000   call   0074000A           //hr esp
00740007 - E9 EB045D45   jmp   45D104F7
0074000C   55         push   ebp
OD载入程序,F8一下,在命令下输入hr esp,回车,按F9运行程序,程序就很容易到我们的OEP
007403B0   /75 08       jnz   short 007403BA     //运行到这里
007403B2   |B8 01000000   mov   eax, 1
007403B7   |C2 0C00       retn   0C
007403BA   /68 34CC6200   push   0062CC34
007403BF   C3         retn               //这里去OEP
来到我们的OEP,我们可以再这里用OD选择“脱壳在当前进程”把他DOWN 出来。
0062CC34   55         push   ebp     //OEP
0062CC35   8BEC         mov   ebp, esp
0062CC37   83C4 EC       add   esp, -14
0062CC3A   53         push   ebx
0062CC3B   56         push   esi
如果对程序入口有所以了解的话,应该可以初步估计是Dephi 写的。先修复一下吧。
OD别关,我们用ImportREC载入有壳程序,在OEP输入我们开始找到的OEP,22CC34,然后点“IAT自动搜索”,然后点“获得输入信息”,可以看到都是显示“真”,最后,抓取修复文件,就是我们刚才DWON出来的文件,修复就完成了。 PEID再查,果然不出我料,Dephi编写.
双击了一下程序,运行程序,没有反映。估计是程序有自校验,对于文件校验比较有效果的二种方法一种是CreateFileA一种是GetFileSize,我这里用的是 GetFileSize ,用OD载入,在命令行输入“bp GetFileSize”然后回车,F9运行,Ctrl+f9 六下才来到我们程序的领空,刚才的是系统的领空。接着我们F8开始一步一步的追。一般判断都是 je 相等才跳到程序。所以,我到je 地方就一个一个的看,我们来到这里
0062CC81   B8 00CC1000   mov   eax, 10CC00   //把加了壳的文件大小传递给eax
0062CC86   E8 C93BF2FF   call   00550854     //现在文件的大小
0062CC8B   3BF0         cmp   esi, eax     //二者做比较
0062CC8D   74 0C       je     short 0062CC9B //如果相等就运行程序
我们可以修改62CC8D处的je     short 0062CC9B为jmp     short 0062CC9B那就不管程序大小是否相等都运行程序,其实我们可以走捷径,10CC00 转化到10进制是 1,100,800,如果你查看一下加壳文件的大小就清楚了。文件大小刚好是1,100,800,其实,我们搜索mov   eax, 10CC00 这句就可以来到我们关键代码处,不过只对这个程序有效果,如果程序把文件大小换成CRC32或者MD5,就行不通了。用API比较通用.保存一下。运行一下程序,OK,可以运行,我们去校验就成功了。
我们可以到程序上方显示的是试用版,他判断的是注册标志位,现在默认为0,为试用版,那么为1,就可能是注册版哦,可以下断 Bp CreateWindow或者ShowWindow 一步一补的跟,但是我比较菜,要这样跟不知道猴年马月去了.又要花费多少时间啊,看有没有捷径,查看一下他的ASCII字符信息,搜索“试用版”
00623E73   8038 00       cmp   byte ptr [eax], 0
00623E76   0F85 DF000000   jnz   00623F5B
00623E7C   A1 5C286300   mov   eax, [63285C]
00623E81   FF30         push   dword ptr [eax]   
00623E83   68 0C456200   push   0062450C
有个跳,我们也改jnz为jmp,也可以改 cmp   byte ptr [eax], 0为cmp   byte ptr [eax], 1 我这里把0改成为了1,保存程序,看了看。现在为已注册了.
看了一下功能,提示什么是“未注册”之类信息。
看来革命尚未成功,还有地方有功能限制.OD查找ASCII“未注册”
第一处,判断是否是注册用户,如果不是,只可以搜索100条记录,我们改545D8C处JE为JMP
00545D85   E8 4A860000   call   0054E3D4
00545D8A   84C0         test   al, al
00545D8C   74 22       je     short 00545DB0     //改成为 jmp
00545D8E   A1 30266300   mov   eax, [632630]
00545D93   8B00         mov   eax, [eax]
00545D95   33D2         xor   edx, edx
00545D97   E8 FCFC0D00   call   00625A98
00545D9C   A1 50286300   mov   eax, [632850]
00545DA1   8B00         mov   eax, [eax]
00545DA3   8B40 30       mov   eax, [eax+30]
00545DA6   BA F45F5400   mov   edx, 00545FF4
第二处,可以改54E35F处 cmp   byte ptr [634338], 0 零改成为一,也可以改JNZ为JMP
0054E35F   803D 38436300 0>cmp   byte ptr [634338], 0
0054E366   75 18       jnz   short 0054E380
0054E368   6A 00       push   0
0054E36A   B9 84E35400   mov   ecx, 0054E384
0054E36F   BA 8CE35400   mov   edx, 0054E38C
第三处,禁止未注册用户打印功能,改59CFF4处 cmp   cmp   byte ptr [eax], 0 零改成为一,也可以改59CFF7处JNZ为JMP
0059CFF4   8038 00       cmp   byte ptr [eax], 0
0059CFF7   75 13       jnz   short 0059D00C
0059CFF9   8BC3         mov   eax, ebx
0059CFFB   E8 0815EEFF   call   0047E508
0059D000   BA 30D05900   mov   edx, 0059D030
第四处,禁止未注册搜索超过100条,改6255BD的JE为JMP
006255B6   E8 198EF2FF   call   0054E3D4
006255BB   84C0         test   al, al
006255BD   74 19       je     short 006255D8
006255BF   A1 50286300   mov   eax, [632850]
006255C4   8B00         mov   eax, [eax]
006255C6   8B40 30       mov   eax, [eax+30]
006255C9   BA 2C596200   mov   edx, 0062592C
第5处,禁止未注册用户导出文件,改6265B0处JNZ为JMP
006265AD   8038 00       cmp   byte ptr [eax], 0
006265B0   75 16       jnz   short 006265C8
006265B2   8BC3         mov   eax, ebx
006265B4   E8 4F7FE5FF   call   0047E508
006265B9   BA 80676200   mov   edx, 00626780
第6处,也是禁止未注册用户导出文件,改628CC9处JNZ为JMP
00628CC1   A1 00286300   mov   eax, [632800]
00628CC6   8038 00       cmp   byte ptr [eax], 0
00628CC9   75 13       jnz   short 00628CDE
00628CCB   8BC3         mov   eax, ebx
00628CCD   E8 3658E5FF   call   0047E508
00628CD2   BA 7C8D6200   mov   edx, 00628D7C
第7处,又一个禁止未注册用户导出文件,改628E35处JNZ为JMP
00628E2D   A1 00286300   mov   eax, [632800]
00628E32   8038 00       cmp   byte ptr [eax], 0
00628E35   75 13       jnz   short 00628E4A
00628E37   8BC3         mov   eax, ebx
00628E39   E8 CA56E5FF   call   0047E508
00628E3E   BA E88E6200   mov   edx, 00628EE8
第8处,第四个地方禁止未注册用户导出文件,晕,改628F9D处JNZ为JMP
00628F95   A1 00286300   mov   eax, [632800]
00628F9A   8038 00       cmp   byte ptr [eax], 0
00628F9D   75 13       jnz   short 00628FB2
00628F9F   8BC3         mov   eax, ebx
00628FA1   E8 6255E5FF   call   0047E508
00628FA6   BA 50906200   mov   edx, 00629050
第9处,第五个地方禁止未注册用户导出文件,晕,改62A255处JNZ为JMP
0062A24D   A1 00286300   mov   eax, [632800]
0062A252   8038 00       cmp   byte ptr [eax], 0
0062A255   75 13       jnz   short 0062A26A
0062A257   8BC3         mov   eax, ebx
0062A259   E8 AA42E5FF   call   0047E508
0062A25E   BA 0CA36200   mov   edx, 0062A30C
9个修改地方,加开始那个一共10个.狂晕.
总结一下
00623E76   0F85 DF000000   jnz   00623F5B
00545D8C   74 22       je     short 00545DB0
0054E366   75 18       jnz   short 0054E380
0059CFF7   75 13       jnz   short 0059D00C
006255BD   74 19       je     short 006255D8
006265B0   75 16       jnz   short 006265C8
00628CC9   75 13       jnz   short 00628CDE
00628E35   75 13       jnz   short 00628E4A
00628F9D   75 13       jnz   short 00628FB2
0062A255   75 13       jnz   short 0062A26A
上面的10个条件跳都改成为JMP.程序爆破成功。NND,自己技术真菜,让高手见笑了,Last,要特别感谢微笑一刀前辈.
做个了注册机,注册机下载地址:
http://26836659.YS168.COM