mirror of
https://github.com/rizinorg/rizin
synced 2026-08-22 20:26:16 -04:00
* Add LuaJIT binary loader * Add LuaJIT analysis and disassembly plugin * New CPU format `luajit` for luac plugin
265 lines
No EOL
13 KiB
Text
265 lines
No EOL
13 KiB
Text
NAME=LUAJIT: Disassembly
|
|
FILE=bins/luaJIT/bin/big_2.1.ljbc
|
|
CMDS=<<EOF
|
|
aa
|
|
afl
|
|
agf ascii
|
|
pd 10
|
|
s entry8
|
|
agf ascii
|
|
axl
|
|
pdf
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x0000001e 4 44 entry9
|
|
0x000000b1 2 16 entry8
|
|
0x000000f3 5 128 entry7
|
|
0x000001e6 1 64 entry6
|
|
0x000002aa 9 108 -> 100 entry5
|
|
0x000003b6 13 92 -> 80 entry4
|
|
0x00000441 1 12 entry3
|
|
0x00000468 4 52 entry2
|
|
0x000004e0 1 80 entry1
|
|
0x000005e5 2 124 entry0
|
|
.---------------------------------------------------.
|
|
| 0x5e5 |
|
|
| ; [02] -r-x section size 124 named fcn.0x5d7.code |
|
|
| ;-- section.fcn.0x5d7.code: |
|
|
| entry0(); |
|
|
| gget r0 0 |
|
|
| knum r1 0 |
|
|
| tsets r1 0 1 |
|
|
| gget r0 0 |
|
|
| kpri r1 2 |
|
|
| tsets r1 0 2 |
|
|
| knil r0...r3 |
|
|
| tdup r4 3 |
|
|
| fnew r5 4 |
|
|
| mov r6 r5 |
|
|
| knum r8 1 |
|
|
| call r6 2 2 |
|
|
| mov r7 r6 |
|
|
| kshort r9 45 |
|
|
| kpri r10 1 |
|
|
| call r7 3 3 |
|
|
| mov r9 r6 |
|
|
| kshort r11 50 |
|
|
| kpri r12 2 |
|
|
| call r9 3 3 |
|
|
| fnew r11 5 |
|
|
| fnew r12 6 |
|
|
| fnew r13 7 |
|
|
| fnew r14 8 |
|
|
| fnew r15 9 |
|
|
| fnew r16 10 |
|
|
| fnew r17 11 |
|
|
| mov r18 r17 |
|
|
| call r18 1 1 |
|
|
| uclo r0 32768 |
|
|
`---------------------------------------------------'
|
|
v
|
|
|
|
|
'--------.
|
|
|
|
|
.---------------------------------.
|
|
| 0x65d |
|
|
| ; CODE XREF from entry0 @ 0x659 |
|
|
| ret0 r0 1 |
|
|
`---------------------------------'
|
|
;-- section.fcn.0x5d7.code:
|
|
/ entry0();
|
|
| 0x000005e5 gget r0 0 ; [02] -r-x section size 124 named fcn.0x5d7.code
|
|
| 0x000005e9 knum r1 0
|
|
| 0x000005ed tsets r1 0 1
|
|
| 0x000005f1 gget r0 0
|
|
| 0x000005f5 kpri r1 2
|
|
| 0x000005f9 tsets r1 0 2
|
|
| 0x000005fd knil r0...r3
|
|
| 0x00000601 tdup r4 3
|
|
| 0x00000605 fnew r5 4
|
|
| 0x00000609 mov r6 r5
|
|
.-------------------------------------------------.
|
|
| 0xb1 |
|
|
| ; [58] -r-x section size 16 named fcn.0xa6.code |
|
|
| ;-- section.fcn.0xa6.code: |
|
|
| entry8(); |
|
|
| kshort r1 0 |
|
|
| fnew r2 0 |
|
|
| uclo r0 32768 |
|
|
`-------------------------------------------------'
|
|
v
|
|
|
|
|
'-------.
|
|
|
|
|
.--------------------------------.
|
|
| 0xbd |
|
|
| ; CODE XREF from entry8 @ 0xb9 |
|
|
| ret1 r2 2 |
|
|
`--------------------------------'
|
|
entry9+24 0x36 -> CODE -> 0x3e entry9+32
|
|
entry8+8 0xb9 -> CODE -> 0xbd entry8+12
|
|
entry7+64 0x133 -> CODE -> 0x13f entry7+76
|
|
entry7+72 0x13b -> CODE -> 0x143 entry7+80
|
|
entry5+88 0x302 -> CODE -> 0x312 entry5+104
|
|
entry4+8 0x3be -> CODE -> 0x3ce entry4+24
|
|
entry4+32 0x3d6 -> CODE -> 0x3e6 entry4+48
|
|
entry4+52 0x3ea -> CODE -> 0x3fa entry4+68
|
|
entry4+72 0x3fe -> CODE -> 0x40a entry4+84
|
|
entry2+24 0x480 -> CODE -> 0x488 entry2+32
|
|
entry0+116 0x659 -> CODE -> 0x65d entry0+120
|
|
;-- section.fcn.0xa6.code:
|
|
/ entry8();
|
|
| 0x000000b1 kshort r1 0 ; [58] -r-x section size 16 named fcn.0xa6.code
|
|
| 0x000000b5 fnew r2 0
|
|
| ,=< 0x000000b9 uclo r0 32768
|
|
| | ; CODE XREF from entry8 @ 0xb9
|
|
\ `-> 0x000000bd ret1 r2 2
|
|
EOF
|
|
RUN
|
|
|
|
NAME=LUAJIT: Function boundary small file
|
|
FILE=bins/luaJIT/bin/find_string_2.1.ljbc
|
|
CMDS=<<EOF
|
|
aa
|
|
pd 10
|
|
afl
|
|
axl
|
|
pdf
|
|
EOF
|
|
EXPECT=<<EOF
|
|
;-- section.fcn.0x1a.code:
|
|
/ entry0();
|
|
| 0x00000026 gget r0 0 ; [02] -r-x section size 140 named fcn.0x1a.code
|
|
| 0x0000002a tgets r0 0 1
|
|
| 0x0000002e gget r2 2
|
|
| 0x00000032 kstr r3 3
|
|
| 0x00000036 call r0 3 3
|
|
| 0x0000003a gget r2 4
|
|
| 0x0000003e kstr r4 5
|
|
| 0x00000042 gget r5 0
|
|
| 0x00000046 tgets r5 5 6
|
|
| 0x0000004a gget r7 2
|
|
0x00000026 7 140 entry0
|
|
entry0+80 0x76 -> CODE -> 0x86 entry0+96
|
|
entry0+120 0x9e -> CODE -> 0xae entry0+136
|
|
;-- section.fcn.0x1a.code:
|
|
/ entry0();
|
|
| 0x00000026 gget r0 0 ; [02] -r-x section size 140 named fcn.0x1a.code
|
|
| 0x0000002a tgets r0 0 1
|
|
| 0x0000002e gget r2 2
|
|
| 0x00000032 kstr r3 3
|
|
| 0x00000036 call r0 3 3
|
|
| 0x0000003a gget r2 4
|
|
| 0x0000003e kstr r4 5
|
|
| 0x00000042 gget r5 0
|
|
| 0x00000046 tgets r5 5 6
|
|
| 0x0000004a gget r7 2
|
|
| 0x0000004e mov r8 r0
|
|
| 0x00000052 mov r9 r1
|
|
| 0x00000056 call r5 0 4
|
|
| 0x0000005a callm r2 1 1
|
|
| 0x0000005e gget r2 0
|
|
| 0x00000062 tgets r2 2 1
|
|
| 0x00000066 gget r4 2
|
|
| 0x0000006a kstr r5 7
|
|
| 0x0000006e call r2 3 3
|
|
| ,=< 0x00000072 isf r0 r2
|
|
| ,==< 0x00000076 jmp r4 3
|
|
| |`-> 0x0000007a gget r4 4
|
|
| | 0x0000007e kstr r6 8
|
|
| | 0x00000082 call r4 1 2
|
|
| | ; CODE XREF from entry0 @ 0x76
|
|
| `--> 0x00000086 gget r4 0
|
|
| 0x0000008a tgets r4 4 1
|
|
| 0x0000008e gget r6 2
|
|
| 0x00000092 kstr r7 9
|
|
| 0x00000096 call r4 3 3
|
|
| ,=< 0x0000009a ist r0 r4
|
|
| ,==< 0x0000009e jmp r6 3
|
|
| |`-> 0x000000a2 gget r6 4
|
|
| | 0x000000a6 kstr r8 10
|
|
| | 0x000000aa call r6 1 2
|
|
| | ; CODE XREF from entry0 @ 0x9e
|
|
\ `--> 0x000000ae ret0 r0 1
|
|
EOF
|
|
RUN
|
|
|
|
NAME=LUAJIT: Register Profile
|
|
FILE=bins/luaJIT/bin/dumb_code_2.1.ljbc
|
|
CMDS=<<EOF
|
|
ar pc=0x1337
|
|
ar r0=0x42
|
|
ar pc
|
|
ar r0
|
|
ar=
|
|
EOF
|
|
EXPECT=<<EOF
|
|
pc = 0x00001337
|
|
r0 = 0x00000042
|
|
pc 0x00001337 sp 0x00000000 r0 0x00000042 r1 0x00000000
|
|
r2 0x00000000 r3 0x00000000 r4 0x00000000 r5 0x00000000
|
|
r6 0x00000000 r7 0x00000000 r8 0x00000000 r9 0x00000000
|
|
r10 0x00000000 r11 0x00000000 r12 0x00000000 r13 0x00000000
|
|
r14 0x00000000 r15 0x00000000 r16 0x00000000 r17 0x00000000
|
|
r18 0x00000000 r19 0x00000000 r20 0x00000000 r21 0x00000000
|
|
r22 0x00000000 r23 0x00000000 r24 0x00000000 r25 0x00000000
|
|
r26 0x00000000 r27 0x00000000 r28 0x00000000 r29 0x00000000
|
|
r30 0x00000000 r31 0x00000000 r32 0x00000000 r33 0x00000000
|
|
r34 0x00000000 r35 0x00000000 r36 0x00000000 r37 0x00000000
|
|
r38 0x00000000 r39 0x00000000 r40 0x00000000 r41 0x00000000
|
|
r42 0x00000000 r43 0x00000000 r44 0x00000000 r45 0x00000000
|
|
r46 0x00000000 r47 0x00000000 r48 0x00000000 r49 0x00000000
|
|
r50 0x00000000 r51 0x00000000 r52 0x00000000 r53 0x00000000
|
|
r54 0x00000000 r55 0x00000000 r56 0x00000000 r57 0x00000000
|
|
r58 0x00000000 r59 0x00000000 r60 0x00000000 r61 0x00000000
|
|
r62 0x00000000 r63 0x00000000 r64 0x00000000 r65 0x00000000
|
|
r66 0x00000000 r67 0x00000000 r68 0x00000000 r69 0x00000000
|
|
r70 0x00000000 r71 0x00000000 r72 0x00000000 r73 0x00000000
|
|
r74 0x00000000 r75 0x00000000 r76 0x00000000 r77 0x00000000
|
|
r78 0x00000000 r79 0x00000000 r80 0x00000000 r81 0x00000000
|
|
r82 0x00000000 r83 0x00000000 r84 0x00000000 r85 0x00000000
|
|
r86 0x00000000 r87 0x00000000 r88 0x00000000 r89 0x00000000
|
|
r90 0x00000000 r91 0x00000000 r92 0x00000000 r93 0x00000000
|
|
r94 0x00000000 r95 0x00000000 r96 0x00000000 r97 0x00000000
|
|
r98 0x00000000 r99 0x00000000 r100 0x00000000 r101 0x00000000
|
|
r102 0x00000000 r103 0x00000000 r104 0x00000000 r105 0x00000000
|
|
r106 0x00000000 r107 0x00000000 r108 0x00000000 r109 0x00000000
|
|
r110 0x00000000 r111 0x00000000 r112 0x00000000 r113 0x00000000
|
|
r114 0x00000000 r115 0x00000000 r116 0x00000000 r117 0x00000000
|
|
r118 0x00000000 r119 0x00000000 r120 0x00000000 r121 0x00000000
|
|
r122 0x00000000 r123 0x00000000 r124 0x00000000 r125 0x00000000
|
|
r126 0x00000000 r127 0x00000000 r128 0x00000000 r129 0x00000000
|
|
r130 0x00000000 r131 0x00000000 r132 0x00000000 r133 0x00000000
|
|
r134 0x00000000 r135 0x00000000 r136 0x00000000 r137 0x00000000
|
|
r138 0x00000000 r139 0x00000000 r140 0x00000000 r141 0x00000000
|
|
r142 0x00000000 r143 0x00000000 r144 0x00000000 r145 0x00000000
|
|
r146 0x00000000 r147 0x00000000 r148 0x00000000 r149 0x00000000
|
|
r150 0x00000000 r151 0x00000000 r152 0x00000000 r153 0x00000000
|
|
r154 0x00000000 r155 0x00000000 r156 0x00000000 r157 0x00000000
|
|
r158 0x00000000 r159 0x00000000 r160 0x00000000 r161 0x00000000
|
|
r162 0x00000000 r163 0x00000000 r164 0x00000000 r165 0x00000000
|
|
r166 0x00000000 r167 0x00000000 r168 0x00000000 r169 0x00000000
|
|
r170 0x00000000 r171 0x00000000 r172 0x00000000 r173 0x00000000
|
|
r174 0x00000000 r175 0x00000000 r176 0x00000000 r177 0x00000000
|
|
r178 0x00000000 r179 0x00000000 r180 0x00000000 r181 0x00000000
|
|
r182 0x00000000 r183 0x00000000 r184 0x00000000 r185 0x00000000
|
|
r186 0x00000000 r187 0x00000000 r188 0x00000000 r189 0x00000000
|
|
r190 0x00000000 r191 0x00000000 r192 0x00000000 r193 0x00000000
|
|
r194 0x00000000 r195 0x00000000 r196 0x00000000 r197 0x00000000
|
|
r198 0x00000000 r199 0x00000000 r200 0x00000000 r201 0x00000000
|
|
r202 0x00000000 r203 0x00000000 r204 0x00000000 r205 0x00000000
|
|
r206 0x00000000 r207 0x00000000 r208 0x00000000 r209 0x00000000
|
|
r210 0x00000000 r211 0x00000000 r212 0x00000000 r213 0x00000000
|
|
r214 0x00000000 r215 0x00000000 r216 0x00000000 r217 0x00000000
|
|
r218 0x00000000 r219 0x00000000 r220 0x00000000 r221 0x00000000
|
|
r222 0x00000000 r223 0x00000000 r224 0x00000000 r225 0x00000000
|
|
r226 0x00000000 r227 0x00000000 r228 0x00000000 r229 0x00000000
|
|
r230 0x00000000 r231 0x00000000 r232 0x00000000 r233 0x00000000
|
|
r234 0x00000000 r235 0x00000000 r236 0x00000000 r237 0x00000000
|
|
r238 0x00000000 r239 0x00000000 r240 0x00000000 r241 0x00000000
|
|
r242 0x00000000 r243 0x00000000 r244 0x00000000 r245 0x00000000
|
|
r246 0x00000000 r247 0x00000000 r248 0x00000000 r249 0x00000000
|
|
r250 0x00000000 r251 0x00000000 r252 0x00000000 r253 0x00000000
|
|
r254 0x00000000 r255 0x00000000
|
|
EOF
|
|
RUN |