hamarituc / desfsh

DESFire Shell
GNU General Public License v3.0
10 stars 2 forks source link

Unexpected symbol #1

Closed artzaik closed 2 years ago

artzaik commented 2 years ago

Hi,

When I launch ./desfsh I get an error:

./desfsh -d 0 -t 0 [string "function AES(k, v)..."]:25: unexpected symbol near '-'

Without parameters ir works:

` ./desfsh 1 devices found:

0: pn53x_usb:001:003

0: Mifare DESFire --> 04837afa815e80 `

Have I forgotten someting? or maybe is not compatible with Desfire?

Regards

hamarituc commented 2 years ago

It should work with DESFire as it is the application this tool was designed for. Which Lua version do you have installed? Do you have multiple versions of Lua installed in parallel? During build a file named luainit.inc is created. Can you please post the content of this file here.

artzaik commented 2 years ago
$ lua

Lua 5.4.2  Copyright (C) 1994-2020 Lua.org, PUC-Rio
$ cat luainit.inc 

  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x45, 0x53,

  0x28, 0x6b, 0x2c, 0x20, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20,

  0x6e, 0x6f, 0x74, 0x20, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x6b,

  0x20, 0x3d, 0x20, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,

  0x22, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e,

  0x6f, 0x74, 0x20, 0x76, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x76, 0x20,

  0x3d, 0x20, 0x30, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x72, 0x65,

  0x74, 0x75, 0x72, 0x6e, 0x20, 0x7b, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x22,

  0x41, 0x45, 0x53, 0x22, 0x2c, 0x20, 0x6b, 0x20, 0x3d, 0x20, 0x6b, 0x2c,

  0x20, 0x76, 0x20, 0x3d, 0x20, 0x76, 0x20, 0x7d, 0x0a, 0x65, 0x6e, 0x64,

  0x0a, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,

  0x5f, 0x33, 0x4b, 0x33, 0x44, 0x45, 0x53, 0x28, 0x6b, 0x2c, 0x20, 0x76,

  0x29, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6b,

  0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x6b, 0x20, 0x3d, 0x20, 0x22, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22,

  0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f,

  0x74, 0x20, 0x76, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x76, 0x20, 0x3d,

  0x20, 0x30, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74,

  0x75, 0x72, 0x6e, 0x20, 0x7b, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x22, 0x33,

  0x4b, 0x33, 0x44, 0x45, 0x53, 0x22, 0x2c, 0x20, 0x6b, 0x20, 0x3d, 0x20,

  0x6b, 0x2c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x76, 0x20, 0x7d, 0x0a, 0x65,

  0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,

  0x20, 0x5f, 0x33, 0x44, 0x45, 0x53, 0x28, 0x6b, 0x2c, 0x20, 0x76, 0x29,

  0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6b, 0x20,

  0x74, 0x68, 0x65, 0x6e, 0x20, 0x6b, 0x20, 0x3d, 0x20, 0x22, 0x30, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x64, 0x0a,

  0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x76, 0x20, 0x74,

  0x68, 0x65, 0x6e, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x30, 0x20, 0x65, 0x6e,

  0x64, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x7b,

  0x20, 0x74, 0x20, 0x3d, 0x20, 0x22, 0x33, 0x44, 0x45, 0x53, 0x22, 0x2c,

  0x20, 0x6b, 0x20, 0x3d, 0x20, 0x6b, 0x2c, 0x20, 0x76, 0x20, 0x3d, 0x20,

  0x76, 0x20, 0x7d, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x66, 0x75, 0x6e,

  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x44, 0x45, 0x53, 0x28, 0x6b, 0x2c,

  0x20, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74,

  0x20, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x6b, 0x20, 0x3d, 0x20,

  0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,

  0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20,

  0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x76, 0x20, 0x74, 0x68,

  0x65, 0x6e, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x30, 0x20, 0x65, 0x6e, 0x64,

  0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x7b, 0x20,

  0x74, 0x20, 0x3d, 0x20, 0x22, 0x44, 0x45, 0x53, 0x22, 0x2c, 0x20, 0x6b,

  0x20, 0x3d, 0x20, 0x6b, 0x2c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x76, 0x20,

  0x7d, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x2d, 0x65, 0x20, 0x00
$ make clean all

rm -f *.o *.inc

rm -f desfsh

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o buffer.o buffer.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o cmd_app.o cmd_app.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o cmd_data.o cmd_data.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o cmd_picc.o cmd_picc.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o cmd_sec.o cmd_sec.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o crc.o crc.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o crypto.o crypto.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o debug.o debug.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o desflua.o desflua.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o desfsh.o desfsh.c

echo -n -e "\0" | cat luainit.lua - | xxd -i > luainit.inc

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o fn.o fn.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o help.o help.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o hexdump.o hexdump.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o key.o key.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o shell.o shell.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -c -o show.o show.c

gcc -Wall -Wextra -g -I/usr/include/lua5.4 -o desfsh buffer.o cmd_app.o cmd_data.o cmd_picc.o cmd_sec.o crc.o crypto.o debug.o desflua.o desfsh.o fn.o help.o hexdump.o key.o shell.o show.o -lnfc -lfreefare -lreadline -llua5.4 -lcrypto -lz
hamarituc commented 2 years ago

From luainit.inc it seems the -e parameter of echo is directly piped into xxd instead of enable parsing the escape sequences. It would be better to store the Lua code directly in the C source files.

artzaik commented 2 years ago

Great, thank you!