0

我有一个游戏的 exe 文件,我想添加一些实现。

为此,我需要在从外部 dll 执行函数的汇编程序中添加一个“跳转”。

我需要在函数内添加跳转:

int __cdecl sub_43AC70(char *a1, int a2)
{
  call my_function(a1) from mylibrary.dll

  int i; // [esp+0h] [ebp-4h]

  for ( i = sub_43BC50(); i; i = *(_DWORD *)i )
  {
    if ( *(_DWORD *)(i + 88) == a2 && (!a1 || !stricmp((const char *)(i + 4), a1)) )
      return i;
  }
  return 0;

在此处输入图像描述

在此处输入图像描述

我没有汇编程序的经验,也不知道添加这个跳转有多难。

目前我找到了这个教程:

https://www.youtube.com/watch?v=80bjkJcCQO4&feature=emb_logo

执行外部exe,这不正是我需要的......

但是,如果有一种方法可以使用参数从命令行执行外部 exe:

调用 myprogram.exe -a1

在 assembler 中,可以是一种折衷方案,因此我可以创建一个带参数的命令行,而不是创建一个带参数的 dll,这两者都是一个很好的解决方案。

你能告诉我一个汇编代码,它使用来自外部 dll 的参数执行函数或使用参数执行外部命令行吗?

谢谢 !

4

0 回答 0