Me ha funcionado de maravilla. una cosa más me podrías explicar un poco más detallada la fórmula? (Quiero saber que es lo que hago)
El tema es que los JMPs y los CALLs son relativos a la posicion en la que estan.
Siguiendo tu ejemplo, tienes un CALL:
Código:
00890E9F E8 FC84B9FF CALL UnPackMe.004293A0
Como vez Olly te decodifica ya la direccion a la que saltara/llamara el CALL, pero si lo ves a nivel de BYTES, el valor que tiene el opcode de CALL (E8) es FFB984FC. Este valor es la distancia en bytes desde esa posicion (00890E9F) al inicio del CALL en si (4293A0).
Ahora, para calcular efectivamente la direccion, deberas sumarle a la direccion donde esta el CALL, el valor de "distancia" y ademas la cantidad de bytes que ocupa la instruccion CALL...
Eso es todo