I have some questions about how to reach an address by bypassing a few hundred lines. Assume that we have the following scenario:
+ -----------------------+
004019EF | | <----- we are here
| content of function |
| 004019EF |
| |
| |
+------------------------+
| |
| this area contains |
| lines which |
| I want to bypass |
| quickly |
| |
+------------------------+
00401E1F | | <-- we want to go here
| content which I |
| want to analyze |
| |
| |
+------------------------+
So, the situation is that I am for example at 004019EF and then I figured out that the location at 00401E1F also seems to be important. And I decide to go there. For that reason, I click on Ctrl+G, type the target address and set a breakpoint(clicking F2) at 00401E1F. Then I let it run. But the program doesn't reach the place. It terminates the process and ends at a location with RETN. So, I started the process again. But this time, I step manually from line 004019EF to 00401E1F. On the way, I eliminate all the lines/instructions which leads to a termination by replacing them with a NOP instruction. At the end, I reach the address 00401E1F.
My question would be :
When I replace instructions with a NOP or change the flags of jump-instructions to modify the execution flow of the programm, then will these modifications be a problem for the content of 00401E1F ?
I mean can I say the following :
"These instructions causing problems, so deleting them with NOP would be unproblematic"
OR
Am I going to miss some results of the area between 004019EF and 00401E1F which could be important for the content of 00401E1F ? If yes, then:
Is there another way to bypass that lines to reach the target address without patching/changing lines or instructions?