Immunity Canvas (6.23) and Snow Leopard

If you wanna try Immunity Canvas but have no much money to buy it so probably you’ll try Immunity Canvas product which was leak on internet (by somebody called ‘ikex’?), and if  you’re using Snow Leopard then probably you’ll face same problem with me.

As we know, Immunity Canvas 6.23 required libglade and pygtk (no idea of latest release, sorry). Under documentation directory there’s note about how to install it on Mac OSX:

# NOTE:
# If you install python before, or install the ports in different order and the GUI
# is not working for you, try uninstalll all the port and install it in the right order

[o] Install XcodeTools:
        -> Sometimes, the installer is on your HD already:
	 Applications->Installers->Xcode Tools->XcodeTools.mpkg
        -> Or find it on the Tiger DVD
        -> Or download it from apple.com website

[o] Download and install Darwinports :

	http://www.darwinports.org/getdp/
	The usual: ./configure && make && sudo make install
	once they are installed:
	(change PATH to /opt/local/bin)

	If you are behind an http_proxy, you would probably need:
	$ sudo -s
	# export RSYNC_PROXY=192.168.1.1:3128
	# export ftp_proxy=192.168.1.1:3128
	# export http_proxy=192.168.1.1:3128
	# port -d selfupdate

	or just
	$ sudo port -d selfupdate

[o] Install libglade and pygtk
	$ sudo port install libglade2 py-gtk2

[o] Install X11?
       If you dont have X11 (Tiger OSX users can find it on the DVD, go to "Optional Installs)) you can download it from the Apple website:
	http://www.apple.com/downloads/macosx/apple/x11formacosx.html
	Download X11User.dmg and install it

[o] Run X11
   Having X11 doesn't mean your GUI will change at all, it will simply open an xterm where you will be able to run the CANVAS gui.
   $ /Applications/Utilities/X11.app/Contents/MacOS/X11 &

[o] run canvas 😀
 /opt/local/bin/python ./runcanvas.py

Unfortunately, I found this error when time come to run CANVAS (of course, I am using python2.4 to run it):

bash-3.2$ /opt/local/bin/python2.4 ./runcanvas.py
Traceback (most recent call last):
  File "./runcanvas.py", line 15, in ?
    from canvasengine import canvasmain
  File "/Applications/Immunity Canvas/canvasengine.py", line 38, in ?
    from libs.daveutil import dmkdir
  File "/Applications/Immunity Canvas/libs/daveutil.py", line 14, in ?
    import spkproxy
  File "/Applications/Immunity Canvas/libs/spkproxy.py", line 23, in ?
    from libs.tlslite.api import *
  File "/Applications/Immunity Canvas/libs/tlslite/api.py", line 61, in ?
    from integration.TLSAsyncDispatcherMixIn import TLSAsyncDispatcherMixIn
  File "/Applications/Immunity Canvas/libs/tlslite/integration/TLSAsyncDispatcherMixIn.py", line 5, in ?
    import asyncore
  File "/opt/local/lib/python2.4/asyncore.py", line 55, in ?
    from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, \
ImportError: cannot import name ESHUTDOWN

I am not a python guru, so what I can guess is Snow Leopard not support ESHUTDOWN as stated on lib/python2.4/asyncore.py. I tried to take a look at python2.5 but still similar call exist there. So, the dirty patch to make this version of Immunity Canvas work is by removing ESHUTDOWN from asyncore.py. Then the problem will disappear and you can have Immunity Canvas GUI running on Snow Leopard.

Btw, asyncore was imported by Immunity Canvas to handle async socket.

Advertisements

6 thoughts on “Immunity Canvas (6.23) and Snow Leopard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s