首页
社区
课程
招聘
请教:Aspr2.x,如何能断下壳申请新的内存段?
发表于: 2005-10-21 17:05 4453

请教:Aspr2.x,如何能断下壳申请新的内存段?

2005-10-21 17:05
4453
我能判断出程序的Key效验处调用了某些字符串,但400000段后面data段的这些字符串没有被调用,我在1950000段内找到了这些字符串,但问题是程序最后一次经过NtContinue的int 2E时就跟不到了,直接就进入程序了。而在这个Int 2E之前,1950000这个内存段是不存在的,我无法在1950000里下硬件访问中断,所以想知道Aspr是如何申请到新的内存段的。
我用PEid扫描程序是 Asprotect 1.3x - 2.0x的,看了loveboom大侠的Aspr的版本识别和那3个教程,汗,教程也没看懂。
还有我用的是OD,不会用sice,所以也不能跟到int 2E里面,只能来这儿请教各位大侠了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
是不是没说清楚,好像没人理啊。
2005-10-21 20:33
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
3
VirtualAlloc
2005-10-21 21:18
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
多谢版主,可是这个根本就断不到啊,我连HeapAlloc都试了,就是断不到,he VirtualAlloc,he HeapAlloc,shift+F9程序就运行起来了,然后Alt+M一看,多了好几个内存块,没有授权的提示也出来了。
2005-10-21 21:43
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
应该可以断下,不要等壳“运行”了才下断
搜索《Patch注册ASProtect V1.X壳保护程序的方法》看看
2005-10-21 21:50
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
多谢,果然可以断下!
请问,OD刚装入的时候下断和NtContinue中断20次后下断有什么区别?
我是想Aspr可能把API的头上的一部分代码模拟到壳里了,但是我直接断ntdll里的函数也不行啊,肯请版主指正。
2005-10-21 23:13
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
请版主再指正一下吧。
2005-10-22 16:53
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
8
太迟了壳已经申请过内存不再VirtualAlloc当然无法断下
2005-10-22 17:52
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
但我在是用Alt+M没有看到那些内存块之前下的硬件执行断点啊?
2005-10-22 18:49
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
再顶顶,望版主和各位大侠指正!
2005-10-23 21:28
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
11
抱歉,不是太明白你所要表达的意思
2005-10-23 23:14
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
大概情况是这样:用OD载入程序,hideDebug,留下Int3和内存访问异常,在经过1次Int3、18次内存访问、一次int3、一次内存访问异常后,程序就要进入真正的OEP了,但是入口的代码都被抽到壳里了,包括入口用到的一些数据,这时程序的内存里还没有那些内存块,我可以bp下断让程序停在人口后的一段位置,然后通过数据查找找到一些特征字符串,但这些字符串没有在程序正常的数据段内,而是在一个新的内存块里,我就想知道是那儿代码调用了这些数据,这样我可以做一个内存布丁修改代码,但是我在程序跳到真正的入口前下 he VirtualAlloc和 he HeapAlloc就没有用,我下断之后Shift+F9,程序就直接运行起来了,没有断下来,这时我再看程序的内存段,就有好几个新的内存段,我就是想在壳申请新内存段的时候断下来,这样我就可以在新内存块里下内存访问断点了。
汗,不知道说清楚了没有。
2005-10-24 00:42
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
13
壳申请的内存会重定位
你想patch其中是无法去直接做的
2005-10-24 09:34
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我这么考虑这个问题,可以让程序停下来,然后通过内存搜索找到相关的代码的,这样就可以直接Patch了。

是否想的太简单了?
2005-10-24 10:46
0
游客
登录 | 注册 方可回帖
返回
//