欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

PECompact.v1.80.b2解密详解

程序员文章站 2022-03-19 11:11:43
///////////////////////////////////////////////////////////////////// // // 目标软件:PECompact // // 软件版本:1.80 Build 2 // // 官方网站:ht... 08-10-08...
///////////////////////////////////////////////////////////////////// // // 目标软件:pecompact // // 软件版本:1.80 build 2 // // 官方网站:http://www.collakesoftware.com/ // // 软件授权:共享软件 // // 操作系统:win95/98/me、winnt/2000 // // 软件简介:知名的pe格式文件压缩工具... // // 软件保护:pecompact壳保护 // ///////////////////////////////////////////////////////////////////// // // 使用工具:trw2000 v1.22 娃娃修改版 // (主要用于调试分析) // // lordpe armageddon by y0da // (dump & pe文件分析修改) // // winhex v10.4 sr-3 // (用于pe文件的16进制修改) // // hiew v6.70 // (用于添加smc代码) // // our brain...:-) // ///////////////////////////////////////////////////////////////////// // // 关于本文:本文主要目的在于教学,研究pecompact壳的分析及多重smc解 // 密方法...请勿将此教程用于商业目的。 // // always your best friend: finalseraph // // 水平有限,难免疏漏... // // any question? // mail to: finalseraph@yahoo.com.cn // // 2002-05-10 // ///////////////////////////////////////////////////////////////////// // // 第1步:得到可正确执行的脱壳文件(其实只要dump就行,没必要可执行) // ///////////////////////////////////////////////////////////////////// 这一步比较简单,我就不详细叙述...详细过程可参看以前的文章。关于oep可 参看diken的“快速找到pecompact加壳文件的oep” ///////////////////////////////////////////////////////////////////// // // 第2步:分析脱壳后的文件,找到我们要修改的地方 // // 这里比较有意思的是对于pe文件控件的屏蔽... // // 这是最近研究virility做的破解才注意到的。 // ///////////////////////////////////////////////////////////////////// 对于解决日期限制问题就不多说了,比较简单。 pec1:004011e9 call sub_40542f pec1:004011ee mov ds:dword_40d69d, eax //返回值是剩余的使用时间 //修改方法是将0040542f的指令变为ret pec1:0040542f enter 30h, 0 //mov b,[0040542f],0c3 ///////////////////////////////////////////////////////////////////// 对于显示unregister! 我找到以下关键点: pec1:004053a5 push offset aunregistered ; lpstring //->"unregistered!" //这里的代码要改为我们想保存自己姓名信息 //的地址。(这个地址可稍后确定) //mov d,[004053a6],???????? pec1:004053aa push 434h ; niddlgitem pec1:004053af push [ebp hdlg] ; hdlg pec1:004053b2 call setdlgitemtexta /////////////////////////////////////////////////////////////////////