内存注册机的工作原理及masm源码

标 题: 【原创】内存注册机的工作原理及masm源码
作 者: 王仁军
时 间: 2007-06-05,15:22:21
链 接: http://bbs.pediy.com/showthread.php?t=45821

[编程工具]masm32(9.00)+RadAsm2.2.0.9

[调试工具]OD1.10
[调试平台]WinXP/SP2

  先说明一下,我编写这个内存注册机只是为了学习一点程序的调试原理,它的实用性不说也罢,因为现的软件保护谁都知道,想这么容易取得注册码,门都没有,这也许正是刘健英放弃KeyMake的原因吧。我不想,也没有能力去步他的后尘,只是好奇,玩玩而已。


  内存注册机实际是个超小的调试器,以调试的方式打开目标软件进程,在特定的地址设置 int 3 断点,程序运行到断点处被挂起,这个时候就可以用 ReadProcessMemory 或 GetThreadContext 函数取得目标软件特定内存或特定寄存器中的内容,显示出来就好了。


只是前面提到的地址、寄存器等只有你跟踪了目标软件的注册算法后才会得到。根据注册算法的不同,注册机中的某些代码也可能要调整,所以我的代码对不会编程的人来说就是1000%的垃圾。


  有些软件加了壳,不过我终于想出办法来对付它了,有壳我照样可以断下来,取到我想要的数据。杀毒软件对我的注册机也不感兴趣,大概是太臭了吧~O~。


http://pan.baidu.com/netdisk/singlepublic?fid=140393_1958810457

============

使用 修改点:

1、inc 文件里的 szEXEName、BreakPoint (后面的h别忘记了)、OldCode、Buffer(根据注册码长度改)

2、asm文件里的 DlgProc 函数里的 ReadProcessMemory,wsprintf 根据注册码在哪,使用哪个方式来得到注册码。([ebx].regEax 表示eax 寄存器)

3、下载 RadASM http://www.onlinedown.net/soft/26097.htm 导入项目,编译即可。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值