-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathValidSmaliInstructions.py
6 lines (4 loc) · 7.14 KB
/
ValidSmaliInstructions.py
1
2
3
4
5
# Can be re-created using this: set([x.strip() for x in open("./stigma/valid_smali_instructions.txt", "r").readlines()])
# The contents of this file maybe should be in "SmaliAssemblyInstructions.py" instead of here in it's own file?
SET = {'execute-inline', 'move/16', 'iget-char', 'sput-wide', 'invoke-direct-empty', 'goto/32', 'add-long/2addr', 'div-int/lit16', 'if-eq', 'sput-char', 'int-to-long', 'if-eqz', 'or-long', 'add-float', 'long-to-double', 'and-int/2addr', 'mul-double', 'shr-int/2addr', 'move-wide/from16', 'move-result-object', 'aput-boolean', 'invoke-super/range', 'div-int/2addr', 'shl-int/lit8', 'and-int', 'const-class', 'sub-float', 'xor-long', 'move', 'iput-boolean', 'or-int', 'add-double', 'div-double/2addr', 'invoke-interface/range', 'return', 'filled-new-array/range', 'cmpg-float', 'iput-object-quick', 'add-int', 'aget-short', 'not-int', 'div-float', 'sub-int', 'shr-long', 'iget-wide', 'add-long', 'and-long/2addr', 'iget-wide-quick', 'sput', 'iput-quick', 'int-to-char', 'packed-switch', 'sub-int/lit8', 'iput-wide-quick', 'aput', 'xor-int/lit16', 'invoke-interface', 'const-wide/16', 'rem-int/lit16', 'sget-byte', 'rem-int/lit8', 'const/16', 'neg-float', 'rem-float', 'rem-long/2addr', 'if-lez', 'const-string', 'aput-char', 'neg-double', 'invoke-super-quick/range', 'mul-int/2addr', 'iget-object', 'aput-wide', 'iget', 'iput-object', 'sput-short', 'float-to-double', 'sub-float/2addr', 'div-int', 'invoke-virtual', 'or-long/2addr', 'neg-long', 'aput-short', 'long-to-int', 'or-int/2addr', 'mul-float', 'or-int/lit16', 'float-to-int', 'div-long/2addr', 'sget-object', 'invoke-direct', 'add-double/2addr', 'sput-object', 'shr-long/2addr', 'invoke-super', 'ushr-long/2addr', 'sget-boolean', 'const-wide', 'if-lt', 'add-int/lit16', 'return-void', 'div-float/2addr', 'iget-quick', 'iget-short', 'xor-int/lit8', 'const/high16', 'const-wide/32', 'sub-double/2addr', 'if-le', 'mul-int/lit8', 'check-cast', 'move-wide/16', 'const/4', 'goto', 'new-array', 'move-object', 'ushr-int/lit8', 'shl-int', 'aget-boolean', 'instance-of', 'int-to-byte', 'and-int/lit8', 'int-to-float', 'const', 'iput-char', 'aput-object', 'float-to-long', 'sput-byte', 'new-instance', 'if-gez', 'double-to-float', 'add-int/2addr', 'sub-long/2addr', 'rem-int/2addr', 'ushr-int/2addr', 'sget-char', 'cmpl-double', 'div-double', 'shl-long/2addr', 'or-int/lit8', 'iget-object-quick', 'aget-wide', 'mul-double/2addr', 'rem-double', 'sget-short', 'not-long', 'const-string-jumbo', 'const-string/jumbo', 'rem-double/2addr', 'iput-short', 'sub-long', 'sub-double', 'cmpg-double', 'mul-long/2addr', 'goto/16', 'move-result', 'invoke-virtual-quick', 'int-to-short', 'move-object/from16', 'add-int/lit8', 'monitor-exit', 'invoke-static/range', 'move-wide', 'move/from16', 'div-int/lit8', 'rem-int', 'mul-long', 'monitor-enter', 'neg-int', 'shr-int/lit8', 'sget-wide', 'move-result-wide', 'move-exception', 'sub-int/2addr', 'and-int/lit16', 'aput-byte', 'div-long', 'iput-byte', 'iget-byte', 'aget-object', 'filled-new-array', 'throw', 'if-ge', 'cmp-long', 'invoke-virtual/range', 'shl-long', 'array-length', 'double-to-long', 'sget', 'sub-int/lit16', 'aget', 'if-ltz', 'mul-int', 'invoke-super-quick', 'ushr-int', 'xor-int', 'return-wide', 'if-gtz', 'iget-boolean', 'sput-boolean', 'shr-int', 'add-float/2addr', 'if-gt', 'xor-int/2addr', 'and-long', 'aget-byte', 'if-nez', 'invoke-direct/range', 'if-ne', 'long-to-float', 'iput', 'invoke-virtual-quick/range', 'int-to-double', 'double-to-int', 'fill-array-data', 'shl-int/2addr', 'rem-long', 'ushr-long', 'xor-long/2addr', 'iput-wide', 'invoke-static', 'aget-char', 'rem-float/2addr', 'return-object', 'cmpl-float', 'mul-int/lit16', 'sparse-switch', 'const-wide/high16', 'mul-float/2addr', 'move-object/16', "rsub-int", "rsub-int/lit8"}
LIST = ['move', 'move/from16', 'move/16', 'move-wide', 'move-wide/from16', 'move-wide/16', 'move-object', 'move-object/from16', 'move-object/16', 'move-result', 'move-result-wide', 'move-result-object', 'move-exception', 'return-void', 'return', 'return-wide', 'return-object', 'const/4', 'const/16', 'const', 'const/high16', 'const-wide/16', 'const-wide/32', 'const-wide', 'const-wide/high16', 'const-string', 'const-string-jumbo', 'const-string/jumbo', 'const-class', 'monitor-enter', 'monitor-exit', 'check-cast', 'instance-of', 'array-length', 'new-instance', 'new-array', 'filled-new-array', 'filled-new-array/range', 'fill-array-data', 'throw', 'goto', 'goto/16', 'goto/32', 'packed-switch', 'sparse-switch', 'cmpl-float', 'cmpg-float', 'cmpl-double', 'cmpg-double', 'cmp-long', 'if-eq', 'if-ne', 'if-lt', 'if-ge', 'if-gt', 'if-le', 'if-eqz', 'if-nez', 'if-ltz', 'if-gez', 'if-gtz', 'if-lez', 'aget', 'aget-wide', 'aget-object', 'aget-boolean', 'aget-byte', 'aget-char', 'aget-short', 'aput', 'aput-wide', 'aput-object', 'aput-boolean', 'aput-byte', 'aput-char', 'aput-short', 'iget', 'iget-wide', 'iget-object', 'iget-boolean', 'iget-byte', 'iget-char', 'iget-short', 'iput', 'iput-wide', 'iput-object', 'iput-boolean', 'iput-byte', 'iput-char', 'iput-short', 'sget', 'sget-wide', 'sget-object', 'sget-boolean', 'sget-byte', 'sget-char', 'sget-short', 'sput', 'sput-wide', 'sput-object', 'sput-boolean', 'sput-byte', 'sput-char', 'sput-short', 'invoke-virtual', 'invoke-super', 'invoke-direct', 'invoke-static', 'invoke-interface', 'invoke-virtual/range', 'invoke-super/range', 'invoke-direct/range', 'invoke-static/range', 'invoke-interface/range', 'neg-int', 'not-int', 'neg-long', 'not-long', 'neg-float', 'neg-double', 'int-to-long', 'int-to-float', 'int-to-double', 'long-to-int', 'long-to-float', 'long-to-double', 'float-to-int', 'float-to-long', 'float-to-double', 'double-to-int', 'double-to-long', 'double-to-float', 'int-to-byte', 'int-to-char', 'int-to-short', 'add-int', 'sub-int', 'mul-int', 'div-int', 'rem-int', 'and-int', 'or-int', 'xor-int', 'shl-int', 'shr-int', 'ushr-int', 'add-long', 'sub-long', 'mul-long', 'div-long', 'rem-long', 'and-long', 'or-long', 'xor-long', 'shl-long', 'shr-long', 'ushr-long', 'add-float', 'sub-float', 'mul-float', 'div-float', 'rem-float', 'add-double', 'sub-double', 'mul-double', 'div-double', 'rem-double', 'add-int/2addr', 'sub-int/2addr', 'mul-int/2addr', 'div-int/2addr', 'rem-int/2addr', 'and-int/2addr', 'or-int/2addr', 'xor-int/2addr', 'shl-int/2addr', 'shr-int/2addr', 'ushr-int/2addr', 'add-long/2addr', 'sub-long/2addr', 'mul-long/2addr', 'div-long/2addr', 'rem-long/2addr', 'and-long/2addr', 'or-long/2addr', 'xor-long/2addr', 'shl-long/2addr', 'shr-long/2addr', 'ushr-long/2addr', 'add-float/2addr', 'sub-float/2addr', 'mul-float/2addr', 'div-float/2addr', 'rem-float/2addr', 'add-double/2addr', 'sub-double/2addr', 'mul-double/2addr', 'div-double/2addr', 'rem-double/2addr', 'add-int/lit16', 'sub-int/lit16', 'mul-int/lit16', 'div-int/lit16', 'rem-int/lit16', 'and-int/lit16', 'or-int/lit16', 'xor-int/lit16', 'add-int/lit8', 'sub-int/lit8', 'mul-int/lit8', 'div-int/lit8', 'rem-int/lit8', 'and-int/lit8', 'or-int/lit8', 'xor-int/lit8', 'shl-int/lit8', 'shr-int/lit8', 'ushr-int/lit8', 'execute-inline', 'invoke-direct-empty', 'iget-quick', 'iget-wide-quick', 'iget-object-quick', 'iput-quick', 'iput-wide-quick', 'iput-object-quick', 'invoke-virtual-quick', 'invoke-virtual-quick/range', 'invoke-super-quick', 'invoke-super-quick/range', "rsub-int", "rsub-int/lit8"]