PanoramaStudio v2.1.2 Pro 爆破
本帖最后由 geekcat 于 2014-6-25 04:46 编辑【文章标题】:PanoramaStudio v2.1.2 Pro 爆破【文章作者】: geekcat
【作者邮箱】: [email protected]
【作者主页】:
【软件名称】: PanoramaStudio v2.1.2 Pro
【软件大小】: 5.23 MB (5,491,009 字节)
【加壳方式】: 无
【保护方式】: 注册码
【编写语言】: Borland C++ 1999
【使用工具】: OD、PEID、DEDE、PE Explorer
【操作平台】: XP SP3【下载地址】:http://www.tshsoft.com/en/index【破解声明】:破解在于交流思路和过程,结果并不重要,请不要用于非法用途;
【软件介绍】:PanoramaStudio 能制作无缝的360度全景图片,在几个步骤之内就能将简单的图片合成为完美的全景图,并为高级用户提供了强大的图片处理功能 。【破解声明】:PYG第九轮作业3--------------------------------------------------------------------------------------------------------------------------------【破解过程】
思路:1)程序运行出现模态对话框,想去掉这个NAG框来达到破解,由于水平太差没成功;2)查找字符串来切入验证体系,没找到有用信息;3)API函数下断,能断下太返回太多前后花了差多1个半小时还没找到放弃;4)没办法最后只能用工具DEDE来直接找按钮事件。
1、DEDE载入程序,在注册窗体里找到三个按钮事件;用PPE Explorer查找具体是那个按钮,翻了一会还是没找到,OD载入程序F9跑起来输入注册信息果断三个全下断,点击“OK”断到按钮事件上;代码:
0046E42C/.55 push ebp ;按钮事件0046E42D|.8BEC mov ebp,esp0046E42F|.83C4 8C add esp,-0x740046E432|.53 push ebx0046E433|.56 push esi0046E434|.57 push edi………………………………………………………………………………………………………省略去中间N多代码 0046E605|> \50 push eax0046E606|.8B15 9C284D00 mov edx,dword ptr ds: ;Panorama.004D26140046E60C FF52 68 call dword ptr ds: ;关键CALL0046E60F|.83C4 08 add esp,0x80046E612|.BA 02000000 mov edx,0x20046E617|.50 push eax0046E618|.8D45 E8 lea eax,dword ptr ss:0046E61B|.FF4D B8 dec dword ptr ss:0046E61E|.E8 15CA0300 call Panorama.004AB0380046E623|.FF4D B8 dec dword ptr ss:0046E626|.8D45 EC lea eax,dword ptr ss:0046E629|.BA 02000000 mov edx,0x20046E62E|.E8 05CA0300 call Panorama.004AB0380046E633|.59 pop ecx0046E634|.85C9 test ecx,ecx0046E636|.0F84 BC010000 je Panorama.0046E7F8 ;关键跳 跳就注册失败0046E63C|.66:C745 AC 50>mov word ptr ss:,0x50………………………………………………………………………………………………………省略去中间N多代码 0046E803|.83F8 02 cmp eax,0x20046E806|.7E 0D jle short Panorama.0046E8150046E808|.8B15 BC644D00 mov edx,dword ptr ds:[<&VCL50.@Forms@App>;Vcl50.@Forms@Application0046E80E|.8B02 mov eax,dword ptr ds:0046E810|.E8 A5D90300 call <jmp.&VCL50.@Forms@TApplication@Ter>;注册时点OK后有很大的缓冲0046E815|>68 D0070000 push 0x7D0 ; /Timeout = 2000. ms0046E81A|.E8 69E70300 call <jmp.&KERNEL32.Sleep> ; \Sleep0046E81F|.68 18DB0000 push 0xDB180046E824|.E8 7FE60300 call <jmp.&PALNG._LoadRStr> ;出现 注册信息错误0046E829|.59 pop ecx0046E82A|.8BD8 mov ebx,eax
2、按钮事件里CALL很多,一个一个具体分析的话容易出错把头转晕而且花时间也多,今天听了Nisy大大的第八课,正好听到 “如果一个CALL调用地方太多一般不是关键CALL” 按照这个方法以及要跳过下面的注册出错误这两个原则,找到关键CALL及关键跳转,F7进关键CALL;代码:
1004442F CC int310044430 .8B4424 04 mov eax,dword ptr ss:10044434 .57 push edi10044435 .8B7C24 0C mov edi,dword ptr ss:10044439 .50 push eax1004443A .E8 41FDFBFF call ppano.10004180 ;F7进:看到这段代码没有对eax赋值等操作1004443F .83C4 04 add esp,0x410044442 .5F pop edi10044443 .C3 retn
3、F7进上面1004443A .E8 41FDFBFF call ppano.10004180 代码:………………………………………………………………………………………………………省略去上面N多代码 100041D8|.^\75 FA \jnz short ppano.100041D4100041DA|>E8 61280500 call ppano.10056A40 ;F7进去可以找到另一个爆破点100041DF|.84C0 test al,al100041E1|.74 1A je short ppano.100041FD100041E3|.803D DEAD1510>cmp byte ptr ds:,0xE7100041EA|.75 11 jnz short ppano.100041FD100041EC|.803D DDAD1510>cmp byte ptr ds:,0xF6100041F3|.75 08 jnz short ppano.100041FD100041F5|.B8 01000000 mov eax,0x1100041FA|.5E pop esi100041FB|.5B pop ebx100041FC|.C3 retn100041FD|>5E pop esi100041FE|.33C0 xor eax,eax ;爆破点:or eax,eax或mov al,110004200|.5B pop ebx10004201\.C3 retn
4、F7进上面100041DA|>E8 61280500 call ppano.10056A40代码:
10056D5A|.E8 41020000 call ppano.10056FA010056D5F|.8B8C24 DC0400>mov ecx,dword ptr ss:10056D66|.8A4424 13 mov al,byte ptr ss: ;爆破点:mov al,1或把esp+0x13修改为esp-/+上一个数值,使它所在内存中的值不为零10056D6A|.5F pop edi10056D6B|.5E pop esi10056D6C|.64:890D 00000>mov dword ptr fs:,ecx10056D73|.5B pop ebx10056D74|.8BE5 mov esp,ebp10056D76|.5D pop ebp10056D77\.C3 retn
----------------------------------------------------------------------------------------------------------------------------【破解总结】:1、关键字符串查找不到,这点做好;2、API函数能断下但返回点找不位,使分析者花很多精力而放弃;3、只修改关键跳转还是注册失败,有二次验证但在关键CALL里没找到这个二次验证调用的地方;4、这个二次验证调用的地方应该在关键CALL与上面第3步中第一个爆破点之间(如果在这个爆破点之后调用来实现二次验证,那这个地方爆破就会失败);5、这个软件再高版本就换C++写的,没有搞定。6、想用DUP2来做DLL的补丁(今天N大的第八介绍了DUP怎样做exe文件补丁),最终没折腾出这个用这个DLL的补丁,到N大说了怎样做DLL再回来补做一个;----------------------------------------------------------------------------------------------------------------------------【版权声明】:本文原创于geekcat,转载请注明作者并保存文章的完整! 赞一个!赞一个! 新版的也不难爆破。 DaShanRen 发表于 2014-6-25 11:09
新版的也不难爆破。
新手啊,争取一天一个,以第九轮的作业为目标多练手!写错了的,没写好的多多指教!
感谢,学习了! 路过必顶,谢谢分享。 好东西,谢谢分享!学习学习,受教了,有没有最新版的爆破???
页:
[1]