本文整理汇总了C#中PointerScannerFlags类的典型用法代码示例。如果您正苦于以下问题:C# PointerScannerFlags类的具体用法?C# PointerScannerFlags怎么用?C# PointerScannerFlags使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PointerScannerFlags类属于命名空间,在下文中一共展示了PointerScannerFlags类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreatePointerScanner
public override IEnumerable<Address> CreatePointerScanner(ImageMap map, ImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags)
{
var knownLinAddresses = knownAddresses.Select(a => a.ToUInt32()).ToHashSet();
if (flags != PointerScannerFlags.Calls)
throw new NotImplementedException(string.Format("Haven't implemented support for scanning for {0} yet.", flags));
while (rdr.IsValid)
{
uint linAddrCall = rdr.Address.ToUInt32();
var opcode = rdr.ReadLeUInt32();
if ((opcode & 0x0F000000) == 0x0B000000) // BL
{
int offset = ((int)opcode << 8) >> 6;
uint target = (uint)(linAddrCall + 8 + offset);
if (knownLinAddresses.Contains(target))
yield return Address.Ptr32(linAddrCall);
}
}
}
示例2: CreatePointerScanner
public override IEnumerable<Address> CreatePointerScanner(SegmentMap map, ImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags)
{
throw new NotImplementedException();
}
示例3: CreatePointerScanner
public override IEnumerable<Address> CreatePointerScanner(
SegmentMap map,
ImageReader rdr,
IEnumerable<Address> knownAddresses,
PointerScannerFlags flags)
{
var knownLinAddresses = knownAddresses
.Select(a => a.ToLinear())
.ToHashSet();
return new PowerPcPointerScanner64(rdr, knownLinAddresses, flags)
.Select(u => Address.Ptr64(u));
}
示例4: CreateInstructionScanner
public abstract IEnumerable<Address> CreateInstructionScanner(ImageMap map, ImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags);
示例5: CreatePointerScanner
public IEnumerable<Address> CreatePointerScanner(
ImageMap imageMap,
ImageReader rdr,
IEnumerable<Address> address,
PointerScannerFlags pointerScannerFlags)
{
return Architecture.CreatePointerScanner(imageMap, rdr, address, pointerScannerFlags);
}
示例6: CreatePointerScanner
public IEnumerable<Address> CreatePointerScanner(ImageMap map, ImageReader rdr, IEnumerable<Address> knownLinAddrs, PointerScannerFlags flags)
{
throw new NotImplementedException();
}
示例7: CreatePointerScanner
public override IEnumerable<Address> CreatePointerScanner(SegmentMap map, ImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags)
{
var knownLinAddresses = knownAddresses.Select(a => (uint)a.ToLinear()).ToHashSet();
return new MipsPointerScanner32(rdr, knownLinAddresses, flags).Select(l => Address.Ptr32(l));
}
示例8: CreatePointerScanner
public abstract IEnumerable<Address> CreatePointerScanner(
ImageMap map,
ImageReader rdr,
IEnumerable<Address> addrs,
PointerScannerFlags flags);
示例9: CreateInstructionScanner
public override IEnumerable<Address> CreateInstructionScanner(SegmentMap map, ImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags)
{
var knownLinAddresses = knownAddresses.Select(a => a.ToUInt32()).ToHashSet();
return new X86RealModePointerScanner(rdr, knownLinAddresses, flags).Select(li => map.MapLinearAddressToAddress(li));
}
示例10: CreatePointerScanner
public override IEnumerable<Address> CreatePointerScanner(ImageMap map, ImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags)
{
var knownLinAddresses = knownAddresses.Select(a => a.ToUInt32()).ToHashSet();
return new M68kPointerScanner(rdr, knownLinAddresses, flags).Select(li => Address.Ptr32(li));
}
示例11: CreatePointerScanner
public abstract IEnumerable<Address> CreatePointerScanner(SegmentMap map, ImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags);
示例12: CreatePointerScanner
public virtual IEnumerable<Address> CreatePointerScanner(ImageMap map, ImageReader rdr, IEnumerable<Address> knownLinAddresses, PointerScannerFlags flags)
{
return mode.CreateInstructionScanner(map, rdr, knownLinAddresses, flags);
}
示例13: CreatePointerScanner
public override IEnumerable<Address> CreatePointerScanner(SegmentMap map, ImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags)
{
return mode.CreateInstructionScanner(map, rdr, knownAddresses, flags);
}