在python中编辑exe文件脚本

时间:2014-11-16 18:18:48

标签: python exe

我正在尝试在python中构建一个配置脚本来更改另一个exe配置.. 假设我有以下程序:

#include<stdio.h>
#include "windows.h"

int times=5;
int sleep=1000;

main() {
    int i;
    for (i=times;i>0;i--) {
        printf("Hello i is %d \n",i);
        Sleep(sleep);
    }
}

我有一个名为hello.exe的已编译的exe文件,我想创建一个python脚本,它将在exe文件上运行并更改时间和睡眠变量... 我在哪里可以阅读如何在python中做到这一点? 感谢

4 个答案:

答案 0 :(得分:1)

您必须反汇编已编译代码的二进制文件,在二进制文件中找到值,然后使用python更改二进制文件。但我相信这不是你想做的。一种更简单的方法是将可配置值放在头文件中,将其包含在您的c代码中,然后让python脚本生成头并调用编译器来重新生成exe。

答案 1 :(得分:0)

您必须编写类似于十六进制编辑器的程序,并更改相应的值。你究竟想做什么?如果您正在制作程序,只需创建程序读取的配置文件。

答案 2 :(得分:0)

我发现了一种可以帮助其他人的更简单方法...因为我想要更改的原始程序是c代码, 我创建了一个头文件,其中所有变量都是大小为100的char数组,这使得在十六进制编辑器中很容易找到它们并使用mmap.mmap函数更改它们。 稍后在源文件中我改变了char数组以满足我的程序需求, 例如在标题中我做:

char timer[100]="10000";

以后很容易找到hexeditor ......

并且在程序的源文件中我使用atoi函数将其作为int用于我的使用

答案 3 :(得分:0)

对不起,但在编译只是为了更改某些参数后更改exe不是一个好主意。为什么不让程序使用包含您想要在以后更改的参数的配置文件?通过这样做,您不必担心更改您的exes(并破坏它们),并且更改程序的行为将更加容易。