@@ -21,6 +21,56 @@ This will install `jingle` in your path. Note that
2121
2222` jingle ` requires that a Ghidra installation be present.
2323
24+ When you provide it as the first argument to the ` jingle ` CLI, it
25+ will save that path for future usage.
26+
27+ Once it has been configured, you can simple run it as follows:
28+
29+ ``` shell
30+ jingle disassemble x86:LE:32:default 89fb
31+ jingle lift x86:LE:32:default 89fb
32+ jingle model x86:LE:32:default 89fb
33+ ```
34+
35+ These three invocations will print disassembly, pcode translation, and
36+ a logical model respectively. None of these, particularly the logical model,
37+ are intended to be used directly from this utility; this is merely for demonstration.
38+ The proper way to use this tool is through the API.
39+
40+ The above invocations will produce the following output:
41+ ``` shell
42+ # jingle disassemble x86:LE:32:default 89fb
43+ MOV EBX,EDI
44+ ```
45+
46+ ``` shell
47+ # jingle lift x86:LE:32:default 89fb
48+ EBX = COPY EDI
49+ ```
50+
51+ ``` shell
52+ # jingle model x86:LE:32:default 89fb
53+ ; benchmark generated from rust API
54+ (set-info :status unknown)
55+ (declare-fun register!4 () (Array (_ BitVec 32) (_ BitVec 8)))
56+ (declare-fun register!9 () (Array (_ BitVec 32) (_ BitVec 8)))
57+ (declare-fun ram!3 () (Array (_ BitVec 32) (_ BitVec 8)))
58+ (declare-fun ram!8 () (Array (_ BitVec 32) (_ BitVec 8)))
59+ (declare-fun OTHER!1 () (Array (_ BitVec 64) (_ BitVec 8)))
60+ (declare-fun OTHER!6 () (Array (_ BitVec 64) (_ BitVec 8)))
61+ (assert
62+ (let (( ? x77 (store (store register! 4 (_ bv12 32 ) (select register! 4 (_ bv28 32 )) ) (_ bv13 32) (select register! 4 (_ bv29 32)))))
63+ (let (( ? x81 (store (store ? x77 (_ bv14 32 ) (select register! 4 (_ bv30 32 )) ) (_ bv15 32) (select register! 4 (_ bv31 32)))))
64+ (let (( $x82 (= register! 9 ? x81 )) )
65+ (let (( $x63 (= ram! 8 ram! 3 )) )
66+ (let (( $x62 (= OTHER! 6 OTHER! 1 )) )
67+ (and $x62 $x63 $x82 )))))))
68+ (check-sat)
69+
70+ ```
71+
72+ ### Usage string
73+
2474``` shell
2575Usage: jingle [GHIDRA_PATH] < COMMAND>
2676
0 commit comments