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.