예제 #1
0
 public PEModule(string modulePath)
 {
     bpAddresses_   = new List <uint>();
     roBPAddresses_ = new ReadOnlyCollection <uint>(bpAddresses_);
     loadModuleFile(modulePath);
     hitSet_ = new HitSet(imageBase_);
 }
예제 #2
0
 /// <summary>
 /// copy constructor
 /// </summary>
 /// <param name="module"></param>
 public PEModule(PEModule module)
 {
     bpAddresses_   = new List <uint>(module.bpAddresses_);
     roBPAddresses_ = new ReadOnlyCollection <uint>(bpAddresses_);
     modulePath_    = module.modulePath_;
     imageBase_     = module.imageBase_;
     hitSet_        = new HitSet(imageBase_);
 }
예제 #3
0
 /// <summary>
 /// remove all hits in srcHits from our instance
 /// </summary>
 /// <param name="srcHits"></param>
 public void filter(HitSet srcHits)
 {
     foreach (Hit h in srcHits)
     {
         if (hits_.ContainsKey(h.Address))
         {
             hits_.Remove(h.Address);
         }
     }
 }
예제 #4
0
 /// <summary>
 /// add all hits from srcHits to our instance
 /// </summary>
 /// <param name="srcHits"></param>
 public void merge(HitSet srcHits)
 {
     foreach (Hit h in srcHits)
     {
         if (hits_.ContainsKey(h.Address))
         {
             hits_[h.Address] += h.Count;
         }
         else
         {
             hits_[h.Address] = h.Count;
         }
     }
 }
예제 #5
0
 public CoverageModule(string name)
 {
     hits_ = new HitSet();
     name_ = name;
 }