首页
社区
课程
招聘
[旧帖] [求助]如何从程序中提取部分代码编写注册机 0.00雪花
2009-10-2 13:11 4093

[旧帖] [求助]如何从程序中提取部分代码编写注册机 0.00雪花

2009-10-2 13:11
4093
目标程序的验证机制很简单,里面有一个关键函数,用于对机器码进行计算,返回值跟注册码进行比较。

按照一般做法,把这个函数的汇编提取出来编写注册机就是了,并且这个函数也没有引用别的函数,但是这个函数使用了大量的常量进行计算,所以光提取汇编不行。我PE的功底不够,既提取汇编,又提取数据段来做注册机就不会了。

后来我采用了另一种做法:我写了一个程序,把整个目标程序载入内存,在准备好参数后,跳到目标函数去。但结果并不如人意,函数开头的代码还执行得很好,但是在往指定内存区域写数据的时候,就报异常了,百思不得其解,特来求救。
异常部分代码如下:
mov     esi, offset stru_58B278
mov     edi, esp
mov     cl, [edi+7]
test    cl, 80h
setnbe  al
mov     [esi], al
最后这一行往0x58B278写入一个字节的时候,就报异常。

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

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 4611
活跃值: (1993)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
oep1 4 2009-10-4 17:56
2
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
笨l笨 2009-10-6 17:03
3
0
laomms  有个ida提ASM做注册机系列不错,搜下!!!
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
nba2005 5 2009-10-6 23:23
4
0
楼主的VB插件一直使用着,在此感谢。

一点愚见思考,供参考。我觉得有下面几个可能:
1.指定内存区域的读写属性问题。如果是不可写入,会异常报错。
2.是指定区域的临时数据的互不干扰性。最好是全零的空闲内存区域。

印象中,好像CCdebuger写过一篇这方面的详细教程。我也是一知半解,
不是太懂。
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
nba2005 5 2009-10-6 23:24
5
0
找到了,希望对LZ有用:

【原创】OllyDBG 入门系列(七)-汇编功能      

--------------------------------------------------------------------------------

标 题: 【原创】OllyDBG 入门系列(七)-汇编功能
作 者: CCDebuger
时 间: 2006-04-09,16:42
链 接: http://bbs.pediy.com/showthread.php?t=23873
游客
登录 | 注册 方可回帖
返回