ExStudPE 使用案例随笔(1)—— 在软件破解中的应用

最近一个前同事 Y君 面临一个问题: 某erp龙头企业〇迅 屏蔽了其公司的某某插件导致收入骤减,

于是尝试咨询笔者使用 ExStudPE 破解其产品中的相应模块。

过程本身很简单,考虑到真正熟悉该工具的开发者比较少,所以简单记录一下,聊以作为一个教程吧。

至于有没有《案例随笔(2)》之类的,姑妄言之,姑妄观之。

当然,用于破解的工具软件有很多,比如广为人知的OD,IDA之类的。乃至 ExStudPE,也算是各有优劣,在此不言。

先简单介绍下 ExStudPE:

----------------------------------------------------------------------------------------------

      ExStudPE Visual Tools 是一个扩展StudPE、LordPE等软件的用于PE(32位)、PE+(64位)、NE、Elf(32位)、Coff、Lib格式二进制可执行目标文件(*.exe、*.dll、*.ocx、*.so、*.lib、*.obj、*.exp等)的分析、调试、十六进制编辑工具。

      利用此工具可以方便的查找给定PE文件的一些常用的信息,如导入表、导出表、重定位表、资源、消息表、版本信息、PE附加数据等等。同时可以方便地实现给定程序代码的反汇编功能,同时提供了快速定位的有效解决方案。同时本程序也具有十六进制编辑器的基本功能。另外,本程序集成了对于目标文件的简单的调试功能(包括虚拟机调试与实体机调试),使用方便。特别适合于专业的PE分析研发人员使用。

     不仅如此,新版本还增加了许多其他附加特性及插件(比如二进制资源探测插件、编译器可识别插件、二进制依赖项分析提取插件、符号名称反修饰插件、二进制数据格式化插件等等),使用最新版本将会获得更好的操作体验。

    下载地址:

     https://download.csdn.net/download/tan_kaishuai/11456728

     https://github.com/tankaishuai/ExStudPE_Visual_Tools

----------------------------------------------------------------------------------------------

 

    书接上文。Y君研究 〇迅 的某关键模块导出接口: hasInterference() ,欲使其直接返回 false,以绕过主程序检查。

    首先用 ExStudPE 打开模块:因为 hasInterference 是一个导出函数,因此直接展开导入表树形节点定位到即可:

 

 双击 hasInterference 节点,定位到函数导出地址处:

 

如图,函数的 RVA地址即是:00008440。右键 -> 【跳转至选取 RVA】:

然后点击【反汇编】按钮:

 此时,即显示出了 hasInterference() 函数的内容及反汇编代码。如图所示↑。

 研究汇编代码,欲使该接口总是返回 false,可修改红框两处位置分别为:

         74 0C     je 00008477h

         33 C0     xor eax, eax

例如,点击 je 00008479h, 选择菜单:【选择】->【修改文件数据】:

输入 74 0C,点击确定,完成修改。

可以重新选取函数块,重新进行反汇编,如下:

可见已经正确修改完成。

最后选择:【文件】(或者右键)->【保存全部数据】,即可将修改的模块存盘。

 

 

 

当然,最后 Y君 发现仅修改该接口并不能达到其最终目的,〇迅 有其他保护手段,待继续研究,在此不谈。

是以,此文仅为抛砖引玉之用,更深入的用法建议还是查看帮助文档或者亲自探索吧。^_^)'

 

 

原创文章 17 获赞 7 访问量 4665

猜你喜欢

转载自blog.csdn.net/tan_kaishuai/article/details/97907394
今日推荐