Posts

Showing posts from June, 2014

[Level 2] Python reverse engineering.

If you want to reverse engineering of python source code, you could use pylint to get class diagram. ref: http://manpages.ubuntu.com/manpages/saucy/man1/pyreverse.1.html http://www.logilab.org/6883 http://planet.logilab.fr/index.php?post_id=74 $ apt-cache search pyreverse pylint - python code static checker and UML diagram generator ... $ sudo apt-get -y install pylint $ pyreverse ./*.py $ dotty ./classes_No_Name.dot $ doggy ./packages_No_Name.dot or $ pyreverse -o png ./*.py $ eog ./classes_No_Name.png $ eog ./packages_No_Name.png related projects: http://floss.zoomquiet.io/data/20041231094746/index.html Wish this helps. regards, Stanley Huang

[Level 1] How to trace the source code more efficient.

If you want to trace python call stack, you could get call sequence by using call_seq module. You could download call_seq from pypi website. https://pypi.python.org/pypi/call_seq/0.0.1 After you download it, you could prepare the python script like following. python from call_seq import CallSeq trail = CallSeq() trail.set_trace() # the code you want to trace. trail.unset_trace() trail.dump_to_file('output.json') After you create the output json file, then you could use browser module of call_seq to get visualization of call sequence. $ python -m call_seq.browser ./output.json Wish this helps. regards, Stanley Huang