吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4263|回复: 7
收起左侧

[其他原创] 某行动的0秒嗑药,锁定准星源码

[复制链接]
空白菌 发表于 2018-3-13 16:58
反正也就几行代码我就不发附件了直接发帖子


0秒嗑药
一般看别人的0秒嗑药/汽油是把药的时间改成0
我这里实现是直接patch时间函数过滤,这个功能得落地开不然会导致跳伞时不能动,不过这也引发了一个很好玩的bug,机器人也不会动,因为机器人的动作是本地运算的
8FC913F856A3AC529A735708C6166DD2.jpg
好了直接上代码
[C++] 纯文本查看 复制代码
DWORD addrTimeFilter = gameBase + 0xC460ED;
DWORD addrRetTimeFilter = addrTimeFilter + 0x5;
_declspec(naked) void timeFilter()
{
        static double time;
        __asm {
                movsd xmm0, [eax + 0x8]
                movsd[time], xmm0
        }
        if (time == 12.0 || time == 8.0 || time == 6.0 || time == 3.0)time = 0.0;
        __asm {
                movsd xmm0, [time]
                jmp dword ptr[addrRetTimeFilter]
        }
}

void TooNaive(bool Switch)
{
        if (Switch)
        {
                MH_EnableHook((LPVOID)addrTimeFilter);
        }
        else
        {
                MH_DisableHook((LPVOID)addrTimeFilter);
        }
}

锁定准星
这个没啥BUG能一直开着 开启后左右弹道振幅降低了些 但是上下振幅没有改变
算是一个没啥卵用的功能,上图里面也开启了锁定准星功能
[C++] 纯文本查看 复制代码
DWORD addrForceLock = gameBase + 0xF4E6BD;
DWORD addrRetForceLock = addrForceLock + 0xC;
MH_CreateHook((LPVOID)addrForceLock, ForceFilter, NULL);
_declspec(naked) void ForceFilter()
{
        __asm
        {
                cmp dword ptr[ecx + 0x30], 0x41A00000
                jne orgX
                cmp byte ptr[ecx + 0x1F], 0x3F
                jne noLeft
                mov dword ptr[ecx + 0x2C], 0x4181999A
                jmp noX
                noLeft :
                cmp byte ptr[ecx + 0x1F], 0xBF
                        jne orgX
                        mov dword ptr[ecx + 0x2C], 0x42033334
                        jmp noX
                        orgX :
                movss[ecx + 0x2C], xmm2
                        noX :
                mov al, 1
                        cmp dword ptr[ecx + 0x2C], 0x41C4E148
                        jne orgY
                        cmp byte ptr[ecx + 0x1B], 0x42
                        jne noTop
                        mov dword ptr[ecx + 0x30], 0x41E1999A
                        jmp end
                        noTop :
                cmp byte ptr[ecx + 0x1B], 0xC2
                        jne orgY
                        mov dword ptr[ecx + 0x30], 0x413B3334
                        jmp end
                        orgY :
                movss[ecx + 0x30], xmm1
                        end :
                jmp dword ptr[addrRetForceLock]
        }
}

void LockForce(bool Switch)
{
        if (Switch)
        {
                MH_EnableHook((LPVOID)addrForceLock);
        }
        else
        {
                MH_DisableHook((LPVOID)addrForceLock);
        }
}

免费评分

参与人数 4吾爱币 +2 热心值 +4 收起 理由
e呀 + 1 但是楼主怎么用呢?
wap6575 + 1 + 1 热心回复!
810086218 + 1 希望可以给翻译成易语言,不会用C++哦
466 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

137313659 发表于 2018-3-13 17:16
那 这个 怎么使用呢
桂鱼 发表于 2018-3-13 17:24
dream张 发表于 2018-3-13 18:27
ibc754 发表于 2018-3-13 18:39
厉害厉害,但是被封设备了
ltq 发表于 2018-3-13 18:40
我也不会用啊
zhou1758818844 发表于 2018-3-13 18:52
没学过c++怎么用
Glubin 发表于 2018-3-13 19:05
不敢用诶,,已经被封了一个账号了
Hwk123 发表于 2018-3-14 09:33
基址好像变了  有特征吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 12:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表