吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 17395|回复: 42
收起左侧

[原创] 初亦泽之软件通杀教程第一课 通杀的基本原理与方法

  [复制链接]
初亦泽 发表于 2016-10-19 09:20
本帖最后由 Sound 于 2016-10-19 22:10 编辑

大吾爱竟然没有介绍通杀技术的帖子。。。。。。。。。。。。。。。
伸手党也不要来了,这里并没有打包通杀补丁,仅仅给新人一些启发,大牛请绕道

初亦泽之软件通杀教程第一课通杀的基本原理与方法


这一课我们讲简单程序的通杀方法

通杀的关键在于特征码的总结,然后就是对特征码的处理
基本知识
一、常量
在汇编中,在编程时就已经确定、而且不可以再更改的数据,可以理解为常量,常量一般为立即数,它的数值是指令代码的一部分,在存储单元与寄存器中的数值是内存变量。
在汇编代码中,常量的出现方式可以为多种, 如 立即数到存储器的数据传送 示例: MOV ax,25 的25,代表直接数值 也可以用Dec、ascii etc 格式代替,也可以用过通过数值返回算符或常量表达式生成常量,数值返回算符,
如OFFSET等都可以用于产生立即数,所以用它们组成的表达式也是常量。如 MOV SI,OFFSET DATA1 ,源操作数OFFSET DATA1 是在汇编中直接表达并确定其值的常量。
常量区分为不同的类型,如25、0、-8为整形常量,6.8、-7.89为实型常量,‘a’‘b’为字符常量。常量一般从其字面形式即可判断。这种常量称为字面常量或直接常量。这个flag往往是程序验证的关键所在
二、变量
   变量会在程序执行过程中随着程序运行的条件改变而动态的发生改变,例如一个收费程序有注册和未注册两种状态,程序的注册状态就是变量的一种。一般变量需要进行初始化,也就是要给变量预先设定一个初值。程序一般先将初始化的值设置为未注册,再通过验证的子程序来判断是否给程序注册状态这个变量赋予新值。
三、地址码
  指令存放的地址,你打开od之后反汇编窗口最左侧那些十六进制数就是地址码
四、操作码
  OD反汇编窗口中地址码右侧那一列就是操作码(也就是常说的逆向工程中的特征码),操作码中分为指令代码和偏移地址,以及常量

地址码.JPG


逆向工程中常用的有这些(常见但不常用的没有列出,欢迎补充)
   
   常用的指令代码   :long型:  JNZ   0F85    ;JE   0F84  
                                  short型:  jnz  85       ;je   84   jnb:    73   ;jge  7d      ;jmp    eb ;cmp    66
                      空操作 :NOP    90   
   
    对相同验证或者类似验证方式的软件,其操作码中的指令代码往往是不会改变的,而偏移地址却会不同,这些变化的部分我们可以用??代替,不变的可以直接保留下来
  实战  
五、所用工具
1.吾爱破解专用OD(目测是最好用的吧,不要比谁强谁弱,好用才是硬道理)
2.PEID或EXEINFO
3。DIE64
4.通用特征码替换工具
六、实战某系列软件的通杀
1、观察此系列软件的验证方式
软件1:
软件1-1.JPG

软件2:
软件2-1.JPG

软件3:
3-1.JPG

我们可以发现软件验证方式基本一致,应该可以实现系列通杀以及版本通杀


2、查壳查语言(时间所限不演示了)VB,无壳
3、OD载入第一个程序,右键,搜索字符串注册码

软件1-2.JPG


软件1-3.JPG


我们可以发现有一个跳转跳过了成功而指向了失败


1-4.JPG


1-5.JPG

跳转成功是关键跳上面比较的结果,所以,关键特征码应该是这两行代码
0050F0B1   . 66:837D CC FF cmp word ptr ss:[ebp-0x34],0xFFFF    跳转的原因
0050F0B6   .  0F8561030000 jnz PDFcombi.0050F41D                关键跳   
我们将其nop掉,保存再注册后发现是已注册版本,所以,我们确定这就是关键特征码

1-6.JPG


1-7.JPG

我们右键- 二进制-二进制复制便得到了   软件1的关键特征码:   

66 83 7D CC FF0F 85 61 03 00 00

同理。我们再得到2、3的关键特征码

2-2.JPG

3-2.JPG

软件1的关键特征码:  66 83 7D CC FF 0F 85 61 03 00 00
软件2的关键特征码:  66 83 7D CC FF 0F 85 20 03 00 00
软件3的关键特征码:  66 83 7D C4 FF 0F 85 A8 03 00 00
                                     66 83 7D CC FF 0F 85 9D 03 00 00
                                     66 83 7D C0 FF 0F 85 92 03 00 00
                                     66 83 7D C8 FF 0F 85 87 03 00 00
                                    
我们对比一下看看哪里有不同的地方不同的地方我们用  ??  来代替
我们就可以提取到这个特征码   :6683 7D ?? FF 0F 85 ?? 03 00 00
为什么??的地方会不同呢,这是因为那是偏移地址,或者是动态的跳转偏移,
对不同的软件一般是不一样的,而那些不变的部分,是指令代码,或者是全局常量
是不会改变的
根据我们上面学到的知识
常用的指令代码   :long型:  JNZ   0F85    ;JE   0F84  
                               short型:  jnz  85       ;je   84    jnb:   73   ;jge   7d     ;jmp    eb  ;cmp   66
                               空操作 :NOP    90  
                              
                              
                              
所以我们还可以再精简一下  :66?? ?? ?? FF 0F 85 ?? ?? ?? ??
这就是我们所需要的通杀特征码,如果软件作者不更改验证机制,那么理论上仍然支持其同系列已经后续升级版本的破解
我们将具有这些特征码的地方全部nop掉就可以完成破解
即:90 90 90 90 90 90 90 90 90 90 90
注意修改后长度一定要相等
                                             
                                             
                                             
总结;通杀特征码:66 ?? ?? ?? FF 0F 85 ?? ?? ?? ??
      补丁特征码:90 90 90 9090 90 90 90 90 90 90
         
         
         

         我们用通用特征码替换工具制作成通杀补丁试试


t1.JPG


         填一下这些内容,我们点设置补丁内容,


捕获.JPG

程序名就填1.exe吧,因为其同系列软件主程序的名字都不一样,
         
         这样,通杀时我们只需要将其主程序名更改为1.exe即可
         
         补丁方式选择补丁在特征码位置,
         
         文件选择补丁单个文件
         
         补丁所有特征码匹配打上勾
         
         最后点添加
         
         然后点保存
         
      创建补丁
         

         就得到了我们的通杀补丁


程序.jpg

我们将其复制到待破解软件安装目录,
         
         把主程序名字更改为1.exe试试
         
        patch it
         

         软件成功注册


程序3.JPG
再试试作者的其他软件?同样成功      
教程到此结束
         
       第一课程序比较简单,适合入门练习,第二课我会讲一个难一点的程序(字符串加密,加了一款不错的保护壳,利用HOOK技术实现破解。)


工具: 通用特征码查找替换补丁工具v0_6.rar (2.86 MB, 下载次数: 188)
初亦泽
2016年10月19日

         


WORD版教程及课件: WORD版教程及课件.txt (45 Bytes, 下载次数: 33)



@Hmily,麻烦移到脱壳破解区,不知道为啥在那发不了贴了


1-8.JPG
22.JPG
t2.JPG
t3.JPG
总1-1.JPG

点评

技术含量不是很高,但超乎寻常的详细。期待楼主更好的图文!  发表于 2016-10-19 20:34

免费评分

参与人数 42威望 +1 吾爱币 +2 热心值 +42 收起 理由
梦入神机 + 1 + 1 期待更多好文!
nyfz925 + 1 + 1 我很赞同!
hhbb979 + 1 热心回复!楼主相当热心啊!我一点点学习当中!谢谢!
qwerccy + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
siuhoapdou + 1 谢谢@Thanks!
温眸°sunshine + 1 W7 32位 64位都不能启动通用补丁····
yeyulang + 1 谢谢@Thanks!
qq7156792 + 1 看到好的帖子总忍不住赞一下
KaQqi + 1 well
hc696di + 1 热心回复!
a1235465a + 1 谢谢@Thanks!
小小白菜小 + 1 谢谢@Thanks!
lin295693097 + 1 谢谢@Thanks!
tail88 + 1 鼓励转贴优秀软件安全工具和文档!
610100 + 1 谢谢@Thanks!
JackDx + 1 我很赞同!
lipinghao + 1 楼主多写些这样的好文章让我们学习参考~
Sound + 1 已经处理,感谢您对吾爱破解论坛的支持!
在路上的人 + 1 谢谢@Thanks!
And1小灰灰 + 1 谢谢@Thanks!
旱章鱼 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
愚无尽 + 1 厉害,很有想法!
ZF0806 + 1 已经处理,感谢您对吾爱破解论坛的支持!
lxwen + 1 用心讨论,共获提升!
好心分手 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wnagzihxain + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
beatone + 2 已答复!
jlm2840 + 1 用心讨论,共获提升!
羽翼 + 1 感谢大神 无私奉献
榻榻米 + 1 我很赞同!
my1229 + 1 来学习特征码通杀的基本原理与方法
bester + 1 看完要评分!
朱朱你堕落了 + 1 dup2做通杀补丁,更好一些,功能强大。软件成熟稳定!
WYWZ + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
dapang + 1 谢谢@Thanks!
十分之三 + 1 谢谢@Thanks!
wj635811102 + 1 我很赞同!
s466692282 + 1 谢谢@Thanks!
白馒头 + 1 谢谢@Thanks!
H2o + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
暴走 + 1 谢谢@Thanks!
QNLY + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hhbb979 发表于 2016-11-18 00:45
老大,我有不明白的地方——
     为什么特征码要复制两行的二进制来组成,用一行的特征码不行吗?比如,
    软件1的关键特征码:   66 83 7D CC FF 0F 85 61 03 00 00     
   能不能只用 0F 85 61 03 00 00  关键跳这一行的特征码来修改,修改成  0F 85 ?? 03 00 00  或 0F 85 ?? ?? ?? ??   进行通杀?
 楼主| 初亦泽 发表于 2016-10-19 14:44
Sound 发表于 2016-10-19 14:13
常量地方有部分错误 已帮修正, 写文章不宜, 论坛有这方面的文章,你没细心看。加个优秀。

感谢sound大指正!
Feixiangze 发表于 2016-10-19 09:25
QNLY 发表于 2016-10-19 09:31
感谢大大分享教程,辛苦了,研究一下去
暴走 发表于 2016-10-19 09:31
技术贴,支持下
aaa007147 发表于 2016-10-19 09:40
学习了,谢谢楼主
ClassWSY 发表于 2016-10-19 09:56
写得真好,很详细,大神辛苦了,感谢你花那么多时间来写教程
ningzhonghui 发表于 2016-10-19 10:13
很不错的教程,菜鸟受益了,期待下一个教程
 楼主| 初亦泽 发表于 2016-10-19 10:50
@Hmily 帮我移动到脱壳破解区吧,不知道为什么在那发不了贴了
my1229 发表于 2016-10-19 11:04
来学习特征码通杀的基本原理与方法
Hmily 发表于 2016-10-19 11:04
脱壳破解区发不了贴?显示什么?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 04:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表