【问题标题】:Find arguments for an EXE and make it run programmatically查找 EXE 的参数并使其以编程方式运行
【发布时间】:2020-02-20 21:17:50
【问题描述】:

十年前,我公司以前的一位开发人员开发了一种软件,可以让用户更快地完成一些重复性任务。 该开发人员根据特定的功能将软件拆分为多个 exe 文件,因此我们有一个“main.exe”文件来运行其他 exe(比如说“tasA.exe”、“taskB.exe”等),具体取决于用户想要执行的任务。

现在我的公司想进一步自动化其中一些任务,而不需要人工操作,并计划一个一个替换“taskX.exe”文件。同时,“taskX.exe”文件应该在无人值守模式下调度和运行,不必从“main.exe”传递,直到新版本发布。

不幸的是,公司没有更多的源代码,以前的开发人员也没有提供任何提示,所以用“/?”调用 exe。 “--help”无效:exe 只是退出,不会崩溃,也不会打印任何内容,也不会生成日志。甚至它的创建者也不记得可以让它在“无人值守”模式下运行的确切参数,但他确信这绝对是可能的。

根据文件周围的 dll,我唯一知道的是该 exe 是用 Python 和 QT 库构建的,并且在运行它时会显示一个 UI,让用户完成一些操作。

有没有办法知道这些论点?

当exe在有人值守模式下运行时,参数可以推断吗?

有什么我可以尝试的,也许可以创建一个模拟人类行为的软件?

谢谢

【问题讨论】:

    标签: command-line automation exe


    【解决方案1】:

    您必须对其进行逆向工程。

    1. 从 exe 中提取字节码
    2. 使用 python 反编译器将字节码转换回 python

    【讨论】:

    • 感谢您的建议。你能更具体一点吗?有没有可以用于第 1 步的工具?
    • 这取决于用于生成 exe 的程序。谷歌搜索显示了很多工具,所以也许你很幸运。如果它们都不起作用,您将不得不使用 ghidra 之类的东西手动解压/提取。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多