You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Binary Ninja Version: 4.2.6412-dev Personal (6254307f)
OS: Windows 11
OS Version: 24H2 (OS Build: 26100.2161)
CPU Architecture: x86_64
Bug Description:
Breakpoints stop function analysis; this is especially harmful when reverse engineering dumps of some programs, as sometimes authors will purposefully place breakpoints and break analysis throughout, and while I solved this manually on my PE dumper by byte patching the breakpoints, it is a pressing issue for any other reverse engineer that maybe does not want to write their own dumper, yet they're still faced with breakpoints throughout. This is worse considering __noreturn propagates to callers and int3 makes a function be __noreturn, so if I make a function simply have a breakpoint, I can break analysis in the binary in a substantial manner.
Steps To Reproduce:
Create a function that has a normal body.
Add interrupts (__debugbreak(), etc) throughout the function
Expected Behavior:
The function should be analyzed completely, or if so, try to continue analysing after a breakpoint if some conditions are met; this could be done in a separate stage or after the initial analysis of the function is completed if it proves to be expensive enough.
Screenshots/Video Recording:
N/A
Binary:
N/A
Additional Information: IDA Pro handles breakpoints my simply placing __breakpoint() in its stead, which could be a manageable solution, as it also continues disassembling the function until it cannot continue. for whichever reason.
The text was updated successfully, but these errors were encountered:
Version and Platform (required):
Bug Description:
Breakpoints stop function analysis; this is especially harmful when reverse engineering dumps of some programs, as sometimes authors will purposefully place breakpoints and break analysis throughout, and while I solved this manually on my PE dumper by byte patching the breakpoints, it is a pressing issue for any other reverse engineer that maybe does not want to write their own dumper, yet they're still faced with breakpoints throughout. This is worse considering
__noreturn
propagates to callers andint3
makes a function be__noreturn
, so if I make a function simply have a breakpoint, I can break analysis in the binary in a substantial manner.Steps To Reproduce:
__debugbreak()
, etc) throughout the functionExpected Behavior:
The function should be analyzed completely, or if so, try to continue analysing after a breakpoint if some conditions are met; this could be done in a separate stage or after the initial analysis of the function is completed if it proves to be expensive enough.
Screenshots/Video Recording:
N/A
Binary:
N/A
Additional Information:
IDA Pro
handles breakpoints my simply placing__breakpoint()
in its stead, which could be a manageable solution, as it also continues disassembling the function until it cannot continue. for whichever reason.The text was updated successfully, but these errors were encountered: