Beispiel #1
0
        private static ThunkPredicate CreatePredicate(int ordinal)
        {
            return((module, thunk) =>
            {
                if (!ImageOrdinal.UsingOrdinals(thunk->Ordinal))
                {
                    return false;
                }

                return ImageOrdinal.Get(thunk->Ordinal) == new IntPtr(ordinal);
            });
        }
Beispiel #2
0
        private static ThunkPredicate CreatePredicate(string function)
        {
            return((module, thunk) =>
            {
                if (ImageOrdinal.UsingOrdinals(thunk->Ordinal))
                {
                    return false;
                }

                ImageImportByName *import = (ImageImportByName *)thunk->AddressOfData.AsPtr(module);
                string name = new string(import->Name);

                if (String.Equals(function, name, StringComparison.OrdinalIgnoreCase))
                {
                    return true;
                }

                return false;
            });
        }