0

I have very simple C code - compiled on MSVC using clang++ compiler. When I am running it under angr environment - it simply does not finds main() function, while it can do so for other things like strcmp etc. Also, the same program when run under linux (g++) works with no issues.

Additionally, I could see main() symbol in dumpbin.exe, gdb, x64dbg etc.

path_to_binary = "D:\\angr_project\\angr training\\angr_ctf\\00_angr_find\\00_angr_find.exe"  # :string
  print("Started execution\n")
  project = angr.Project(path_to_binary, load_options={'auto_load_libs': False})
  main_fn = project.loader.find_symbol('main')
  if main_fn:
      print("main found")
  else:
      print("main not found")
ultimate cause
  • 2,264
  • 4
  • 27
  • 44

1 Answers1

1

See the cle.pe's get_symbol source code. It gets from the export table.

It seems that angr doesn't support PDB.

couyoh
  • 313
  • 3
  • 9