#!/usr/bin/env python import sys,binascii,time,random; sys.path.append('../../../trunk/client/') from GoodFETAVR import GoodFETAVR; from GoodFETGlitch import *; from intelhex import IntelHex16bit, IntelHex; import sqlite3; glitcher=GoodFETGlitch(); if(len(sys.argv)==1): print "Usage: %s chip verb [objects]\n" % sys.argv[0]; print "%s avr learn" % sys.argv[0]; print "%s avr graph" % sys.argv[0]; print "%s avr graphx11" % sys.argv[0]; print """ This populates a database, glitch.db, with a record of all attempted glitches. Graphs can then be generated from the results, allowing results to be replicated on different hardware and models. The general sequence for a new chip is to first run 'goodfet $foo learn' for an evening, then to FINISHME""" sys.exit(); glitcher.setup(sys.argv[1]); if(sys.argv[2]=="learn"): glitcher.learn(); if(sys.argv[2]=="graphx11"): glitcher.graphx11(); if(sys.argv[2]=="graph"): glitcher.graph();