吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 54348|回复: 21
收起左侧

[分享] 外挂绑定机器码破解思路。

[复制链接]
2006hu 发表于 2010-12-31 09:03
以前我们写注册机时,一般都要了解程式的算法,之后用汇编语言或 C 语言来把算法还原,这样做一个注册机一般都有要花不少的时间,而且要对汇编语言和编程有比较高的要求,所以对于初学者来说,是一件很难的事情,对于不少的初学者 ,有时他们能在内存中找到注册码,但却没有能力写出注册机来,这大大削弱了他 们的破解积极性,但还有更可恶的事,就是目前有不少的程式,它的注册码都与硬 件有关,就是在每一台机上安装都有一个机身码,要把这个机身码 E-MAIL 给作者,作者把收到的机身码用注册程式算出注册码后再寄回给用户,这样做使得软件的防 复制方面加强了,但造成了不少用户的麻烦,因为只要用户一重装系统或升级主板 ,就要重新去注册了。对于这种程式,一般初学者只能在内存中找到自己机器的注 册码,但这种注册码到了其它的机器上又不能用了,而自己又没有办法写出注册机来,为了解决这方面的问题,我写了一个小软件,它可以从另一进程内存中取出注 册码来,显示出来,而不需要你去了解注册程式的算法,但它的应用面是很有限的, 只能对付符合以下条件的软件:
一、必须在内存中或在寄存器中可以找到正确的注册码;
二、被取注册码的软件不能反跟踪程式;
三、被取注册码的软件的比较部分程式是静态的存在的;
四、注册码比较程式只作比较注册码使用。
好了,讲了这么多,不如来个例子说明一下如何使用它吧!哦对了,大家还不知那 个东西是什么呢?它叫 CrackCode2000 啊!
以下是一个软件的注册码比较程式,大家不要问我怎么样得到了,大家只要听下去 就可以了。
015F:004149D2  8A06                MOV       AL,[ESI]   这里放你的输入的注册码
015F:004149D4  84C0                TEST      AL,AL
015F:004149D6  740D                JZ        004149E5
015F:004149D8  8A11                MOV       DL,[ECX]   这里放正确的注册码
015F:004149DA  41                  INC       ECX
015F:004149DB  46                  INC       ESI
015F:004149DC  3AC2                CMP       AL,DL
015F:004149DE  751F                JNZ       004149FF
015F:004149E0  803900              CMP       BYTE PTR [ECX],00
015F:004149E3  75ED                JNZ       004149D2
015F:004149E5  803900              CMP       BYTE PTR [ECX],00
015F:004149E8  7515                JNZ       004149FF
015F:004149EA  803E00              CMP       BYTE PTR [ESI],00
015F:004149ED  7510                JNZ       004149FF
015F:004149EF  B801000000          MOV       EAX,00000001   最后正确就把 EAX=1
015F:004149F4  5F                  POP       EDI
015F:004149F5  5E                  POP       ESI
015F:004149F6  5D                  POP       EBP
015F:004149F7  5B                  POP       EBX
015F:004149F8  81C460030000        ADD       ESP,00000360
015F:004149FE  C3                  RET
好了,大家在 Winsoftice 下以下的命令可以看到:
:d esi
0167:0041F1F8 34 38 34 38 34 38 34 38-34 38 34 38 00 00 00 00  484848484848....
0167:0041F208 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0167:0041F218 04 0D 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0167:0041F228 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0167:0041F238 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0167:0041F248 00 00 00 00 00 00 00 00-00 C0 00 00 0A 04 00 00  ................
0167:0041F258 04 00 00 00 0A 00 00 00-01 00 00 00 90 03 CA 00  ................
0167:0041F268 00 00 00 00 D0 03 CA 00-00 00 00 00 00 00 00 00  ................
:d ecx
0167:0066F3E4 58 51 4D 50 5A 43 57 58-54 45 52 53 00 01 08 00  XQMPZCWXTERS....
0167:0066F3F4 9A EE 8B 17 E3 A4 00 00-10 00 E0 2C 00 00 00 01  ...........,....
0167:0066F404 00 03 00 00 00 00 00 00-80 01 AB 01 8D 01 9C 01  ................
0167:0066F414 00 00 AB 01 8D 01 00 00-80 01 9C 01 8C 01 A4 01  ................
0167:0066F424 8D 01 9C 01 8C 01 A4 01-8D 01 04 00 00 00 B6 0C  ................
0167:0066F434 00 A9 52 FB 83 2A D1 78-21 88 73 DA A2 0B F0 59  ..R..*.x!.s....Y
0167:0066F444 65 CC 37 9E E6 4F B4 1D-44 ED 16 BF C7 6E 95 3C  e.7..O..D....n.<
0167:0066F454 ED 44 BF 16 6E C7 3C 95-CC 65 9E 37 4F E6 1D B4  .D..n.<..e.7O...
见到了吧!那个 XQMPZCWXTERS 就是正确的注册码了,但如果我们用以前的方法来写注册机, 就要去分析前面的程式了,但我们今次不是用这种方法来制作,而是用 CRACKCODE 来做,这样大家可以见到用 CRACKCODE 来做注册机实在是太方便了,太简单了! 好,我们为 CRACKCODE 来写一个 INI 文件吧!
第一种写法(这是一种不提倡的写法!):
内存直接寻址的方法:
[Options]
CommandLine=Axplorer.exe   这是被取注册码的 EXE 文件名
Mode=0      采用模式 0 读取注册码
First_Break_Address=4149D2   程式的中断地址,它和 ICE 中见到的是一样的
First_Break_Address_Code=8A   中断程式的 1 Byte 代码,这个 8A 就是 015F:004149D2 的 8A
First_Break_Address_Code_Lenth=2  中断行代码的长度(单位: byte )
Save_Code_Address=66F3E4   存放注册码的内存地址
第二种写法(这种值得推荐!)
寄存器间接寻址的方法:
[Options]
CommandLine=test.exe   这是被取注册码的 EXE 文件名(化名)
Mode=0     取用模式 0 读取注册码
First_Break_Address=4149D2  程式的中断地址,它和 ICE 中见到的是一样的
First_Break_Address_Code=8A  中断程式的 1 Byte 代码,这个 8A 就是 015F:004149D2 的 8A
First_Break_Address_Code_Lenth=2 中断行代码的长度(单位: byte )
Save_Code_Address=ECX   存放注册码的内存地址,这个 ECX 是从 015F:004149D8 来 的,大家见到了吧!这和上前的方法相差就只是这句, 当你使用了这句,就不怕软件是否被压缩过了。
注意:
      目前 CRACKCODE2000 对所中断地址的代码长度已经是无有要求的,只要把长度写进 INI就可以了!
015F:004149D2  8A06                MOV       AL,[ESI]    本行代码为 2 Bytes
015F:004149DA  41                  INC       ECX         本行代码为 1 Byte
015F:004149E0  803900              CMP       BYTE PTR [ECX],00  本行代码为 3 Bytes
生成后保存为 CRACKCODE.INI 文件,把 CRACKCODE.EXE 和 CRACKCODE.INI 一起 copy 到被注册的 软件的安装目录下,运行 CRACKCODE.EXE 。哦!被取注册码的软件也运行了,到注册的窗口去,输入一个名字,随便输入注册码,按确定,哦!跳出一个显示窗来,里面出现了你想要的正确注册码了。是不是觉得很神奇呢!来试一试你就知道了!

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

gamezx 发表于 2010-12-31 09:52
如果是网络绑定注册码就不行了吧
一米阳光 发表于 2010-12-31 11:42
52pjzy 发表于 2010-12-31 09:53
lzw555 发表于 2010-12-31 12:48
眼睛看花了…… 字体大一点吧,慢慢看看。
往昔似梦 发表于 2010-12-31 12:15
可惜我想研究的那个软件反跟踪的
zhuqingxu 发表于 2010-12-31 13:03
谢谢楼主  分享
qq18991153 发表于 2010-12-31 13:21
看看。学习学习!!!
yjd333 发表于 2010-12-31 14:15
写的是程式,,应该是tw的?
不舍远走 发表于 2010-12-31 20:09
这个东西是多久以前的?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-3 02:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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