Sometimes we want to patch the binary while analyzing it in IDA, but unfortunately the built-in asssembler of IDA Pro is not adequate. Keypatch is confirmed to work on IDA Pro version 6.4, 6.8 & 6.9, but should work flawlessly on older versions.
In a previous iteration of this blog entry what I did was to download these packages from an old Ubuntu repository. We need a dynamic library that comes from Python 2.6 and as the release notes says, Python 2.6 has been deprecated.
We need to proceed in the same way as we did before, but there is a slight difference.
Once we have installed each one of the libraries IDA Pro will fire up, but we will receive a dissapointing message the the IDAPython plugin is not working due to missing dependencies.ĭlopen(/home/agustin/opt/idapro/plugins/x): libpython2.6.so.1.0: cannot open shared object file: No such file or directory /home/agustin/opt/idapro/plugins/x: can't load file
Libxext6: /usr/lib/x86_64-linux-gnu/libXext.so.6Īs we can see, the file is provided by `libxext6`, but we need to take into account that we need the IA32 versions of the libraries.įortunately, Ubuntu does allow us to install both versions and it is just a matter of adding ":i386" at the end of the package name. So for each of the missing libraries we proceed like this:
Once we have the list of missing libraries, we need to see from which packaged they come from. To do so we can use the `ldd` command to print all the dynamic libraries missing: While effective, this is in my opinion not ideal.įortunately, in the latest version of Ubuntu it is possible to install almost all the IA32 dependencies by hand following a simple scheme.įirst we need to see which dynamic libraries are not found by the loader. In previous versions of Ubuntu what I had to do to achieve such task, is to build a IA32 chroot environment (following this guide). Installing IDA Pro on Linux (AMD64) can be a pain.