| 网站首页 | Vip会员区 | 教程 | 下载 | 图片 | QQ家园 | 免费资源 | 在线服务 | 论坛 | 博客 | 程序开发 | It学堂 | 作品发布 | 
站点相关
代刻黑客光盘或订做光盘

精品软件程序定制

为您的网站或者服务器保驾护航
相关内容
最 新 热 门
相 关 文 章
没有相关文章
您现在的位置: 红色黑客联盟 >> 教程 >> 其他技术 >> 软件破解 >> 正文
使用SMC技术破解的一点心得
文章录入:7747.Net    责任编辑:7747.Net 

【字体:

一、对于用壳保护的软件使用SMC技术破解一般适应1~3层压缩保护,如果软件被壳多层保护,使用SMC技术会非常麻烦,不如脱壳解密来得快。 
二、要是OEP在原文件中以明文形式存在,就会省很多事,否则还要确定OEP的加密算法。对于不同的壳,相同壳的不同版本,加密算法各不相同,这要查阅别人的经验。 
  要确定OEP在文件中是以明文存在还是以压缩形式存在,可用W32DASM反汇编,看看能否找其到明文代码;或动态跟踪程序到执行到入口点的前一个指令,记下其跳转到入口点的代码,用Uedit32.exe能否查到这此代码;或用Uedit32.exe直接查找入口点数据。 
  在此先举例说明用Uedit32.exe直接查找入口点数据以及修改入口点数据的方法: 
1、假如用冲击波2000或其他方法获得程序abc.exe的入口点为0040C050;用PEditor.exe打开abc.exe可知其基址为00400000,则在文件中的数据为:0040C050-00400000=0000C050。 
2、用Uedit32.exe打开abc.exe,查找16进制数50C00000,应查到唯一处,表明入口点是以明文形式存在的。 
3、如果你要补丁的代码的起点在内存中的地址为00505B6C,那么可以直接把文件中的50C00000改为6C5B1000即可。(00505B6C-00400000=00105B6C) 
  再举例说明最常用的动态跟踪程序的方法: 
1、假如用冲击波2000或其他方法获得程序def.exe的入口点为00499F1C,用loader32.exe装载def.exe,进入softICE后先大步用F7运行程序,估记要到真正的入口点时小心按F10,观察是哪个指令让程序跳到真正的入口点。(常见指令有JMP+OEP和push+OEP+ret两种形式)。 
2、现见到0187:0050A5D3  E944F9F8FF  JMP 00499F1C 
3、记下E944F9F8FF,用Uedit32.exe打开def.exe,查找16进制数E944F9F8FF,查到唯一处,表明入口点是以明文形式存在的。(显然,如用上面方法是查不到1C9F0900的) 
4、如果你要补丁的代码的起点在内存中的地址为00400370,则当程序运行到0187:0050A5D3时用A命令修改代码: 
原  0187:0050A5D3  E944F9F8FF  JMP 00499F1C 
变为 0187:0050A5D3  E9985DEFFF  JMP 00400370 
用Uedit32.exe打开def.exe把E944F9F8FF改为E9985DEFFF即可。 
三、在程序中找一块空闲的地方将执行修改程序的代码写进去,要求这块空闲的地方映射到内存中,在程序解压完毕后不能被覆盖掉,且要用SMC修改的那个section必须有可写的属性(要改成E0000020或C0000040才行!)。这块空闲的地方大都放在第一个section前面的那段空间比较好(一般在文件的300H~400H处),如果在300H~400H段找不到空间,本人认为最好放在压缩壳本身的一段连续00处。如用aspack压缩的软件,用PEditor.exe打开软件查看其块表。注意到块.aspack的Raw Offset是00000c00~00002c00,就用Uedit32.exe打开软件在00000c00~00002c00段找空闲地方即一小段连续为00的地方。 
四、只要入口点处改得正确,不用在SoftICE中用A命令来写入汇编代码。直接用下面方法把16进制数连续填入空闲的地方便成。 
C605+内存地址+一个字节, 修改一个字节; 
66C705+内存地址+二个字节, 修改二个字节; 
C705+内存地址+四个字节, 修改四个字节; 
68+入口点内存地址,      Push OEP; 
C3,                ret 返回入口点。 
注意:内存地址倒着写,数据顺着写。

 

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     | 设为首页 | 加入收藏 | 广告服务 | 我要投稿 | 关于我们 | 版权申明 | 免责声明 | 隐私声明 | 网站地图 |