![]() |
Quick OllyDbg Question
Hello everyone! I'm using OllyDbg 1.10 to crack "Mail Server Pro v1.5" and I have a quick question:
Code:
004B0454 /. 55 PUSH EBPFor example, after it goes through all the serial checking etc, it's either got to Jump to that code or Return to the code. Is there a way of tracing back? |
If you set a BP on
Code:
004B0454 /. 55 PUSH EBPI have also found that sometimes w32dasm can find the referenced calls or jumps to functions that sometimes Olly cannot. |
or mark 4b0454 and right click FIND REFERENCES TO-SELECTED COMMAND, and show you the direct references (if was called from CALL EAX o JMP EDI or similar by example, only with a method of Grabiel, putting a BP and looking in the top of the stack you can get the reference)
Ricardo Narvaja |
> sometimes w32dasm can find the referenced calls or jumps to functions
or IDA may make x-refs... |
Hi lilmeanman,
I'm not sure that i've understand you well. But put bp on 004B0454 and when it breaks change the PUSH EBP to RETN to goback to the CALL. Regards... |
One Possibility is that the call to your code is generated dynamically at runtime, something like:
call [EAX +50] under those circumnstances disassembly listings from WDASM or IDA cannot cross reference the caller code. You need to see it in live tracing. . . One very useful resource is the call stack window. In SoftIce type: WS. In Olly: View -> Call Stack (Alt-K) You will see a list of addresses with modules: A called B that Called C that Called D that called your code. The actual addresses you see in the list are the return address, which is the next instruction after the call was made. By placing breakpoints or examining the code around each call you will be able to locate, at each deeper layer, the chain of events that resulted on calling your "bad boy" "key not found" routine. One problem: If there is one or more Structured Exception Handlers (SEH) frames set up during the chain of calls (CALL STACK) the order of call and return may change, depending on an exception being generated and handled, so the flow of the code stack is not as linear as I described, but it "branches". Hope I did not confuse you more. |
in CPU Window right click -> Search for -> All commands -> call 004B0454
|
maybe it's worth to mention: a jump in the form of [XXXXXXXX*X*EAX] can't be found the way you described.
|
Quote:
It apparently keeps a record track of the instruction path taking by the code, allowing you to backtrace to an arbitrary number of instructions. |
| All times are GMT +8. The time now is 23:12. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX