首页
社区
课程
招聘
[旧帖] 以硬盘序列号生成机器码的软件,如何下断点比较好? 0.00雪花
发表于: 2013-9-25 16:39 16426

[旧帖] 以硬盘序列号生成机器码的软件,如何下断点比较好? 0.00雪花

2013-9-25 16:39
16426
现在有很多软件,以硬盘序列号(不是逻辑盘符的序列号)作为参数,生成机器码,作为限制扩散的手段,即所谓的“一机一码”,我想请教,对这类软件进行破解或者追踪时,有什么好的方法,快速定位到程序生成机器码的位置?谢谢!!!

最好以VC++程序为例讲解,谢谢!!!

另外,是否可以根据本机生成的机器码,下相应内存写入断点,找到程序在内存中写入这些机器码的地方?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
ZwDeviceIoControlFile
2013-9-25 17:37
0
雪    币: 1042
活跃值: (470)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
CreateFileA/W
2013-9-25 17:52
0
雪    币: 184
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
DeviceIoControl这个API函数是获取真正的硬盘序列号的函数。然后用内存断点跟踪取出来的序列号。。
2013-9-26 09:01
0
雪    币: 9323
活跃值: (3097)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢losed的回复!我可不可以这样理解:

1、我的目的就是快速到达程序生成机器码的地方
2、比如注册时程序显示的机器码是: E528-32FB-8974-092D,但我不知道程序在哪里生成了这些机器码
3、既然我不知道生成机器码的位置,如何下内存断点?访问还是写入断点?以什么为条件下断点?这些对我这个新手来说都很迷茫,还请losed详细解释一下,谢谢!!!
2013-9-27 00:13
0
雪    币: 9323
活跃值: (3097)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不好意思,我原帖的意思没有表达清楚,其实我是想快速到达程序生成机器码的位置,因为第一次读取硬盘序列号的位置,并不一定是生成机器码的位置,还请大家为我解答,谢谢!!!
2013-9-27 16:44
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
你可以看看这个网页:http://blog.csdn.net/zhw309/article/details/7753125或许对你有所帮助。
2013-11-20 22:40
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
顶贴学习一下,我也想解决这个问题
2013-11-27 02:01
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
顶贴学习,我是新人,呵呵,看得一头雾水!
2013-11-27 22:42
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
感觉吧,根据字符串来,我是新手。或者直接断下提示窗口
2013-11-28 10:55
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
如果常用的API不存在,我是这样的找的:
1:先找到序列号的字符串是什么;
2:找到大致的一个代码范围;
3:执行代码,查找一下是否出现了已知的字符串;
4:逐渐缩小代码的范围,直到找到所需代码。
2013-11-28 15:36
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我手上也有个程序是注册机器码的啊,琢磨好久了,还没破解
2013-12-6 16:09
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
一般来说可以下CreateFileA,基本能拦截到大部分获取硬件信息的操作,拦截后Ctrl+F9返回到主程序代码,然后逐步的走走看,一般能到到生成机器码的地方,然后找要点,分析过程.
2013-12-9 22:48
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
试试万用断点,网上有教程
载入程序,右键查看“模块USER32”,再查找字串"F3 A5 8B C8 83 E1 03 F3 A4 E8", 然后下断点,运行程序,输入假码,一般断下来的地方就离注册码不远了,找二个视频看看就简单多了,我也是菜鸟,这方法就是太累,不过很容易上手,会了这个,再弄个API断点插件,尝试下别的,找对断点了,有可能注册码就在面前。
2014-2-23 00:20
0
雪    币: 9323
活跃值: (3097)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
谢谢丐世奇侠!
2014-3-29 09:34
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
也正学习这个,还是没啥进展
2014-4-2 20:26
0
雪    币: 102
活跃值: (1845)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
mark,我也想知道。
2014-4-2 23:10
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
可以先搜索序列号字符串,网上找就应该有算法CALL。
2014-5-12 11:11
0
游客
登录 | 注册 方可回帖
返回
//