能力值:
( LV2,RANK:10 )
|
-
-
2 楼
顶上去.....
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
这个没试过,直接读取桌面像素不行吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
没用的。 截普通窗口的方法代码,在Dx游戏里截不出来画面的..
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
大漠大漠。去研究下
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
不懂,帮你顶一下!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
inline hook d3d Present
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
得,直接把d3d9换成自已的库。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
你好,请问能稍微再详细点儿吗?
具体应该用什么方法将d3d9的库,换成自己的呢?
劫持dll 自己写个dll替代?还是什么方法?
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
简单的 我搞过 hook双缓冲内存 定时把内存内容复制下来 不过游戏帧率会掉
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
大漠插件不是可以么
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
顶7L HookD3D
Present=GetprocAddress("d3d9.dll")+40EA0
因为D3D函数是虚函数 所以可以由DLL句柄+偏移 算出在内存中的地址
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
什么游戏啊,一般都可以截图的!!!要实现后台的,基本上实现不了吧!窗口都没有刷新
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
也不一定非说将游戏窗口最小化了。
不知道 ShowWindow 这个函数将游戏窗口隐藏起来的话,游戏窗口是否还是会刷新,若还是会刷新,那么我就用他将游戏窗口隐藏起来啊。
不过的话,按说既然是辅助,我将游戏获取窗口状态的地址给修改了,让他一直处于窗口前置的状态,按说应该也是可以的吧。。
现在最头大的就是不知道 D3D游戏如何截图.
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
用大漠插件就可以了吧。创建dm.dmsoft对象
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
|
能力值:
( LV5,RANK:60 )
|
-
-
17 楼
什么都用别人的,哪还学编程干嘛
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
这个必须顶的
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
自己写个dll然后替换掉原来的 然后别人调用的时候在转接到原来的库上 不知道这样行不行
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
果断大漠......
|
能力值:
( LV9,RANK:200 )
|
-
-
21 楼
後臺截圖很麻煩的,主要是d2d d3d8 d3d9 掛鉤獲取後臺緩衝區,而且這三種需要3個dll
|
能力值:
( LV3,RANK:20 )
|
-
-
22 楼
流程是这样的
hook IDirect3DDevice9::Present
在Present里拿到this,也就是一个IDirect3DDevice9*指针
this->GetBackBuffer,拿到后台缓冲区表面
D3DXSaveSurfaceToFileInMemory拿到的表面,可以指定D3DXIFF_DIB,这样在内存中就以DIB格式保存了那个后台表面的截图了
|
能力值:
(RANK:170 )
|
-
-
23 楼
正解,搂主多尝试下
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
假如游戏里面有截屏的功能 你可以分析一下那个call的
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
问下我只Hook了present,导致游戏窗口内某些区域贴图丢失是怎么回事?另外用
D3DXSaveSurfaceToFileInMemory得到的数据流指针如何操作?比如D3DXIFF_BMP类型
怎么关联位图的句柄,及像素操作等..本人刚接触,好多不懂!
|
|
|