A User Centric Security Model for Tamper-Resistant Devices
A User Centric Security Model for Tamper-Resistant Devices
A User Centric Security Model for Tamper-Resistant Devices
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
C.10 Abstract Virtual Machine<br />
42 " i f e q " , " g e t f i e l d _ b " , " ifeq_w " , " g e t f i e l d _ b _ t h i s " , " i f g e " ,<br />
43 " getfield_b_w " , " ifge_w " , " g e t f i e l d _ i " , " i f g t " ,<br />
44 " g e t f i e l d _ i _ t h i s " , " ifgt_w " , " getfield_i_w " , " i f l e " ,<br />
45 " g e t f i e l d _ s " , " ifle_w " , " g e t f i e l d _ s _ t h i s " , " i f l t " ,<br />
46 " getfield_s_w " , " iflt_w " , " g e t s t a t i c _ a " , " i f n e " , " g e t s t a t i c _ b " ,<br />
47 " ifne_w " , " g e t s t a t i c _ i " , " i f n o n n u l l " , " g e t s t a t i c _ s " ,<br />
48 " ifnonnull_w " , " goto " , " i f n u l l " , "goto_w" , " ifnull_w " , " i2b " ,<br />
49 " i i n c " , " i 2 s " , " iinc_w " , " iadd " , " i i p u s h " , " i a l o a d " , " i l o a d " ,<br />
50 " iload_0 " , " p u t s t a t i c _ s " , " iload_1 " , " r e t " , " iload_2 " , " r e t u r n " ,<br />
51 " iload_3 " , " s2b " , " i l o o k u p s w i t c h " , " s 2 i " , " imul " , " sadd " ,<br />
52 " i n e g " , " s a l o a d " , " i n s t a n c e o f " , " sand " , " i n v o k e i n t e r f a c e " ,<br />
53 " s a s t o r e " , " i n v o k e s p e c i a l " , " sconst_0 " , " i n v o k e s t a t i c " ,<br />
54 " sconst_1 " , " i n v o k e v i r t u a l " , " sconst_2 " , " i o r " , " sconst_3 " ,<br />
55 " irem " , " sconst_4 " , " i r e t u r n " , " sconst_5 " , " i s h l " , "sconst_m1" ,<br />
56 " i s h r " , " s d i v " , " i s t o r e " , " s i n c " , " i s t o r e _ 0 " , "sinc_w" ,<br />
57 " i s t o r e _ 1 " , " s i p u s h " , " i s t o r e _ 2 " , " s l o a d " , " i s t o r e _ 3 " ,<br />
58 " sload_0 " , " i s u b " , " sload_1 " , " i t a b l e s w i t c h " , " sload_2 " ,<br />
59 " i u s h r " , " sload_3 " , " i x o r " , " s lookupswitch " , " j s r " , "smul" ,<br />
60 "new" , " sneg " , " newarray " , " s o r " , "nop" , "srem" , "pop" ,<br />
61 " s r e t u r n " , "pop2" , " s s h l " , " p u t f i e l d _ a " , " s s h r " ,<br />
62 " p u t f i e l d _ a _ t h i s " , " sspush " , " putfield_a_w " , " s s t o r e " ,<br />
63 " putfield_b " , " sstore_0 " , " putfield_b_this " , " sstore_1 " ,<br />
64 " putfield_b_w " , " sstore_2 " , " p u t f i e l d _ i " , " sstore_3 " ,<br />
65 " p u t f i e l d _ i _ t h i s " , " ssub " , " putfield_i_w " , " s t a b l e s w i t c h " ,<br />
66 " p u t f i e l d _ s " , " sushr " , " p u t f i e l d _ s _ t h i s " , "swap_x" ,<br />
67 " putfield_s_w " , " sxor " , " putstatic_a " , " putstatic_b " ,<br />
68 " p u t s t a t i c _ i " ,<br />
69 } ;<br />
70 public s t a t i c void main ( S t r i n g [ ] a r g s ) {<br />
71 abstractVirtualMachine virtualMachine = new<br />
72 abstractVirtualMachine ( ) ;<br />
73 S t r i n g command = " javap −c " + virtualMachine . inputClassFileName ;<br />
74 virtualMachine . runCommand(command . s p l i t ( " " ) ) ;<br />
75 c r e a t e I n d e x ( ) ;<br />
76 S t r i n g myFile = "D: \ \ e v a l u a t i o n F o l d e r \\ E v a l u a t i o n R e s u l t s . eva " ;<br />
77 FileOutputStream outStream = new FileOutputStream ( myFile ) ;<br />
78 PrintWriter out = new PrintWriter ( outStream ) ;<br />
79 int numberPresent = 0 ;<br />
80 <strong>for</strong> ( int i = 0 ; i < keywordList . l e n g t h ; i ++) {<br />
81 numberPresent = searchIndex ( keywordList [ i ] ) ;<br />
82 out . p r i n t l n ( keywordList [ i ] + " : " + numberPresent + ) ;<br />
83 }<br />
84 out . c l o s e ( ) ;<br />
85 System . out . p r i n t l n ( "========= END ============" ) ;<br />
86 }<br />
87 public void runCommand( S t r i n g [ ] inputCommandString ) {<br />
88 int number = inputCommandString . l e n g t h ;<br />
89 try {<br />
90 S t r i n g [ ] commands = new S t r i n g [ inputCommandString . l e n g t h + 2 ] ;<br />
91 commands [ 0 ] = "cmd . exe " ;<br />
92 commands [ 1 ] = "/ c " ;<br />
431