[转载]电影编辑软件iFilmEdit 1.3版之破解
<P>文章作者: qduwg</P><P><FONT face=宋体>软件名称:iEdit14.exe(安装文件名字Ied14sts.exe)<BR>软件来源:2002电脑爱好者光盘<BR>软件描述:用VB开发的,软件开发者号称其软件是速度最快,最简单的MPEG电影编辑工具。只需要简单3步,大概15分钟即可搞定你的电影编辑,后<BR><BR>期制作。如果过期无法使用,而且试用期内无法制作超过5分钟的电影。<BR>破解工具:SoftICE,OD,PEiD,UltraEDIT<BR>破解目的:去除30天试用期限,去掉启动时过期NAG提示,去掉操作按钮时出现的NAG提示。<BR>完成时间:2006年1月13日<BR>引子:<BR>今天从光盘上随便找了一个软件练手,结果就找到了这个软件,安装完毕实验了几下,软件作者说有30天试用期限,在试用期限内,不能够制作超过<BR><BR>5分钟的电影,完整(FullVersion)版则没有此限制。试用版一旦过期,根本无法进入软件的。既然这样的话,我们自己动手把它变成完整版好了<BR><BR>。因为这个软件没有输入注册码的地方,干脆就是一个试用版!我现在就想把它变成作者所说的“完整版”。现在准备好工具,开工。拿出PEID查看<BR><BR>一下,哟!是VB写的,我顿时来了兴致,因为VB写的东西比较讨厌,转来转去的头都大了。因为没有可以输入注册码的地方,直接用Softice所带的<BR><BR>Loader加载程序,开始几句代码一定用F8跟踪,就是这个调用VB动态库函数的指令:<BR>1.去掉启动后的NAG提示窗口。<BR>00403058>$6808454000PUSHIEDIT142.00404508<BR>0040305D.E8EEFFFFFFCALL<JMP.&MSVBVM60.#100>//按F8从这里开始进入VB的MSVBVM60.dll库了。代码如下:<BR>======================================<BR>6600DE22>55PUSHEBP<BR>6600DE238BECMOVEBP,ESP<BR>*省略多行<BR>6600DE71BE70F41066MOVESI,MSVBVM60.6610F470<BR>6600DE768BCEMOVECX,ESI<BR>6600DE78E860000000CALLMSVBVM60.6600DEDD//这个地方需要按F8跟入<BR>6600DE7D8945E4MOVDWORDPTRSS:[EBP-1C],EAX<BR>6600DE8085C0TESTEAX,EAX<BR>6600DE827C51JLSHORTMSVBVM60.6600DED5<BR>一直按F8我们来到主程序代码空间:<BR>00455AE9.57PUSHEDI<BR>00455AEA.50PUSHEAX<BR>00455AEB.FF1564104000CALLDWORDPTRDS:[<&MSVBVM60.__vbaHresu>//此CALL出现主窗口<BR>00455AF1>8D4DD0LEAECX,DWORDPTRSS:[EBP-30]<BR>*省略多行<BR>00455B81.894208MOVDWORDPTRDS:[EDX+8],EAX<BR>00455B84.8B8528FFFFFFMOVEAX,DWORDPTRSS:[EBP-D8]<BR>00455B8A.89420CMOVDWORDPTRDS:[EDX+C],EAX<BR>00455B8D.FF91B0020000CALLDWORDPTRDS:[ECX+2B0]//此CALL出现播放电影工作窗口<BR>00455B93.3BC3CMPEAX,EBX<BR>*省略多行<BR>00455C26.894108MOVDWORDPTRDS:[ECX+8],EAX<BR>00455C29.8B8528FFFFFFMOVEAX,DWORDPTRSS:[EBP-D8]<BR>00455C2F.89410CMOVDWORDPTRDS:[ECX+C],EAX<BR>00455C32.FF92B0020000CALLDWORDPTRDS:[EDX+2B0]//此CALL出现录制电影工作窗口<BR>00455C38.85C0TESTEAX,EAX<BR>00455C3A.DBE2FCLEX<BR>*省略几百行<BR>00455EC5.8B851CFFFFFFMOVEAX,DWORDPTRSS:[EBP-E4]<BR>00455ECB.8901MOVDWORDPTRDS:[ECX],EAX<BR>00455ECD.8B8520FFFFFFMOVEAX,DWORDPTRSS:[EBP-E0]<BR>00455ED3.894104MOVDWORDPTRDS:[ECX+4],EAX<BR>00455ED6.8B8524FFFFFFMOVEAX,DWORDPTRSS:[EBP-DC]<BR>00455EDC.894108MOVDWORDPTRDS:[ECX+8],EAX<BR>00455EDF.8B8528FFFFFFMOVEAX,DWORDPTRSS:[EBP-D8]<BR>00455EE5.89410CMOVDWORDPTRDS:[ECX+C],EAX<BR>00455EE8.FF92B0020000CALLDWORDPTRDS:[EDX+2B0]//此CALL显示“软件30天后过期,购买请访问其网站”的信息。把这个地方NOP掉<BR><BR>即可去掉那个启动后的NAG。<BR>00455EEE.85C0TESTEAX,EAX<BR>00455EF0.DBE2FCLEX<BR>======================================<BR>2.现在启动过程比较清洁了,但是进入程序操作几个功能,结果按电影“录制”和“预览”按钮时弹出的第二个NAG,提示你“试用版不能够产生超<BR><BR>过5分钟的电影”。我们下面就让这个限制失效掉。在SOFTICE内下断点bpxrtcmsgbox,F5退出,点击OK按钮,被拦住,按一次F11键回到如下代码处<BR><BR>:<BR>0045BB85.52PUSHEDX<BR>0045BB86.FF1560114000CALLDWORDPTRDS:[<&MSVBVM60.__vbaVarCa><BR>0045BB8C.50PUSHEAX<BR>0045BB8D.FF157C104000CALLDWORDPTRDS:[<&MSVBVM60.#595>]//就是这个CALL出现那个不可以超过5分钟的提示NAG。把45BB8C和<BR><BR>此行NOP掉即可。<BR>0045BB93.8D85F8FEFFFFLEAEAX,DWORDPTRSS:[EBP-108]<BR>0045BB99.50PUSHEAX<BR>0045BB9A.8D8D08FFFFFFLEAECX,DWORDPTRSS:[EBP-F8]<BR>======================================<BR>3.可是问题接踵而至,“不能超过5分钟”的NAG去掉了,但是在按“录制”和“预览”的时候,却出现了跟第一个NAG一样的窗口,提示你30天过期<BR><BR>,而且出现这个窗口的时机是随机的,有时可以直接打开“预览处理”窗口和“录制处理”窗口,有时就直接显示这个提示NAG,取消后可以打开处<BR><BR>理窗口。这个窗口用bpxrtcmsgbox断点不管用了,好象不是消息窗口类型,断不下。看来作者不烦死用户是不罢休的。只好另找出路,用消息断点<BR><BR>,先用hwnd查看句柄,发现ThunderRT6MDIform比较可疑,其句柄值为148,下断点bmsg148wm_command,然后F5返回主程序,点击“录制”或者“<BR><BR>预览”,如果按“录制”按钮则比较容易断在那个NAG调用处,“预览”好象不太可靠啦。(注意这是我自己试验出来的结论!一家之言!),否则<BR><BR>就断在处理过程窗口调用上,所以这里需要你仔细一点。如果断下的不对,就只好重新来过啦。我这里总结了一个经验,如果按F12超过6次还没有回<BR><BR>到VB代码内,则肯定断在了处理调用上。如果按F12的次数6次后到达的窗口是BFF5xxxx字样的时候,说明已经断在了NAG调用上了,你再换F10即可跟<BR><BR>踪到VBVM里,继续跟踪就回到如下代码:<BR>6602C054FF5010CALLDWORDPTRDS:[EAX+10]<BR>6602C0578B8E20050000MOVECX,DWORDPTRDS:[ESI+520]<BR>6602C05D6A04PUSH4<BR>6602C05FE8C486FEFFCALLMSVBVM60.66014728//这个CALL出NAG提示。<BR><BR>等NAG出来后,你就点击Cancel按钮,再次被拦住,继续F10跟踪,一直来到如下主程序代码处了:<BR>004563A3FF97B0020000CALLDWORDPTRDS:[EDI+2B0]<BR>004563A985C0TESTEAX,EAX//你来到这里。说明是上面这个CALL的调用NAG。NOP掉即可。<BR>004563ABDBE2FCLEX<BR>004563AD7D12JGESHORTIEDIT14.004563C1<BR>004563AF68B0020000PUSH2B0<BR>004563B468A4D44000PUSHIEDIT14.0040D4A4<BR>004563B956PUSHESI<BR>004563BA50PUSHEAX<BR>004563BBFF1564104000CALLDWORDPTRDS:[<&MSVBVM60.__vbaHresultCheckObj>]<BR>======================================<BR>4.现在已经成功了一大半了,可是把时间调快了1年,再次运行程序,告诉你已经过期了,根本无法进入程序了。下面解决这个问题吧:还是用<BR><BR>Softice的Loader加载程序,跟第一个问题一样跟踪方法,先F8,跟踪到6600df72处,就可以按46次F12,路途很周折,回到主程序处。<BR>下面是在VBVM内:<BR>6600DE78E860000000CALLMSVBVM60.6600DEDD//此处一定换F8跟入。<BR>6600DE7D8945E4MOVDWORDPTRSS:[EBP-1C],EAX<BR>6600DE8085C0TESTEAX,EAX<BR>6600DE827C51JLSHORTMSVBVM60.6600DED5<BR>6600DE846A00PUSH0<BR>6600DE866A00PUSH0<BR>*省去几十行代码<BR>6600DF6053PUSHEBX<BR>6600DF618BCEMOVECX,ESI<BR>6600DF63E87F010000CALLMSVBVM60.6600E0E7<BR>6600DF68FF750CPUSHDWORDPTRSS:[EBP+C]<BR>6600DF6B8BCBMOVECX,EBX<BR>6600DF6DC645FF01MOVBYTEPTRSS:[EBP-1],1<BR>6600DF7157PUSHEDI<BR>6600DF72E8CD010000CALLMSVBVM60.6600E144//用F8跟入这个CALL后就可以用F12跟踪了。大概需要40多次F12,我们就可以顺利<BR><BR>来到下面主程序代码了:<BR>0045767C8D4D94LEAECX,DWORDPTRSS:[EBP-6C]<BR>0045767FFFD6CALLESI<BR>004576818D4D8CLEAECX,DWORDPTRSS:[EBP-74]<BR>00457684FFD6CALLESI<BR>00457686C3RETN//来到这个地方,按F10继续跟踪,然后来到下面代码处;(*)<BR>======================================================<BR>00447193E858F20000CALLIEDIT142.004563F0<BR>0044719883EC10SUBESP,10//从前面(*)处返回到这里,继续用F10跟踪。<BR>0044719BB90A000000MOVECX,0A<BR>004471A08BD4MOVEDX,ESP<BR>004477A90F8411020000JEIEDIT14.004479C0//把这里修改为JMP,机器码是E91202000090。即可跳过后面的这个NAG。<BR>004477AFA1B8124700MOVEAX,DWORDPTRDS:[4712B8]<BR>004477B485C0TESTEAX,EAX<BR>004477B67510JNZSHORTIEDIT14.004477C8<BR>004477B868B8124700PUSHIEDIT14.004712B8<BR>004477BD6824694000PUSHIEDIT14.00406924<BR>*中间省去2000多行代码<BR>004479818B8544FFFFFFMOVEAX,DWORDPTRSS:[EBP-BC]<BR>0044798756PUSHESI<BR>00447988894104MOVDWORDPTRDS:[ECX+4],EAX<BR>0044798B895108MOVDWORDPTRDS:[ECX+8],EDX<BR>0044798E8B954CFFFFFFMOVEDX,DWORDPTRSS:[EBP-B4]<BR>0044799489510CMOVDWORDPTRDS:[ECX+C],EDX<BR>00447997FF97B0020000CALLDWORDPTRDS:[EDI+2B0]//到这里这个CALL就出现过期NAG了。<BR>0044799D85C0TESTEAX,EAX<BR>0044799FDBE2FCLEX<BR>004479A10F8D3C010000JGEIEDIT142.00447AE3<BR>004479A78B3D64104000MOVEDI,DWORDPTRDS:[<&MSVBVM60.__vbaHresultCheckObj>><BR>======================================================<BR>5.到这里为止,我们已经成功了。但是如果打开HELP里的ABOUT,显示的提示框字眼就是在-xxxx天过期了,是个负数了。但是提示框的内容还是不<BR><BR>雅观,另外,主程序的标题栏内也是显示的Trial字样。赶紧把它改掉吧。用UltraEdit打开破解后的程序,按照上面的要求修改后另行存盘。然后<BR><BR>接着查找Trail字样,你会看到很多个,但是要找跟标题栏内显示的一样的字符串,修改为Full。然后还可以把About提示框内的信息及标题栏信息统<BR><BR>统修改掉,比如ThissoftwareislicencedforMr.wang.<BR><BR><BR>后记:<BR><BR>到此为止,我们真正把这个试用版变为正式版了,拿出一个VCD光盘试用了一下,可以制作任意时间长度的电影,没有任何限制了。yeh!真是高兴!<BR><BR>所以费了2个小时把过程写出来,希望对各位有所启发。VB程序比较讨厌。调试起来真累人!我在前面第3步的时候,费了周折,我试验了所有级别为<BR><BR>1的句柄,才找到这个规律的。在VB内下消息断点真是一件噩梦。因为那个窗口不是MESSAGEBOX。无论如何也断不下。回想破解过程真是一种享受啊<BR><BR>。成功在我手中!特奉献此文,分享我的喜悦!<BR><BR><BR>qduwg<BR><BR>qduwg@163.com</FONT><BR></P>
页:
[1]