软件名称: 视频转换计算器
软件版本: 1.0
适用平台: Win9x, WinME, WinNT, Win2000, WinXP
下载主页: http://www.onlinedown.net/soft/46564.htm
详细介绍: 制作DVD/SVCD/VCD时为了使生成的MPEG文件保持正确的宽高比需要对视频源的宽高进行相应的调整,本软件即用于相关参数的计算。根据计算结果编写相应Avisynth脚本文件,
然后输入视频编码软件制成正确宽高比的MPEG文件。
【 前 言 】 在此祝看雪论坛里所有成员新年快乐,狗年行大运、身体健康也祝论坛越办越好人气更旺。。!@$#$(@^%(~# (总之好话一大堆了^_^)大过年没什么好做上网闲逛刚好碰到"视频转换计算器V1.0",
DOWN下来安装看看用PEID查一下没有壳是"Microsoft Visual Basic 5.0 / 6.0"看到这里心里有点寒了,VB的代码里大多的CALL、跳转、什么的等等一大堆代码看起来没有其它语言代码的直观没有办
硬着啃吧。算法有点罗嗦(我啃不下来头晕着呢。)那前辈们要是有时间写一下算法,我也想学习哦!。。在此先谢过了请不拍砖板哦。。~_~!!
【破解流程】
至于如何找下断地方就不多说了来正题的!!!
004180F0 > \55 PUSH EBP ; F2下断
004180F1 . 8BEC MOV EBP,ESP
004180F3 . 83EC 0C SUB ESP,0C
004180F6 . 68 06144000 PUSH <JMP.&MSVBVM60.__vbaExceptHandler> ; SE 句柄安装
004180FB . 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00418101 . 50 PUSH EAX
00418102 . 64:8925 00000000 MOV DWORD PTR FS:[0],ESP
00418109 . 81EC FC000000 SUB ESP,0FC
0041810F . 53 PUSH EBX
-----------------------------------------省略部分代码------------------------------
004181C3 . FF15 40104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresultCheckO>; MSVBVM60.__vbaHresultCheckObj
004181C9 > 8B55 A4 MOV EDX,DWORD PTR SS:[EBP-5C] ; EDX=假码
004181CC . 8D4D A8 LEA ECX,DWORD PTR SS:[EBP-58]
004181CF . 897D A4 MOV DWORD PTR SS:[EBP-5C],EDI
004181D2 . FF15 30114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrMove>] ; 将假码保存到0012F4B0
004181D8 . 8D4D 9C LEA ECX,DWORD PTR SS:[EBP-64]
004181DB . FF15 48114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeObj>] ; MSVBVM60.__vbaFreeObj
004181E1 . 8D95 18FFFFFF LEA EDX,DWORD PTR SS:[EBP-E8]
004181E7 . 8D45 A8 LEA EAX,DWORD PTR SS:[EBP-58]
004181EA . 52 PUSH EDX
004181EB . 50 PUSH EAX ; 压入假码
004181EC . C785 18FFFFFF 28>MOV DWORD PTR SS:[EBP-E8],视频转换.0041A028
004181F6 . E8 550E0000 CALL 视频转换.00419050 ; ★★★关键CALL跟进!!!!★★★
004181FB . 66:3D FFFF CMP AX,0FFFF ; 比较AX和0FFFF是否相等,相等就注册成功,反之OVER!!
004181FF . 0F85 76060000 JNZ 视频转换.0041887B ; 不相等跳走失败!!
要清楚了"004181FF . 0F85 76060000 JNZ 视频转换.0041887B" 这可不是关键跳转!在这里爆破是肯定没有用的!!机关在00419050里面了!
===================================================================================
跟进00419050里面来到如下代码:
00419320 > /B8 04000000 MOV EAX,4
00419325 . |66:3BF8 CMP DI,AX ; 比较DI是否大于AX,大于跳向成功,反之OVER!!
00419328 . |0F8F 17010000 JG 视频转换.00419445 ; ★★★关键跳转★★★!!!爆破改为JMP
-----------------------------------------省略部分代码------------------------------
00419445 > \C745 CC FFFFFFFF MOV DWORD PTR SS:[EBP-34],-1 ; ★全局变量就是在这里!将0012F3A8置-1为注册码成功标志。
0041944C . 68 AD944100 PUSH 视频转换.004194AD
00419451 . EB 2B JMP SHORT 视频转换.0041947E
就这样就C4炸药搞定了!!BOOM。。VB代码是我最讨厌啊。每次反汇编看到VB代码就是想吐了。实在没有办法只好堕落了(我爆)!加上这个软件不是明码比较的!!
用OD直接修改保存,运行一看菜单上还有注册字样,哦!!!不用着急点击注册然后随便输入12345678,点一下确定OK了。注册成功了!菜单上的注册栏不见了不错高兴。
为进一步验证是否为完美爆破关闭软件,重新启动一下软件果然注册栏不见了。^_^ @#%#^$ 因为注册成功后软件会在根目录生一个SN.txt文件,里面记录是刚才输入
的假注册码了。这样就切底了解完工!技术含量不高,感谢您能看完希望能给入门的朋友们一些提示吧!!
▲ 忘了一个重点要补充一下这个软件会检测注册码字符长度大小不能超过或低于8位,见如下代码:
004190D0 . 50 PUSH EAX
004190D1 . FF15 20104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaLenBstr>] ; 取假码长度
004190D7 . 83F8 08 CMP EAX,8 ; 假码长度和8做比较!换方式说假码必须为8字符长度!
004190DA . 74 0D JE SHORT 视频转换.004190E9 ; 相等跳走继续运算,反之OVER!
[课程]Android-CTF解题方法汇总!