手动脱壳入门第十六篇 MoleBox 2.x 续之Patch IAT加密                
                
                    所属分类:
                        网络安全 / 加密解密                    
                    阅读数:
                        129
                    
                        收藏 0赞 0分享
                    
                 
                
                    
【脱文动画】http://cnxhacker.net/donghua/crack/200607/245.html
【脱文标题】 手动脱壳入门第十六篇 MoleBox 2.x 续之Patch IAT加密
【脱文作者】 weiyi75[Dfcg] 
【作者邮箱】 weiyi75@sohu.com 
【作者主页】 Dfcg官方大本营 
【使用工具】 Peid,Ollydbg,ImportREC1.6f,Loadpe
【脱壳平台】 Win2K/XP
【软件名称】 IMCaster ICQ E-Marketer
【软件简介】 IMCaster ICQ E-Marketer是一个强大的ICQ即时信息查找工具。你可以根据不同的条件(如:性别、年龄、国家或者职业等等)搜索在线ICQ用户,向他们发送信息以提高你网站或企业的知名度。
【软件大小】 2.61M
【下载地址】 http://www.imcaster.com/Downloads/IMCastSetupEnt.exe 或 二哥推荐的教学篇里面下载
【加壳方式】 MoleBox 2.x.x -> Mole Studio [Overlay]
【保护方式】 MoleBox压缩壳
【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
-------------------------------------------------------------------------------- 
【脱壳内容】 
首先Peid查壳,为MoleBox 2.x.x -> Mole Studio [Overlay],OD载入运行,无任何异常,判断其为压缩壳。
前面二哥的修复方法大家都看到了,继然IAT可以加密就可以IAT解密,实际是跳过。
一口气写OD脱壳脚本写到16篇后发现这篇IAT被加密了,只写个找OEP的脚本没意思,要写脚本首先得会脱这个壳。
脱壳后发现程序不能运行,这时需要用Imprec修复引入函数表(Import Table)
在Oep处填8636F,点IT自动搜索,然后点获输入信息,有9个指针没有修复。
IAT的起始地址是89000,大小B80
根据Imprec提示89110 处的指针被加密
就从这里入手,也可以随便找个加密指针处入手。
OD载入程序,命令行
Hw 489110
因为这个地址先前写入的地址是对的,然后程序将这个地址加密为Imprec不认识的东西,我们就要跟踪这个过程。
F9运行
004D1237     8B45 F8             mov eax,dword ptr ss:[ebp-8]      ; imcast.00489110
004D123A     40                  inc eax
004D123B     40                  inc eax
004D123C     8945 F8             mov dword ptr ss:[ebp-8],eax
004D123F     0FB745 E2           movzx eax,word ptr ss:[ebp-1E]
004D1243     C1F8 08             sar eax,8
004D1246     0FB74D E2           movzx ecx,word ptr ss:[ebp-1E]
堆栈友好提示
0012FCD8    7FFDF000
0012FCDC    47D047D0
0012FCE0    47334733
0012FCE4    5EBC5EBC
0012FCE8    72BF72BF
继续3次F9,注意堆栈友好提示
004D13CE     FF15 24804D00       call dword ptr ds:[; KERNEL32.GetProcAddress
004D13D4     8B4D F0             mov ecx,dword ptr ss:[ebp-10]
004D13D7     8901                mov dword ptr ds:[ecx],eax
004D13D9     EB 26               jmp short imcast.004D1401
004D13DB     8B55 F0             mov edx,dword ptr ss:[ebp-10]
004D13DE     8B02                mov eax,dword ptr ds:[edx]
004D13E0     25 FFFF0000         and eax,0FFFF
004D13E5     50                  push eax
004D13E6     8B4D F4             mov ecx,dword ptr ss:[ebp-C]
004D13E9     51                  push ecx
004D13EA     FF15 24804D00       call dword ptr ds:[; KERNEL32.GetProcAddress
堆栈友好提示
0012FE2C    77E7ED4C  KERNEL32.SetFilePointer //这个和EAX中是一样的,都是正确指针
0012FE30    6BC4B4AC  MFC42.#1576
0012FE34    0049428A  imcast.0049428A
0012FE38    004943FE  ASCII "KERNEL32.dll"
0012FE3C    00489110  imcast.00489110
0012FE40    77E60000  KERNEL32.77E60000
0012FE44    00493294  imcast.00493294
现在我们
dd 489110 往上看到489100被加密了,呵呵,我说过可以随便找个加密指针处入手。
004D13D9    /EB 26               jmp short imcast.004D1401
004D1401     8B4D EC             mov ecx,dword ptr ss:[ebp-14]     ; imcast.004943FE
004D1404     51                  push ecx
004D1405     8B55 F0             mov edx,dword ptr ss:[ebp-10]
004D1408     52                  push edx
004D1409     E8 12050000         call imcast.004D1920 //如果单步过了这里,就Over了。显然它是个加密Call,NOP掉程序正常运行,进去看看。
******************************************
004D1920     55                  push ebp
004D1921     8BEC                mov ebp,esp
004D1923     83EC 10             sub esp,10
004D1926     C745 FC 00000000    mov dword ptr ss:[ebp-4],0
004D192D     833D 30F04D00 00    cmp dword ptr ds:[4DF030],0
004D1934     75 0A               jnz short imcast.004D1940
004D1940     8B45 08             mov eax,dword ptr ss:[ebp 8]  //注意这时EAX=77E7ED4C是正确指针
004D1943     8B08                mov ecx,dword ptr ds:[eax]
004D1945     51                  push ecx
004D1946     8B0D 30F04D00       mov ecx,dword ptr ds:[4DF030]
004D194C     E8 AB380000         call imcast.004D51FC
004D1951     8945 F8             mov dword ptr ss:[ebp-8],eax
004D1954     837D F8 00          cmp dword ptr ss:[ebp-8],0
004D1958     74 45               je short imcast.004D199F
004D195A     8D55 F0             lea edx,dword ptr ss:[ebp-10]
004D195D     52                  push edx
004D195E     6A 04               push 4
004D1960     6A 04               push 4
004D1962     8B45 08             mov eax,dword ptr ss:[ebp 8]
004D1965     50                  push eax
004D1966     FF15 70804D00       call dword ptr ds:[; KERNEL32.VirtualProtect
004D196C     85C0                test eax,eax
004D196E     75 0A               jnz short imcast.004D197A
004D197A     8B4D 08             mov ecx,dword ptr ss:[ebp 8]
004D197D     8B55 F8             mov edx,dword ptr ss:[ebp-8]
004D1980     8B02                mov eax,dword ptr ds:[edx]
004D1982     8901                mov dword ptr ds:[ecx],eax //可恶这里; imcast.004D490E
EAX=004D490E  dword ptr ds:[ecx] 是推算被加密的地址00489110,实际也是,看OD信息框就知道了。我们必需让EAX是正确的指针。我们看到004D1940 处EAX被赋值,而且当时的EAX是正确指针。
这就容易了
004D1940     8B45 08             mov eax,dword ptr ss:[ebp 8]
修改为
004D1940     8BC0                mov eax,eax                       ; KERNEL32.SetFilePointer
004D1942     90                  nop
自给自足
004D1984     8D4D F4             lea ecx,dword ptr ss:[ebp-C]
004D1987     51                  push ecx
004D1988     8B55 F0             mov edx,dword ptr ss:[ebp-10]
004D198B     52                  push edx
004D198C     6A 04               push 4
004D198E     8B45 08         &n
                                    
             
            
                
                Getright 5 手动脱壳和重建IAT--第二部分(图)
在本参考教程的第一部分我们学习了如何正确地转储(dump)Getright 5. 现在我们将要去找神奇跳转,这样IAT会被正确地转储下来,而不用手工修复了. 要完成这一点,我们需要打败程序中的一些陷阱, 并使它们即使在检测到被执行脱壳时也无所作为. 
让我们开始吧! 
第
                    
                    收藏 0赞 0分享
Getright 5 手动脱壳和重建IAT--第一部分(图)
这是一篇Armadillo加壳软件Getright 5.01的脱壳译文,我是参照Ricardo Narvaja的“Getright 5 脱壳和重建IAT”的文章以及Bighead[DFCG][YCG]的译文,一边实践一边再次翻译的。感谢Ricardo Narvaja和Bighea
                    
                    收藏 0赞 0分享
黑客破解Email账号最常用的三种方法
电子邮件并不是安全的,在邮件的发送、传送和接收整个过程中的每个环节都可能存在薄弱环节,恶意用户如果利用其漏洞,就能够轻易的破解出账号,获得邮件内容。
一、利用邮件服务器操作系统的漏洞
邮件服务器软件是运行在特定的操作系统上的,如Linux、Windows NT/20
                    
                    收藏 0赞 0分享
黑客技术之slv unpackme 脱壳
其实壳本身不要紧,问题是vm里面有个校验。
sm同学手下留情,我勉强能搞一个运行正常的,没精力还原vm了。
在virutalfree的retn上f4, 直到[esp]是一个exe image内的地址f7返回:
0040FA91    B8 BE180000     m
                    
                    收藏 0赞 0分享
Allok Video to 3GP Converter 脱壳+破解(图)
①。
下载好安装后,用DIT查看为MoleBox 2.5.x.
-----------------------------------------------------------------------------
OD,载如RUN,程序完全运行后,ALT+M查看内存映
                    
                    收藏 0赞 0分享
有密码 优酷视频 破解方法
优酷网站的视频可以设置独立的播放密码,不过你可知道:观看有密码的优酷视频其实不需要密码哦。下面讲述两种方法进行优酷视频密码破解的方法。 
优酷视频密码破解一: 
打开FLV解析网站,这里推荐使用该站点:http://www.flvcd.com,从浏览器地址栏复制需要解密的优酷
                    
                    收藏 0赞 0分享
                 查看更多