w285133877 发表于 2015-6-3 19:47

CF D3D透视的两种方法和源码!

好久没发过贴了,前段时间无聊写的个D3D透视,也用过没什么问题,

我对玩游戏都是三分钟热度,玩一盘就没兴趣了!今天无聊上开透视发现被和谐了

所以放出来给大家做个参考吧!

/////////////////////////////////////////////////////////////////////////////////////
注:源码不是最新的,不过大家根据里面的汇编定位就可以更新了
/////////////////////////////////////////////////////////////////////////////////////
第一种:

    我利用的是在进入D3D透视地址之前hook,需要说的是现在这种方法被检测了,Hook会出现非法模块!
    我不知道是我注入的问题还是啥问题!

以下是Hook的汇编

//透视枪、头盔、子弹等!
__declspec (naked) VOID HookD3D_Z()
{
        __asm
        {

                mov eax,dword ptr ss:
                mov ecx,dword ptr ds:
                mov edx,dword ptr ds:
                push edi
                push 0x0
                push ebx
                push 0x0
                push 0x0
                push 0x4
                push eax
                mov edx,MyDrawIndexedPrimitive
                call edx
                pop edi
                pop esi
                pop ebp
                pop ebx
                retn 0x8

        }
}

//透视身体
__declspec (naked) VOID HookD3D_F()
{
        __asm
        {
                push edx
                push 0x0
                push 0x4
                push eax
                mov eax,dword ptr ds:
mov eax,MyDrawIndexedPrimitive
                call eax
                mov eax,dword ptr ss:
                mov ecx,dword ptr ss:
                add dword ptr ss:,0xC
                add eax,0x1
                cmp eax,dword ptr ds:
                mov dword ptr ss:,ecx
                mov dword ptr ss:,eax
                jl nJl
                pop edi
                pop esi
                pop ebp
                pop ebx
                add esp,0x228
                retn 0x14
nJl:
                mov eax, 0x4C72C3
                jmp eax

        }
}

第二种:

   [[[基址]]]+0x148

得到的就是D3D的透视地址,修改成我们自己的函数达到透视的目的!
但是这个会出现230 ,由于我的系统是WIN7 64位,结束掉一条线程即可过掉230
哪条?ntdll里的某条,大家应该都知道吧?
源码里有我写好的,大家只需要更新下就可以!



如果大家觉得注入麻烦,那么我再发一个易语言不用注入的写法
使用的是第一种方法实现的透视!

.版本 2

.子程序 _按钮1_被单击
.局部变量 tmp, 整数型
.局部变量 Processid, 整数型
.局部变量 hProcess, 整数型

Processid = 进程名取ID (“CrossFire.exe”)
tmp = 读内存整数型 (Processid, 7497208)
tmp = 读内存整数型 (Processid, tmp)
tmp = 读内存整数型 (Processid, tmp)
tmp = 读内存整数型 (Processid, tmp + 328)
tmp = tmp + 5
修改内存属性 (Processid, 4195584, 500, 64)
修改内存属性 (Processid, 4196352, 500, 64)
修改内存属性 (Processid, 4196864, 500, 64)
修改内存属性 (Processid, 5047151, 5, 64)
修改内存属性 (Processid, 5010811, 5, 64)
.如果 (写内存字节集 (Processid, 4195584, { 131, 236, 8, 86, 139, 116, 36, 16, 139, 6, 87, 141, 76, 36, 20, 81, 141, 84, 36, 16, 82, 139, 144, 148, 1, 0, 0, 141, 76, 36, 16, 81, 106, 0, 86, 199, 68, 36, 28, 0, 0, 0, 0, 255, 210, 133, 192, 117, 12, 139, 68, 36, 8, 139, 8, 139, 81, 8, 80, 255, 210, 139, 68, 36, 20, 131, 248, 44, 116, 10, 131, 248, 40, 116, 5, 131, 248, 32, 117, 15, 139, 6, 139, 136, 228, 0, 0, 0, 106, 0, 106, 7, 86, 255, 209, 139, 84, 36, 44, 139, 68, 36, 40, 139, 76, 36, 36, 82, 139, 84, 36, 36, 80, 139, 68, 36, 36, 81, 139, 76, 36, 36, 82, 80, 81, 86, 232, 27, 0, 0, 0, 139, 22, 106, 1, 106, 7, 139, 248, 139, 130, 228, 0, 0, 0, 86, 255, 208, 139, 199, 95, 94, 131, 196, 8, 194, 28, 0, 139, 255, 85, 139, 236, 184 } + 到字节集 (tmp) + { 255, 224 }))
    写内存字节集 (Processid, 4196352, { 54, 139, 69, 0, 62, 139, 8, 62, 139, 145, 72, 1, 0, 0, 87, 106, 0, 83, 106, 0, 106, 0, 106, 4, 80, 186, 0, 5, 64, 0, 144, 255, 210, 95, 94, 93, 91, 194, 8, 0 })
    写内存字节集 (Processid, 4196864, { 82, 106, 0, 106, 4, 80, 62, 139, 129, 72, 1, 0, 0, 184, 0, 5, 64, 0, 144, 255, 208, 54, 139, 68, 36, 28, 54, 139, 77, 8, 54, 131, 68, 36, 24, 12, 131, 192, 1, 62, 59, 131, 192, 0, 0, 0, 54, 137, 76, 36, 16, 54, 137, 68, 36, 28, 124, 13, 95, 94, 93, 91, 129, 196, 40, 2, 0, 0, 194, 20, 0, 184, 195, 114, 76, 0, 255, 224 })
    写内存字节集 (Processid, 5047151, { 185, 0, 8, 64, 0, 255, 225 })' hook地址,需更新
    写内存字节集 (Processid, 5010811, { 185, 0, 10, 64, 0, 255, 225 })' hook地址,需更新

.否则
    信息框 (“失败”, 0, )
.如果结束



前段时间我在win7 64玩游戏使用第一种方法的时候,可以很稳定的透视没问题!
但是在xp上就出现第三方,偶然看到[[[基址]]]+0xAC读取到地址并跳到这个地址后看到有一个VM
该vm里面在进入图里后就触发异常,如果直接恢复掉这个VM,会出现非法模块!
后来我也没怎么深入研究这个到底是干什么用的!不过既然是VM,那么肯定没干什么好事!

可以透视的方法多种多样,就看自己有没思路了!语文比较差,大家凑合着看吧!







小小阿文 发表于 2015-6-8 05:02

w285133877 发表于 2015-6-7 16:17
你这一句话怎么弄把我给问到了,这个无非就是靠思路而已!

不懂{:1_908:}只想用下反恐行动的透视

邱诺 发表于 2015-6-16 17:25

我喜欢开自动开枪但是老出数据异常或者230求教结束哪条线程可以防数据异常或230 求详细!!!

gesuo1987 发表于 2015-6-3 20:05

学习了,谢谢分享

24K灬纯帅 发表于 2015-6-3 20:15

谢谢大大的分享 {:301_997:}

a52263387 发表于 2015-6-3 20:16

感谢楼主分享

Made申 发表于 2015-6-3 20:29

感谢楼主分享!

Say 发表于 2015-6-3 23:20

楼主插得不是很深嘛,被和谐了

kingstar 发表于 2015-6-4 10:58

楼主用的vs哪个版本

yangyuejia 发表于 2015-6-4 16:53

忆封 发表于 2015-6-4 20:45

谢谢楼主分享 占楼。。。收藏

小小阿文 发表于 2015-6-4 21:55

大神能做其他游戏的透视吗?比如反恐行动
页: [1] 2 3
查看完整版本: CF D3D透视的两种方法和源码!