进程立即被杀死

逆向工程 linux 手臂 小精灵
2021-06-24 20:54:11

我正在尝试反转 ARM 可执行文件。它适用于嵌入式系统,但我没有关于通常目标环境的任何详细信息。

以下是file节目:ELF 32位LSB的可执行文件,ARM,EABI4版本1(SYSV),静态链接,剥去

我尝试使用 qemu 在 Linux 上运行它,该进程立即终止并显示“Killed”消息。运行strace ./executable返回这个:

execve("./executable", ["./executable"], [/*13 vars */] <unfinished ...> +++ killed by SIGKILL +++ Killed

我正在使用来自这里的 Debian Wheezy 映像:https : //people.debian.org/~aurel32/qemu/armel/

任何想法为什么会发生这种情况?

1个回答

作为反调试技巧的一部分,进程可能会向自身(或其子进程)发送 SIGTERM 信号。寻找这一点将需要您搜索信号发送 API,例如kill应用程序使用它们的方式和时间。

一个更简单的解决方案,不一定与 RE 相关,可能是该进程被OOM 杀手杀死

要测试它,您可以mesg | egrep -i “killed process”在仿真机器内运行

如果是这样的话,你可以很容易地将其禁用(添加vm.oom-kill = 0/etc/sysctl.conf)。