quarkslab / arybo

Manipulation, canonicalization and identification of mixed boolean-arithmetic symbolic expressions
BSD 3-Clause "New" or "Revised" License
300 stars 35 forks source link

'AstNode' object has no attribute 'getKind' #9

Closed windy1946 closed 5 years ago

windy1946 commented 5 years ago

branch 'fix/triton' the python file 'triton_.py' run error. it can not find getKind() in AstNode.

aguinet commented 5 years ago

Should be fixed with https://github.com/quarkslab/arybo/commit/38dd93c920d0c0f16090346dd839979d750f7259

windy1946 commented 5 years ago

Should be fixed with 38dd93c

I have tried the getType(), but it still have another error. the log said that AttributeError: 'ExprConcat' object has no attribute 'urem' here is the complete log.

[+] Generating symbolic_expressions/sample4-unprotected.bin.py
[+] Converting symbolic expressions to an LLVM module...
Traceback (most recent call last):
  File "./solve-vm.py", line 761, in <module>
    retValue  = main()
  File "./solve-vm.py", line 671, in main
    M = generateLLVMExpressions(ctx, 0)
  File "./solve-vm.py", line 623, in generateLLVMExpressions
    e = tritonexprs2arybo(exprs)
  File "~/.local/lib/python2.7/site-packages/arybo/tools/triton_.py", line 169, in tritonexprs2arybo
    e = tritonast2arybo(e.getAst(), True, False, context)
  File "~/.local/lib/python2.7/site-packages/arybo/tools/triton_.py", line 36, in tritonast2arybo
    v = next(children)
  File "~/.local/lib/python2.7/site-packages/arybo/tools/triton_.py", line 30, in <genexpr>
    children = (tritonast2arybo(c,use_exprs,use_esf,context) for c in children_)
  File "~/.local/lib/python2.7/site-packages/arybo/tools/triton_.py", line 60, in tritonast2arybo
    v = next(children)
  File "~/.local/lib/python2.7/site-packages/arybo/tools/triton_.py", line 30, in <genexpr>
    children = (tritonast2arybo(c,use_exprs,use_esf,context) for c in children_)
  File "~/.local/lib/python2.7/site-packages/arybo/tools/triton_.py", line 139, in tritonast2arybo
    return reduce(binop, children)
  File "~/.local/lib/python2.7/site-packages/arybo/tools/triton_.py", line 132, in <lambda>
    TAstN.BVUREM: lambda x,y: x.urem(y),
AttributeError: 'ExprConcat' object has no attribute 'urem'
Command exited with non-zero status 1