一个重复造轮子的内存注册机生成工具
使用KeyMake写内存注册机遇到过一个短板,碰到DLL就GG了,所以加了这个功能,生成的注册机样式还是比较死板,不过可以自己用源码修改。
那个生成器的源码是在凌晨3点写的,晕乎乎的,自己都不知道自己到底在写什么J8玩意……我汗
不过最后还是能用,是吧,能用就是硬道理。
本人菜鸡一只,如有不对之处,还望指教,本人不胜感激。
生成的注册机的样式
目录下有一份帮助文档,第一次使用还是看一下吧。
1.本工具支持两种地址下断模式
1.VA地址模式
2.RVA地址模式
VA = ImageBase + RVA
VA地址针对EXE程序,RVA地址针对DLL
VA地址就和KeyMake的地址是一样的,RVA地址需要填写DLL名,和RVA偏移
(选择RVA模式时,填写VA地址的地方填写模块名,再右边一个Edit(TextBox、编辑框)填写偏移)
DLL名请不要填写.dll后缀,如果是ABC.DLL,直接填写ABC即可
RVA偏移请不要写上+符号,只需要填入十六进制偏移即可
2.【注册码在内存中模式】的偏移如何使用
本偏移与写内存外挂的偏移不是同一回事!请仔细理解以下内容
本偏移使用需要写上+号或-号,分别代表加与减
第一层偏移,表示对您所选择的寄存器的值进行偏移+-操作,得到的数值作为第一层偏移的结果
第二层偏移,表示把第一层偏移得到的结果加减第二层偏移数值,得到的结果作为一个内存地址,再从这个内存地址中读取出一个DWORD(int、整数型)数据,作为第二层偏移的结果
第三层偏移以此类推
用[]内存寻址符号来表示就是
第一层偏移:寄存器+第一层偏移
第二层偏移:[寄存器+第一层偏移+第二层偏移]
第三层偏移:[[寄存器+第一层偏移+第二层偏移]+第三层偏移]
无论如何设置,最后一层偏移的结果,都要指向要获取的注册码!!!
偏移支持0偏移,但前面要带上+或者-号
本人觉得这一块设计得太糟糕了,如果您有更好的办法,请联系我,本人不胜感激!!!
3.为什么要设置第一字节
这个第一字节一定要填好,因为这个字节是用来判断写入INT3断点时机的
4.支持把注册码读取为什么形式
1.DWORD(int、整数型) 以十进制表示
2.DWORD(同上) 以十六进制表示
3.ASCII字符串
4.UNICODE字符串
其中3、4方式如果选择的是【注册码在寄存器中方式】则无法使用!(我觉得一个32位寄存器不可能被用来存Byte数组吧?)
5.发现BUG如何反馈?
请致信fjack2002.3.10@gmail.com
这是编译后的成品:
这是源代码: 支持原创 怎么玩的 感谢楼主分享的设计哦
页:
[1]