编辑 CMD exe 以不等待确认

逆向工程 二进制编辑
2021-06-30 12:23:45

我有一个在 system32/cmd 窗口中运行的小 exe 程序,当它运行完它的小脚本时,它会提示用户按 Enter 键关闭。我只想在过程完成后关闭应用程序,而不必输入按键。如何编辑 .exe 文件来执行此操作?

我可以编辑十六进制中的某些行吗?我在寻找什么?

1个回答
  1. 运行一个像样的反汇编程序(radare、IDA Pr0、BinaryNinja、x64dbg ..)
  2. 在内存中找到您要查找的字符串,例如“按回车...”
  3. 查找交叉引用以找到它在内存中用于 API 调用的位置
  4. 跳过那部分(查看稍后或更早的分支以进行修补,或者只是将字节修补到 jmp 到末尾/也许返回就可以了)

编辑

您正在寻找的内存位置将执行一些操作,例如使用 printf 打印字符串,然后等待用户输入。最终,它会回来。

基本上你可以尝试通过二进制补丁来改变分支条件,或者你可以尝试做一个硬二进制补丁。在后一种情况下,您可以尝试修补返回语句而不是输入等待函数或插入跳转。

在此处输入图片说明

NOP-ing 突出显示的调用成功了。

编辑

特别感谢 ws 的聊天指导!