Reverse Engineering and Exploitation

This is the module web page for Reverse Engineering and Exploitation (see module specification).

All teaching material written by myself (ie. Dr. Carl Pulley) is placed within this site's resource blog. By subscribing to this blog, you get to see when new material has been released or updated. My teaching materials may also be accessed by clicking on the relevant teaching week link under Teaching Materials on this page's sidebar.

Software Requirements

Reverse Engineering Toolkit: Windows XP SP2

Follow these instructions in order to build this virtual machine (please ensure that you carefully check all output generated so that potential installation errors are detected ASAP):

  • Using a Windows XP SP2 installation disk, build a virtual machine with one user called Administrator. Ensure this machine has its firewall switched off, has no AV installed and has automatic updates disabled. During the installation, the virtual machine will require an internet connection - you are recommended to use a NATed connection from behind an external firewall here.
  • Within your Windows XP SP2 virtual machine, create a directory and place into this directory the following items:
  • Edit the SRCDIR variable in the install.bat script so that it points to the absolute path of the folder containing the above downloaded files (you may also need to edit the USER variable as well?).
  • If you are building your virtual machine from behind a proxy server, then ensure that you uncomment the lines that set the proxy server for the wget and subversion commands.
  • Run the install.bat script accepting default installation values throughout. Notes:
    • If you're asked to overwrite things, select yes.
    • If asked if you want to view files or documents, select no.
    • During the install of the MySQL server, select a standard setup, allow it to be configured and ensure that the root password you use ties in with the value of the MYSQLROOTPASSWORD in the install.bat script.
    • Before the PaiMei framework can be installed, you want to ensure that MySQL has been configured!
    • Allow the virtual machine to restart at the end of the installation of Microsoft's Visual C++.
  • After the restart, allow Microsoft Visual C++ to finish its installation. Then run the install.bat script again (this will allow the script to finish off installing the remaining software).
  • At the end of the CaptureBAT installation, allow the virtual machine to restart for a final time - at this point your installation should be complete!
  • After the virtual machine has restarted for this second time:
    • create an environment variable called _NT_SYMBOL_PATH and set it to be SRV*C:\WINDOWS\Symbols*http://msdl.microsoft.com/download/symbols
    • set the environment variable PATH so that it contains the following command search paths:
      • C:\Program Files\7-Zip;
      • C:\Program Files\GunWin32\bin;
      • C:\Program Files\Debugging Tools for Windows (x86);
      • C:\Program Files\SysinternalsSuite
    • change the virtual machines network connection to be host only.
  • Finally, snapshot the virtual machine (that way we always have a known good base image to revert to during the practicals).