Exemplo n.º 1
0
 def runAttach(self):
     p = PtraceCore()
     pid = 11769
     addr = 0x7f827f34+4
     p.attach(pid)
     #regs = p.getregisters(pid)
     #print 'p.getregisters() => %s' % regs
     #print '*%#x = %#x' % (regs.ebp, p.get(pid, regs.ebp))
     #print '*%#x = %#x' % (regs.eip, p.get(pid, regs.eip))
     print '%#x' % (p.get(pid, addr))
     import struct
     p.set(pid, addr, 0x42424242)
     print '%#x' % (p.get(pid, addr))
     p.detach(pid)
Exemplo n.º 2
0
 def runTraceme(self):
     p = PtraceCore()
     pid=os.fork()
     
     if pid > 0:
         print 'Child pid=%d stopped with status=%d' % (os.wait())
         print 'p.singlestep() => %d' % p.singlestep(pid)
         regs = p.getregisters(pid)
         print 'p.getregisters() => %s' % regs
         print '*%#x = %#x' % (regs.ebp, p.get(pid, regs.ebp))
         print '*%#x = %#x' % (regs.eip, p.get(pid, regs.eip))
         p.detach(pid)
         print '*'*80
         os.wait()
     else:
         p.traceme()
         os.execl('/bin/ls')