Reko.Scanning.Scanner.GetInterceptedCall C# (CSharp) Méthode

GetInterceptedCall() public méthode

This method is used to detect if a trampoline (call [foo] where foo: jmp bar) is jumping into the body of a procedure that was loaded with GetProcAddress or the like.
public GetInterceptedCall ( Address addrImportThunk ) : Reko.Core.ExternalProcedure
addrImportThunk Address
Résultat Reko.Core.ExternalProcedure
        public ExternalProcedure GetInterceptedCall(Address addrImportThunk)
        {
            ExternalProcedure ep;
            if (!segmentMap.IsValidAddress(addrImportThunk))
                return null;
            var rdr= program.CreateImageReader(addrImportThunk);
            uint uDest;
            if (!rdr.TryReadUInt32(out uDest))
                return null;
            var addrDest = Address.Ptr32(uDest);
            program.InterceptedCalls.TryGetValue(addrDest, out ep);
            return ep;
        }