Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在ahk中使用汇编代码执行x函数_Windows_Assembly_Autohotkey - Fatal编程技术网

Windows 在ahk中使用汇编代码执行x函数

Windows 在ahk中使用汇编代码执行x函数,windows,assembly,autohotkey,Windows,Assembly,Autohotkey,是否可以执行客户端的内部功能? 例如,我想将此推到流程: mov[015DC23C],00000000 如何在AHK中执行这些代码 这是已编译客户端的内部函数: void Creature::turn(Otc::Direction direction) { // if is not walking change the direction right away if(!m_walking) setDirection(direction); // sched

是否可以执行客户端的内部功能? 例如,我想将此推到流程:
mov[015DC23C],00000000
如何在AHK中执行这些代码


这是已编译客户端的内部函数:

void Creature::turn(Otc::Direction direction) 
{ 
    // if is not walking change the direction right away 
    if(!m_walking) 
        setDirection(direction); // schedules to set the new direction when walk ends 
    else 
        m_walkTurnDirection = direction; 
}

我希望我可以使用内存地址从AHK运行它,这样我就不需要使用Control+Arrows,这是运行此函数的外部方式

给你一个简单的例子,我想做的是:我想向进程发送击键,但我不想让客户端从windows检测到它们,我想自己发送一些指令,让程序认为我在发送击键,但是在我的系统中,我不应该什么都不按。这还不够吗?另外,不要在评论中指定问题;编辑您的问题。这是已编译客户端的一个内部函数:
void bioter::turn(Otc::Direction){//如果没有行走,请立即更改方向如果(!m_walking)setDirection(Direction);//计划在行走结束时设置新方向,否则m_walkTurnDirection=Direction;}
我希望我可以使用内存地址从AHK运行该函数,这样我就不需要使用Control+箭头,这是运行该函数的外部方式。您的问题可以将注释中的详细信息转化为实际问题。但不管怎样,我认为AHK做不了这样的事。我认为它只是在Windows事件级别修改消息,而没有作为调试器附加到进程以修改其内存。更不用说在进程内执行代码了,但是在您的情况下(只是一个MOV),直接使用调试系统调用修改内存会稍微简单一些。那么您知道需要写入的确切内存地址了吗?你听说过ASLR吗?如果您可以更改客户机代码,那么可以公开一个接口,通过该接口您可以在外部控制它(例如套接字等)。如果无法更改客户端代码,则必须使用密钥。