InsafeMacro 发表于 2020-12-24 15:46

OD加载MinGW编写的程序出现问题

本帖最后由 InsafeMacro 于 2021-1-25 23:22 编辑

我拿XP下32位的和win10下64位的MinGW写的程序,用OD和x64dbg加载都出现了问题
OD加载后进入的好像是系统领空,单步调最后就会调到sysenter,然后再调程序直接就运行完了,但是程序功能正常
x64dbg也是一样的,但是不同的是调到sysenter后因为x64dbg在之后main函数入口自动设置了断点,所以可以正常调试
每次用OD我都只有通过API调用这些提前找到main函数入口加断点才能正常调试
这是什么情况,求大佬给小白解惑{:1_889:}

程序源码:
#include <tchar.h>
#include <windows.h>

int main(){
      STARTUPINFO si = {0,};
      PROCESS_INFORMATION pi = {0,};
      TCHAR szCmd = {0,};

      si.cb = sizeof(STARTUPINFO);
      _tcscpy(szCmd, TEXT("notepad.exe"));

      if (!CreateProcess(NULL,
                        szCmd,
                        NULL,
                        NULL,
                        FALSE,
                        NORMAL_PRIORITY_CLASS,
                        NULL,
                        NULL,
                        &si,
                        &pi))
                return 0;
      if (pi.hProcess != NULL)
                CloseHandle(pi.hProcess);
}

可执行文件
https://wwe.lanzouj.com/io9KOjnwlkf

InsafeMacro 发表于 2021-1-25 23:21

发现问题了,是断点位置设置出现了问题,不知道为什么OD打开这个文件时自动开启了停止在系统断点
页: [1]
查看完整版本: OD加载MinGW编写的程序出现问题