![]() |
梦幻Ollydbg之ACPr修复篇 |
梦幻Ollydbg之ACPr修复篇——Divx Avi Asf Wmv Wma Rm Rmvb V3.23 下载页面:   http://www.skycn.com/soft/11574.html 软件大小: 1322 KB 软件语言: 简体中文 软件类别: 国产软件 / 共享版 / 文件修复 应用平台: Win9x/NT/2000/XP 加入时间: 2003-08-28 11:11:24 下载次数: 146813 推荐等级: *** 开 发 商:   http://www.cnghost.com/ 【软件简介】:只需轻松的一次点击就可以修复不能拖动的或者不能播放的divx avi asf wmv wma rm rmvb文件。Divx Avi Asf Wmv Wma Rm Rmvb 修复器可以修复你通过http,ftp,mms,rtsp方式由于某些原因没有下载完全的divx avi asf wmv wma rm rmvb文件。修复后的文件可以流畅的播放,自由的拖动。Divx Avi Asf Wmv Wma Rm Rmvb 修复器也可以修复在播放过程中不能拖动的divx avi asf wmv wma rm rmvb文件。修复后的文件可以随意的拖动。Divx Avi Asf Wmv Wma Rm Rmvb 修复器还有另一个功能,他可以强行修复部分损坏的divx avi asf wmv wma rm rmvb文件。修复后的文件可以跳过坏的数据块,继续播放。如果一些播放器,例如Mediaplayer,realplayer提示dvix avi asf wmv wma rm rmvb文件不能播放或文件损坏,都可以尝试用Divx Avi Asf Wmv Wma Rm Rmvb 修复器来修复。 【作者声明】:初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教! 【调试环境】:WinXP、flyODBG、PEiD、LordPE、WinHex、ImportREC、HIEW ————————————————————————————————— 【脱壳过程】: 这个V3.23版还是ACProtect V1.09加壳的,偶昨天才拿到手。前几天找了VideoFixer V3.21 的入口,但是偶当时没能修复好“丢失”代码,这两天多方请教高人,加上偶不断调试,终于有了点结果!外面落起了今年入冬的第一场大雪,飞飞扬扬漫天琼玉,好冷的夜晚。来杯酒吧,庆祝偶的小有进展!感谢 jingulong、mikelong 、playar 等各位兄弟的指教!偶很菜,谢谢兄弟们的诲人不倦!来,干一杯! 一、寻找入口 具体过程请参考偶前几天发的相关笔记 006E7F0B CD 01 int 1 ====>ACProtect典型异常 006E7F0D 40 inc eax ====>直接此处下断!Shift+F9断在这里!CTRL+F9执行到返回! 006E7F0E 40 inc eax 006E7F0F 0BC0 or eax,eax 006E7F11 0F85 B6000000 jnz videofix.006E7FCD 006E800E 61 popad 006E800F 61 popad 006E8010 C3 retn ====>返回到 006EBC8B 006EBC8B E9 05000000 jmp videofix.006EBC95 下面都是注意用F8带过的地方! 006EBD6A E8 A7C2FFFF call videofix.006E8016 006EBE45 E8 FAC6FFFF call videofix.006E8544 006EBF86 E8 B9C5FFFF call videofix.006E8544 006EBFA4 E8 D0B8FFFF call videofix.006E7879 006EC05C E8 ACC7FFFF call videofix.006E880D 006EC099 E8 26EEFFFF call videofix.006EAEC4 006EE409 E8 018DFFFF call videofix.006E710F 006EE535 E8 DC9AFFFF call videofix.006E8016 006EE57A E8 FCBAFFFF call videofix.006EA07B 006EE5AB E8 949FFFFF call videofix.006E8544 …… …… 省 略 …… …… 006FC802 E8 BD91FEFF call videofix.006E59C4 ====>F8带过 006FC807 8B85 11BC4100 mov eax,dword ptr ss:[ebp+41BC11] ====>EAX=000DBA0A 006FC80D 0385 383F4000 add eax,dword ptr ss:[ebp+403F38] ====>EAX=000DBA0A + 00400000=004DBA0A 这就是返回的入口值 006FC813 8985 11BC4100 mov dword ptr ss:[ebp+41BC11],eax ====>[ebp+41BA4C]=[006FCC11]=EAX=004DBA0A 在内存[006FCC11]处下 内存访问 断点。 F9 运行,数秒钟后程序自动停下! 006FCC0B FF25 11CC6F00 jmp dword ptr ds:[6FCC11] ; videofix.004DBA0A ====>飞向光明之巅! ———————————————————————— 004DBA0A 53 push ebx ====>可以在这儿用LordPE完全DUMP这个进程 004DBA0B B8 4CB54D00 mov eax,videofix.004DB54C 004DBA10 E8 23B6F2FF call videofix.00407038 004DBA15 8B1D A0DE4D00 mov ebx,dword ptr ds:[4DDEA0] 004DBA1B 8B03 mov eax,dword ptr ds:[ebx] 004DBA1D E8 C2B0F8FF call videofix.00466AE4 ————————————————————————————————— 但是偶运行修复输入表后的程序出错。呵呵,这是壳的效果! 00404735 E8 D9E92D00 call 006E3113 ====>这里出错!进去看看 006E3113 FF25 BC501400 jmp dword ptr ds:[1450BC]//出错 006E3119 FF25 C0501400 jmp dword ptr ds:[1450C0]//出错 006E311F FF25 C4501400 jmp dword ptr ds:[1450C4]//出错 原来脱壳后[1450BC]等里面的代码全部不是正确的数据!几百条代码没了,程序当然不“干活”了。 ————————————————————————————————— |