i-Emulator

Recentry I’ve started work on a cross platform x86 emulator in C for the open source anti-virus program ClamAV. Actually it is not a fully functional emulator, but a emulator for viruses. I am targeting the polymorphic and metamorphic viruses, as well as a generic unpacker for exe packers like UPX, FSG, MEW, AsPack, etc. I hope one day it will be able to emulate protectors too, but I might have a *little* problem with emulating threads and all these protectors which do self-debugging :( . Anyway I managed to finalize in some way the Intel instruction decoder ( it decodes the ModRM and SiB even :P ) and the memory manager. I also have a basic PE file loader, but it is really just for testing purposes. For example it is assuming the ImageBase is always 0×00400000 and some more little things must be fixed too. I call this the “kernel”, because I am trying to make the emulator layer based and each part should be separated from the others. I’ve put it on my svn – http://www.wush.net/trac/i-nZ/browser/i-Emulator/ . The problem is that if don’t have time to work on it, because I’ve got some courseworks to do :) . I hope I won’t get raped for using GTK# and Mono;s C# compiler for my ACW in Programming :P . I will write a small article soon on how to write a MasterMind game using GTK#.

  • Twitter
  • Facebook
  • FriendFeed
  • StumbleUpon
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Reddit
  • Tumblr
  • PDF
  • Print
  • email
Rating: (No Ratings Yet)
Loading ... Loading ...
View Comments
Published: Nov 13th, 2005 (Views: 12)
Categories: Coding
Tags:
blog comments powered by Disqus