能力值:
( LV9,RANK:280 )
|
-
-
2 楼
生成环境下申请内存的人千奇百怪 你没法阻止别人向这个地方钦点内存
如果你只是在纯净虚拟机里面玩儿,那你直接在进程创建的时候就占坑 就OK了
最后于 2019-1-15 10:39
被hzqst编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
hzqst
生成环境下申请内存的人千奇百怪 你没法阻止别人向这个地方钦点内存如果你只是在纯净虚拟机里面玩儿,那你直接在进程创建的时候就占坑 就OK了
进程创建时占坑是什么意思呢?占坑的话,肯定要先进入到exe的入口才能操作吧,除非用另外一个进程来远程占坑,但是exe进入到入口点的时候,exe需要的系统DLL就已经加载了,这些个DLL里面可能就已经申请了0x400000这个地址了。
|
能力值:
( LV5,RANK:68 )
|
-
-
4 楼
麻烦你查一下MSDN VirtualAlloc的参数
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
万剑归宗
麻烦你查一下MSDN VirtualAlloc的参数[em_16]
第一个参数可以指定内存地址啊,只要是前面预留过的内存地址
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
你的意思是,第一个参数不为空,第3个参数就不能是MEM_RESERVE,所以不能用VirtualAlloc来申请指定内存地址?
|
能力值:
( LV9,RANK:280 )
|
-
-
7 楼
xxyiyi
进程创建时占坑是什么意思呢?占坑的话,肯定要先进入到exe的入口才能操作吧,除非用另外一个进程来远程占坑,但是exe进入到入口点的时候,exe需要的系统DLL就已经加载了,这些个DLL里面可能就已经申 ...
我说的就是远程占坑,暂停方式拉起
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
hzqst
我说的就是远程占坑,暂停方式拉起
一些壳程序肯定是没有用远程占坑的方法的,不知道他们是如何实现的
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
xxyiyi
一些壳程序肯定是没有用远程占坑的方法的,不知道他们是如何实现的[em_16]
人家都说了...暂停方式拉起,然后申请地址....不关有没有壳的事....除非他入口点就已经把地址占了(易语言软件)....但你说了是其他DLL申请的,那就不存在这个问题了
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
MCYMYC
人家都说了...暂停方式拉起,然后申请地址....不关有没有壳的事....除非他入口点就已经把地址占了(易语言软件)....但你说了是其他DLL申请的,那就不存在这个问题了
这个是不关有没有壳的事,我是说加壳软件就是用我说的方法来实现的,将自己的代码放高空间运行,将需要加壳的exe放到0x400000这个地址,而且加完壳之后就一个exe,他肯定是实现了在0x400000这个地址申请空间每次都成功的,就是不知道是如何实现的
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
哈哈,ls几位都在欺负你呢,lz 我敢打赌,他们都有办法,而且不止一种
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
yy虫子yy
哈哈,ls几位都在欺负你呢,lz
我敢打赌,他们都有办法,而且不止一种
不至于吧
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
应该很简单, 就是你的exe要尽量少的依赖dll, 如果依赖也尽量选择 静态链接编译, 最好是只依赖那几个核心windows dll, 它们肯定不会加载到400000, 这样的你的exe跑起来时40000地址就是空的, 这样你就可以申请那块地址了 好像加过壳的程序通常不会有显式的dll依赖, 运行之后它会自己去枚举系统dll, 然后找到loadlibrary 和 getprocadd, 再修复导入表, 释放目标exe到400000然后运行
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
frdGo
应该很简单, 就是你的exe要尽量少的依赖dll, 如果依赖也尽量选择 静态链接编译, 最好是只依赖那几个核心windows dll, 它们肯定不会加载到400000, 这样的你的exe跑起来时400 ...
像你说的那样做也是可以的,可以写一个只导入ntdll.dll的exe,应该就没有问题。但是我这要做的目的就是为了方便,如果每用一个API就需要去get下地址的话,那还不如换一个方式去做了
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
xxyiyi
像你说的那样做也是可以的,可以写一个只导入ntdll.dll的exe,应该就没有问题。但是我这要做的目的就是为了方便,如果每用一个API就需要去get下地址的话,那还不如换一个方式去做了[em_27]
人家13楼都已经提醒LZ了,自己想去吧,领悟不了就怨不得别人
最后于 2019-1-15 23:24
被luskyc编辑
,原因:
|
能力值:
( LV4,RANK:50 )
|
-
-
16 楼
不是直接加一个section对应的VirtualAddress在0x400000就可以了吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
pull
不是直接加一个section对应的VirtualAddress在0x400000就可以了吗?
没有听懂你说的什么意思呢,0x400000地址已经被占用了,我没有办法去操作这个地址
|
能力值:
( LV3,RANK:20 )
|
-
-
18 楼
楼主解决没 同遇到这个问题了
|
能力值:
( LV1,RANK:0 )
|
-
-
19 楼
我的解决思路:https://bbs.pediy.com/thread-268594.htm
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
清风qfccc
楼主解决没 同遇到这个问题了
解决了,就是先将400000这个位置占住
|
能力值:
( LV3,RANK:20 )
|
-
-
21 楼
在弄一个空的exe(占坑 0x400000),导入表注入你的dll,运行exe即可占坑这个位置
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
xxyiyi
解决了,就是先将400000这个位置占住
请问楼主用什么方式占住的呢?是创建一个空壳进程占住,然后替换他是吗?
|
能力值:
( LV3,RANK:20 )
|
-
-
23 楼
就不能想过不一定要申请这个地址吗
|
|
|