Dear Maintainer, I tried to collect some more information and compared this situation on real hardware armv5tel with an armv7 and it looks like in keccak_finalize the following instruction stores different data to memory depending on the arm hardware:
0x005c4ac0 <keccak_finalize+192>: f0 20 c4 e1 strd r2, [r4] In the failing case this is stored: (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x6f 0x6e 0x20 0x63 0x00 0x00 0x00 0x00 And in the good case this: (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 While on both the registers r2 and r3 contain: r2 0x696e6f2e 1768845102 r3 0x63206e6f 1663069807 In the attached files are some more details leading to the above result. Kind regards, Bernhard (gdb) bt #0 0x7f719ac4 in xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 #1 keccak_finalize (s=0xbeffef5c) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 #2 0x7f71a410 in hash (out=0xbefff1a8 "", outlen=32, in=<optimized out>, inlen=48, bits=256, delim=6 '\006') at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:353 #3 0x7f71a640 in sha3_256 (out=out@entry=0xbefff1a8 "", outlen=outlen@entry=32, in=in@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", inlen=inlen@entry=48) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:389 #4 0x7f6fb5e8 in crypto_digest256 (digest=digest@entry=0xbefff1a8 "", m=m@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", len=len@entry=48, algorithm=algorithm@entry=DIGEST_SHA3_256) at ../src/lib/crypt_ops/crypto_digest.c:153 #5 0x7f651948 in build_hs_checksum (key=key@entry=0x7f837df4, version=version@entry=3 '\003', checksum_out=checksum_out@entry=0xbefff1a8 "") at ../src/feature/hs/hs_common.c:748 #6 0x7f6530b0 in hs_build_address (key=key@entry=0x7f837df4, version=<optimized out>, addr_out=addr_out@entry=0x7f837da0 "") at ../src/feature/hs/hs_common.c:1001 ...
# Buster armel chroot 2020-12-13 on another Buster armel # uname -a Linux qnap119 4.19.0-12-marvell #1 Debian 4.19.152-1 (2020-10-18) armv5tel GNU/Linux # cat /proc/cpuinfo processor : 0 model name : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 400.00 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Hardware : Marvell Kirkwood (Flattened Device Tree) Revision : 0000 # chroot/bin/busybox mount -o rbind /dev chroot/dev # chroot/bin/busybox mount -o rbind /proc chroot/proc # chroot/bin/busybox mount -o rbind /sys chroot/sys # cd debian-10-buster-armel-chroot # env -i TERM=xterm LANG=de_DE.UTF-8 /usr/sbin/chroot chroot /bin/su - # apt install openssl tor # dpkg -l tor ... ii tor 0.3.5.12-1 armel anonymizing overlay network for TCP # exit # unshare -n /bin/bash # env -i TERM=xterm LANG=de_DE.UTF-8 /usr/sbin/chroot chroot /bin/su -l benutzer $ mkdir hs $ chmod go-rwx -R hs $ echo 'PT0gZWQyNTUxOXYxLXNlY3JldDogdHlwZTAgPT0AAACg6zoxlQ2hy7C6fUoTgIa0GLMk/YdVs2ic6jUDCzztZeLWcfqwCQ5/KoPk9v99cuWKO5mNpVrDtbOc27UUyC7e' | base64 -d > hs/hs_ed25519_secret_key $ echo '6bff2f57fcd69049091dcfa42b08fb84919d60dac919cbb16e3df1d960bb7843 ./hs/hs_ed25519_secret_key' | sha256sum -c ./hs/hs_ed25519_secret_key: OK $ cat <<EOF > torrc HiddenServiceDir /home/benutzer/hs HiddenServicePort 80 127.0.0.1:8080 EOF $ /usr/sbin/tor -f torrc Log 'info stdout' ... ^C $ cat hs/hostname upxkcswnvepfls7vcy5vuixy54hlugfjnzhvl5ygfbjtm7znkyac43yd.onion # apt build-dep tor # apt install gdb tor-dbgsym mkdir /home/benutzer/source/tor/orig -p cd /home/benutzer/source/tor/orig apt source tor cd $ rm hs/hostname $ gdb -q --args /usr/sbin/tor -f torrc Log 'info stdout' (gdb) set width 0 (gdb) set pagination off (gdb) directory /home/benutzer/source/tor/orig/tor-0.3.5.12/src (gdb) b build_hs_checksum (gdb) run (gdb) print sizeof(*key) $3 = 32 (gdb) x/32xb key 0x6e2de4: 0xa3 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0x6e2dec: 0xcb 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x6e2df4: 0x0e 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x6e2dfc: 0x06 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 (gdb) next (gdb) next (gdb) next 748 crypto_digest256((char *) checksum_out, data, sizeof(data), (gdb) print sizeof(data) $4 = 48 (gdb) x/48xb data 0xbefff17c: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbefff184: 0x68 0x65 0x63 0x6b 0x73 0x75 0x6d 0xa3 0xbefff18c: 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0xcb 0xbefff194: 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x0e 0xbefff19c: 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x06 0xbefff1a4: 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 0x03 (gdb) next hs_build_address (key=key@entry=0x6e2de4, version=<optimized out>, addr_out=addr_out@entry=0x6e2d90 "") at ../src/feature/hs/hs_common.c:1003 1003 build_hs_address(key, checksum, version, address); (gdb) print sizeof(checksum) $5 = 32 (gdb) x/32xb checksum 0xbefff1c8: 0x2e 0x6f 0x6e 0x69 0x64 0xd5 0xbf 0x89 0xbefff1d0: 0xa5 0xd1 0xdb 0x43 0x3b 0x94 0x10 0xdd 0xbefff1d8: 0xe8 0x01 0xe4 0x53 0xa1 0xd6 0x81 0xec 0xbefff1e0: 0xd1 0x2b 0xe5 0xfa 0x70 0xc0 0x47 0xac $ gdb -q --args /usr/sbin/tor -f /home/benutzer/torrc Log 'info stdout' ... (gdb) next 21 return _le64toh(r); (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef64: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef6c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef74: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef7c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef84: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef8c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef94: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef9c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefa4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefac: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefb4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefbc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefc4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefcc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefd4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefdc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefe4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefec: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeff4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeffc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff004: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff00c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff014: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff01c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->block 0xbefff029: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbefff031: 0x68 0x65 0x63 0x6b 0x73 0x75 0x6d 0xa3 0xbefff039: 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0xcb 0xbefff041: 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x0e 0xbefff049: 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x06 0xbefff051: 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 0x03 0xbefff059: 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff061: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff069: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff071: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff079: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff081: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff089: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff091: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff099: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0xbefff0b1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0b9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/4xb &((keccak_state *) 0xbeffef5c)->rate 0xbefff024: 0x88 0x00 0x00 0x00 (gdb) print r No symbol "r" in current context. (gdb) step 106 a[i/8] ^= loadu64le(src + i); (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x6f 0x6e 0x20 0x63 0x00 0x00 0x00 0x00 0xbeffef64: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef6c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef74: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef7c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef84: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef8c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef94: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef9c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefa4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefac: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefb4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefbc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefc4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefcc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefd4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefdc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefe4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefec: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeff4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeffc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff004: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff00c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff014: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff01c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->block 0xbefff029: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbefff031: 0x68 0x65 0x63 0x6b 0x73 0x75 0x6d 0xa3 0xbefff039: 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0xcb 0xbefff041: 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x0e 0xbefff049: 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x06 0xbefff051: 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 0x03 0xbefff059: 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff061: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff069: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff071: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff079: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff081: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff089: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff091: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff099: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0xbefff0b1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0b9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/4xb &((keccak_state *) 0xbeffef5c)->rate 0xbefff024: 0x88 0x00 0x00 0x00 (gdb) bt #0 xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:106 #1 keccak_finalize (s=0xbeffef5c) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 #2 0x005c5410 in hash (out=0xbefff1a8 "", outlen=32, in=<optimized out>, inlen=48, bits=256, delim=6 '\006') at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:353 #3 0x005c5640 in sha3_256 (out=out@entry=0xbefff1a8 "", outlen=outlen@entry=32, in=in@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", inlen=inlen@entry=48) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:389 #4 0x005a65e8 in crypto_digest256 (digest=digest@entry=0xbefff1a8 "", m=m@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", len=len@entry=48, algorithm=algorithm@entry=DIGEST_SHA3_256) at ../src/lib/crypt_ops/crypto_digest.c:153 #5 0x004fc948 in build_hs_checksum (key=key@entry=0x6e2df4, version=version@entry=3 '\003', checksum_out=checksum_out@entry=0xbefff1a8 "") at ../src/feature/hs/hs_common.c:748 #6 0x004fe0b0 in hs_build_address (key=key@entry=0x6e2df4, version=<optimized out>, addr_out=addr_out@entry=0x6e2da0 "") at ../src/feature/hs/hs_common.c:1001 #7 0x0050aa24 in load_service_keys (service=0x6e2da0) at ../src/feature/hs/hs_service.c:1080 #8 hs_service_load_all_keys () at ../src/feature/hs/hs_service.c:4041 #9 0x00580890 in options_act (old_options=0x0) at ../src/app/config/config.c:2095 #10 set_options (new_val=new_val@entry=0x6e1330, msg=msg@entry=0xbefff364) at ../src/app/config/config.c:921 #11 0x00582528 in options_init_from_string (cf_defaults=cf_defaults@entry=0x6e1308 "", cf=cf@entry=0x6e06c0 "HiddenServiceDir /home/benutzer/hs\nHiddenServicePort 80 127.0.0.1:8080\n", command=command@entry=0, command_arg=command_arg@entry=0x0, msg=0xbefff364, msg@entry=0xbefff35c) at ../src/app/config/config.c:5535 #12 0x00582a7c in options_init_from_torrc (argc=argc@entry=-1817120709, argv=argv@entry=0x6227f4) at ../src/app/config/config.c:5299 #13 0x00441748 in tor_init (argc=-1817120709, argc@entry=5, argv=0x6227f4, argv@entry=0x6ce3b0) at ../src/app/main/main.c:641 #14 0x00442484 in tor_run_main (tor_cfg=tor_cfg@entry=0x6ce170) at ../src/app/main/main.c:1455 #15 0x004405f8 in tor_main (argc=5, argv=0xbefff7a4) at ../src/feature/api/tor_api.c:164 #16 0x004400a8 in main (argc=<optimized out>, argv=<optimized out>) at ../src/app/main/tor_main.c:32 $ gdb -q --args /usr/sbin/tor -f /home/benutzer/torrc Log 'info stdout' ... ############## $ adb push debian-10-buster-armel-chroot-2020-12-13_11-58-28.tar.gz /sdcard $ adb shell $ su # uname -a Linux localhost 3.4.113-g2fff5b1955c0 #1 SMP PREEMPT Sun Mar 8 06:23:52 CST 2020 armv7l # cat /proc/cpuinfo Processor : ARMv7 Processor rev 0 (v7l) processor : 0 BogoMIPS : 13.50 processor : 1 BogoMIPS : 13.50 processor : 2 BogoMIPS : 13.50 processor : 3 BogoMIPS : 13.50 Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0x1 CPU part : 0x06f CPU revision : 0 # cd /data/media/0 # tar -zxf debian-10-buster-armel-chroot-2020-12-13_11-58-28.tar.gz # cd debian-10-buster-armel-chroot # chroot/bin/busybox mount -o rbind /dev chroot/dev # chroot/bin/busybox mount -o rbind /proc chroot/proc # chroot/bin/busybox mount -o rbind /sys chroot/sys # env -i TERM=xterm LANG=de_DE.UTF-8 /system/bin/chroot chroot /bin/su - # groupadd -g 3001 aid_net_bt_admin # groupadd -g 3002 aid_net_bt # groupadd -g 3003 aid_inet # groupadd -g 3004 aid_net_raw # groupadd -g 3005 aid_net_admin # groupadd -g 3006 aid_net_bw_stats # groupadd -g 3007 aid_net_bw_acct # groupadd -g 3008 aid_net_bt_stack # usermod -G 3003,3004 -a root # usermod -G 3003 -a benutzer # usermod -g 3003 -G 3003,3004 -a _apt # exit # env -i TERM=xterm LANG=de_DE.UTF-8 /system/bin/chroot chroot /bin/su - # apt install openssl tor # dpkg -l tor ... ii tor 0.3.5.12-1 armel anonymizing overlay network for TCP # exit # env -i TERM=xterm LANG=de_DE.UTF-8 /system/bin/chroot chroot /bin/su -l benutzer $ mkdir hs $ chmod go-rwx -R hs $ echo 'PT0gZWQyNTUxOXYxLXNlY3JldDogdHlwZTAgPT0AAACg6zoxlQ2hy7C6fUoTgIa0GLMk/YdVs2ic6jUDCzztZeLWcfqwCQ5/KoPk9v99cuWKO5mNpVrDtbOc27UUyC7e' | base64 -d > hs/hs_ed25519_secret_key $ echo '6bff2f57fcd69049091dcfa42b08fb84919d60dac919cbb16e3df1d960bb7843 ./hs/hs_ed25519_secret_key' | sha256sum -c ./hs/hs_ed25519_secret_key: OK $ cat <<EOF > torrc HiddenServiceDir /home/benutzer/hs HiddenServicePort 80 127.0.0.1:8080 EOF (disable WLAN) $ /usr/sbin/tor -f torrc Log 'info stdout' ... ^C $ cat hs/hostname upxkcswnvepfls7vcy5vuixy54hlugfjnzhvl5ygfbjtm7znkyahcvad.onion ... (gdb) print sizeof(*key) $5 = 32 (gdb) x/32xb key 0x7f837de4: 0xa3 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0x7f837dec: 0xcb 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x7f837df4: 0x0e 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x7f837dfc: 0x06 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 (gdb) next (gdb) next (gdb) next 748 crypto_digest256((char *) checksum_out, data, sizeof(data), (gdb) print sizeof(data) $6 = 48 (gdb) x/48xb data 0xbefff17c: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbefff184: 0x68 0x65 0x63 0x6b 0x73 0x75 0x6d 0xa3 0xbefff18c: 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0xcb 0xbefff194: 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x0e 0xbefff19c: 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x06 0xbefff1a4: 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 0x03 (gdb) next hs_build_address (key=key@entry=0x7f837de4, version=<optimized out>, addr_out=addr_out@entry=0x7f837d90 "") at ../src/feature/hs/hs_common.c:1003 1003 build_hs_address(key, checksum, version, address); (gdb) print sizeof(checksum) $7 = 32 (gdb) x/32xb checksum 0xbefff1c8: 0x71 0x54 0xeb 0xc4 0x22 0x16 0x74 0x01 0xbefff1d0: 0x67 0xfc 0x35 0xba 0x4f 0xa8 0x69 0x25 0xbefff1d8: 0x31 0x68 0xa7 0x80 0x27 0x68 0x2c 0xb9 0xbefff1e0: 0x3d 0x46 0x46 0x0d 0xc4 0xbb 0xf2 0xfb $ gdb -q --args /usr/sbin/tor -f /home/benutzer/torrc Log 'info stdout' ... (gdb) next 21 return _le64toh(r); (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef64: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef6c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef74: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef7c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef84: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef8c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef94: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef9c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefa4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefac: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefb4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefbc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefc4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefcc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefd4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefdc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefe4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefec: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeff4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeffc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff004: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff00c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff014: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff01c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->block 0xbefff029: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbefff031: 0x68 0x65 0x63 0x6b 0x73 0x75 0x6d 0xa3 0xbefff039: 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0xcb 0xbefff041: 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x0e 0xbefff049: 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x06 0xbefff051: 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 0x03 0xbefff059: 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff061: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff069: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff071: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff079: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff081: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff089: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff091: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff099: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0xbefff0b1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0b9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/4xb &((keccak_state *) 0xbeffef5c)->rate 0xbefff024: 0x88 0x00 0x00 0x00 (gdb) print r No symbol "r" in current context. (gdb) step 106 a[i/8] ^= loadu64le(src + i); (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbeffef64: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef6c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef74: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef7c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef84: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef8c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef94: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef9c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefa4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefac: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefb4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefbc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefc4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefcc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefd4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefdc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefe4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefec: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeff4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeffc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff004: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff00c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff014: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff01c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->block 0xbefff029: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbefff031: 0x68 0x65 0x63 0x6b 0x73 0x75 0x6d 0xa3 0xbefff039: 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0xcb 0xbefff041: 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x0e 0xbefff049: 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x06 0xbefff051: 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 0x03 0xbefff059: 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff061: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff069: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff071: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff079: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff081: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff089: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff091: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff099: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0xbefff0b1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0b9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/4xb &((keccak_state *) 0xbeffef5c)->rate 0xbefff024: 0x88 0x00 0x00 0x00 (gdb) bt #0 xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:106 #1 keccak_finalize (s=0xbeffef5c) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 #2 0x7f71a410 in hash (out=0xbefff1a8 "", outlen=32, in=<optimized out>, inlen=48, bits=256, delim=6 '\006') at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:353 #3 0x7f71a640 in sha3_256 (out=out@entry=0xbefff1a8 "", outlen=outlen@entry=32, in=in@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", inlen=inlen@entry=48) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:389 #4 0x7f6fb5e8 in crypto_digest256 (digest=digest@entry=0xbefff1a8 "", m=m@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", len=len@entry=48, algorithm=algorithm@entry=DIGEST_SHA3_256) at ../src/lib/crypt_ops/crypto_digest.c:153 #5 0x7f651948 in build_hs_checksum (key=key@entry=0x7f837df4, version=version@entry=3 '\003', checksum_out=checksum_out@entry=0xbefff1a8 "") at ../src/feature/hs/hs_common.c:748 #6 0x7f6530b0 in hs_build_address (key=key@entry=0x7f837df4, version=<optimized out>, addr_out=addr_out@entry=0x7f837da0 "") at ../src/feature/hs/hs_common.c:1001 #7 0x7f65fa24 in load_service_keys (service=0x7f837da0) at ../src/feature/hs/hs_service.c:1080 #8 hs_service_load_all_keys () at ../src/feature/hs/hs_service.c:4041 #9 0x7f6d5890 in options_act (old_options=0x0) at ../src/app/config/config.c:2095 #10 set_options (new_val=new_val@entry=0x7f836330, msg=msg@entry=0xbefff364) at ../src/app/config/config.c:921 #11 0x7f6d7528 in options_init_from_string (cf_defaults=cf_defaults@entry=0x7f836308 "", cf=cf@entry=0x7f8356c0 "HiddenServiceDir /home/benutzer/hs\nHiddenServicePort 80 127.0.0.1:8080\n", command=command@entry=0, command_arg=command_arg@entry=0x0, msg=0xbefff364, msg@entry=0xbefff35c) at ../src/app/config/config.c:5535 #12 0x7f6d7a7c in options_init_from_torrc (argc=argc@entry=-1817120709, argv=argv@entry=0x7f7777f4) at ../src/app/config/config.c:5299 #13 0x7f596748 in tor_init (argc=-1817120709, argc@entry=5, argv=0x7f7777f4, argv@entry=0x7f8233b0) at ../src/app/main/main.c:641 #14 0x7f597484 in tor_run_main (tor_cfg=tor_cfg@entry=0x7f823170) at ../src/app/main/main.c:1455 #15 0x7f5955f8 in tor_main (argc=5, argv=0xbefff7a4) at ../src/feature/api/tor_api.c:164 #16 0x7f5950a8 in main (argc=<optimized out>, argv=<optimized out>) at ../src/app/main/tor_main.c:32 gdb -q --args /usr/sbin/tor -f /home/benutzer/torrc Log 'info stdout' Reading symbols from /usr/sbin/tor...Reading symbols from /usr/lib/debug/.build-id/7f/11f9da02966e2e69c8fecb39c728b9f1d730e3.debug...done. done. (gdb) b xorin8 Breakpoint 1 at 0x1c4a84: xorin8. (3 locations) (gdb) run Starting program: /usr/sbin/tor -f /home/benutzer/torrc Log info\ stdout [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabi/libthread_db.so.1". Dec 13 15:46:09.673 [notice] Tor 0.3.5.12 running on Linux with Libevent 2.1.8-stable, OpenSSL 1.1.1d, Zlib 1.2.11, Liblzma 5.2.4, and Libzstd 1.3.8. Dec 13 15:46:09.674 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning Dec 13 15:46:09.675 [notice] Read configuration file "/home/benutzer/torrc". Dec 13 15:46:09.697 [notice] Opening Socks listener on 127.0.0.1:9050 Dec 13 15:46:09.698 [notice] Opened Socks listener on 127.0.0.1:9050 Dec 13 15:46:09.000 [warn] Your log may contain sensitive information - you're logging more than "notice". Don't log unless it serves an important reason. Overwrite the log afterwards. Dec 13 15:46:09.000 [info] options_act_reversible(): Recomputed OOS thresholds: ConnLimit 1000, ConnLimit_ 992, ConnLimit_high_thresh 943, ConnLimit_low_thresh 744 Dec 13 15:46:09.000 [info] tor_lockfile_lock(): Locking "/home/benutzer/.tor/lock" Dec 13 15:46:09.000 [info] config_generic_service(): HiddenServiceDir="/home/benutzer/hs". Configuring... Dec 13 15:46:09.000 [info] config_generic_service(): HiddenServicePort=80 127.0.0.1:8080 for "/home/benutzer/hs" Dec 13 15:46:09.000 [info] or_state_load(): Loaded state from "/home/benutzer/.tor/state" Dec 13 15:46:09.000 [info] circuit_build_times_parse_state(): Adding 0 timeouts. Dec 13 15:46:09.000 [info] circuit_build_times_parse_state(): Loaded 0/0 values from 0 lines in circuit time histogram Dec 13 15:46:09.000 [info] read_file_to_str(): Could not open "/home/benutzer/.tor/router-stability": No such file or directory Dec 13 15:46:09.000 [info] hs_service_load_all_keys(): Loading v3 onion service keys from "/home/benutzer/hs" Breakpoint 1, xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 189 xorin8(s->a, s->block, s->rate); (gdb) up #1 keccak_finalize (s=0xbeffef5c) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 189 xorin8(s->a, s->block, s->rate); (gdb) down #0 xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 189 xorin8(s->a, s->block, s->rate); (gdb) step 106 a[i/8] ^= loadu64le(src + i); (gdb) print a $1 = <optimized out> (gdb) print loadu64le No symbol "loadu64le" in current context. (gdb) display/i $pc 1: x/i $pc => 0x5c4a90 <keccak_finalize+144>: add r1, r4, #213 ; 0xd5 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4a94 in memcpy (__len=8, __src=0xbefff029, __dest=0xbeffef28) at /usr/include/arm-linux-gnueabi/bits/string_fortified.h:34 34 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); 1: x/i $pc => 0x5c4a94 <keccak_finalize+148>: mov r2, #8 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4a98 34 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); 1: x/i $pc => 0x5c4a98 <keccak_finalize+152>: mov r0, r10 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4a9c 34 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); 1: x/i $pc => 0x5c4a9c <keccak_finalize+156>: bl 0x43fa48 <memcpy@plt> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x0043fa48 in memcpy@plt () 1: x/i $pc => 0x43fa48 <memcpy@plt>: add r12, pc, #2097152 ; 0x200000 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x0043fa4c in memcpy@plt () 1: x/i $pc => 0x43fa4c <memcpy@plt+4>: add r12, r12, #124, 20 ; 0x7c000 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x0043fa50 in memcpy@plt () 1: x/i $pc => 0x43fa50 <memcpy@plt+8>: ldr pc, [r12, #712]! ; 0x2c8 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi memcpy () at ../sysdeps/arm/memcpy.S:63 63 ../sysdeps/arm/memcpy.S: Datei oder Verzeichnis nicht gefunden. 1: x/i $pc => 0xb6923ae0 <memcpy>: push {r0, r4, lr} (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 70 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ae4 <memcpy+4>: subs r2, r2, #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 71 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ae8 <memcpy+8>: blt 0xb6923b9c <memcpy+188> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 72 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923aec <memcpy+12>: ands r12, r0, #3 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 73 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923af0 <memcpy+16>: pld [r1] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 74 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923af4 <memcpy+20>: bne 0xb6923bbc <memcpy+220> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 75 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923af8 <memcpy+24>: ands r12, r1, #3 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 76 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923afc <memcpy+28>: bne 0xb6923bec <memcpy+268> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 229 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bec <memcpy+268>: bic r1, r1, #3 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 230 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bf0 <memcpy+272>: cmp r12, #2 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 231 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bf4 <memcpy+276>: ldr lr, [r1], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 232 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bf8 <memcpy+280>: beq 0xb6923cb0 <memcpy+464> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 233 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bfc <memcpy+284>: bgt 0xb6923d60 <memcpy+640> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c00 <memcpy+288>: subs r2, r2, #28 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c04 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c04 <memcpy+292>: blt 0xb6923c88 <memcpy+424> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c88 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c88 <memcpy+424>: ands r12, r2, #28 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c8c 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c8c <memcpy+428>: beq 0xb6923ca8 <memcpy+456> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c90 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c90 <memcpy+432>: lsr r3, lr, #8 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c94 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c94 <memcpy+436>: ldr lr, [r1], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c98 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c98 <memcpy+440>: subs r12, r12, #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c9c 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c9c <memcpy+444>: orr r3, r3, lr, lsl #24 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923ca0 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca0 <memcpy+448>: str r3, [r0], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923ca4 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca4 <memcpy+452>: bgt 0xb6923c90 <memcpy+432> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c90 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c90 <memcpy+432>: lsr r3, lr, #8 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c94 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c94 <memcpy+436>: ldr lr, [r1], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c98 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c98 <memcpy+440>: subs r12, r12, #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c9c 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c9c <memcpy+444>: orr r3, r3, lr, lsl #24 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923ca0 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca0 <memcpy+448>: str r3, [r0], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923ca4 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca4 <memcpy+452>: bgt 0xb6923c90 <memcpy+432> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923ca8 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca8 <memcpy+456>: sub r1, r1, #3 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923cac 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923cac <memcpy+460>: b 0xb6923b9c <memcpy+188> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 195 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923b9c <memcpy+188>: lsls r2, r2, #31 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 196 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ba0 <memcpy+192>: ldrbne r3, [r1], #1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 197 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ba4 <memcpy+196>: ldrbcs r4, [r1], #1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 198 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ba8 <memcpy+200>: ldrbcs r12, [r1] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 199 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bac <memcpy+204>: strbne r3, [r0], #1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 200 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bb0 <memcpy+208>: strbcs r4, [r0], #1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 201 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bb4 <memcpy+212>: strbcs r12, [r0] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 211 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bb8 <memcpy+216>: pop {r0, r4, pc} (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x5c4aa0 <keccak_finalize+160>: ldr r2, [r4, #8]! (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4aa4 in loadu64le (x=0xbefff029 ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V") at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x5c4aa4 <keccak_finalize+164>: ldr r12, [sp] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4aa8 in xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x5c4aa8 <keccak_finalize+168>: ldr r3, [r4, #4] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4aac in loadu64le (x=0xbefff029 ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V") at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x5c4aac <keccak_finalize+172>: ldr r0, [sp, #4] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4ab0 in xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x5c4ab0 <keccak_finalize+176>: add r1, r7, r4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4ab4 21 return _le64toh(r); 1: x/i $pc => 0x5c4ab4 <keccak_finalize+180>: eor r2, r2, r12 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4ab8 21 return _le64toh(r); 1: x/i $pc => 0x5c4ab8 <keccak_finalize+184>: eor r3, r3, r0 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4abc 21 return _le64toh(r); 1: x/i $pc => 0x5c4abc <keccak_finalize+188>: cmp r6, r1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4ac0 21 return _le64toh(r); 1: x/i $pc => 0x5c4ac0 <keccak_finalize+192>: strd r2, [r4] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x005c4ac4 21 return _le64toh(r); 1: x/i $pc => 0x5c4ac4 <keccak_finalize+196>: bhi 0x5c4a90 <keccak_finalize+144> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x6f 0x6e 0x20 0x63 0x00 0x00 0x00 0x00 (gdb) display/x $r2 2: /x $r2 = 0x696e6f2e (gdb) display/x $r4 3: /x $r4 = 0xbeffef5c (gdb) info reg r0 0x63206e6f 1663069807 r1 0x8 8 r2 0x696e6f2e 1768845102 r3 0x63206e6f 1663069807 r4 0xbeffef5c 3204443996 r5 0xbeffef5c 3204443996 r6 0x88 136 r7 0x410010ac 1090523308 r8 0xb6ffe968 3070224744 r9 0xbefff029 3204444201 r10 0xbeffef28 3204443944 r11 0x6 6 r12 0x696e6f2e 1768845102 sp 0xbeffef28 0xbeffef28 lr 0x63656863 1667590243 pc 0x5c4ac4 0x5c4ac4 <keccak_finalize+196> cpsr 0x20000010 536870928 (gdb) bt #0 0x005c4ac4 in xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 #1 keccak_finalize (s=0xbeffef5c) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 #2 0x005c5410 in hash (out=0xbefff1a8 "", outlen=32, in=<optimized out>, inlen=48, bits=256, delim=6 '\006') at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:353 #3 0x005c5640 in sha3_256 (out=out@entry=0xbefff1a8 "", outlen=outlen@entry=32, in=in@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", inlen=inlen@entry=48) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:389 #4 0x005a65e8 in crypto_digest256 (digest=digest@entry=0xbefff1a8 "", m=m@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", len=len@entry=48, algorithm=algorithm@entry=DIGEST_SHA3_256) at ../src/lib/crypt_ops/crypto_digest.c:153 #5 0x004fc948 in build_hs_checksum (key=key@entry=0x6e2df4, version=version@entry=3 '\003', checksum_out=checksum_out@entry=0xbefff1a8 "") at ../src/feature/hs/hs_common.c:748 #6 0x004fe0b0 in hs_build_address (key=key@entry=0x6e2df4, version=<optimized out>, addr_out=addr_out@entry=0x6e2da0 "") at ../src/feature/hs/hs_common.c:1001 #7 0x0050aa24 in load_service_keys (service=0x6e2da0) at ../src/feature/hs/hs_service.c:1080 #8 hs_service_load_all_keys () at ../src/feature/hs/hs_service.c:4041 #9 0x00580890 in options_act (old_options=0x0) at ../src/app/config/config.c:2095 #10 set_options (new_val=new_val@entry=0x6e1330, msg=msg@entry=0xbefff364) at ../src/app/config/config.c:921 #11 0x00582528 in options_init_from_string (cf_defaults=cf_defaults@entry=0x6e1308 "", cf=cf@entry=0x6e06c0 "HiddenServiceDir /home/benutzer/hs\nHiddenServicePort 80 127.0.0.1:8080\n", command=command@entry=0, command_arg=command_arg@entry=0x0, msg=0xbefff364, msg@entry=0xbefff35c) at ../src/app/config/config.c:5535 #12 0x00582a7c in options_init_from_torrc (argc=argc@entry=-1817120709, argv=argv@entry=0x6227f4) at ../src/app/config/config.c:5299 #13 0x00441748 in tor_init (argc=-1817120709, argc@entry=5, argv=0x6227f4, argv@entry=0x6ce3b0) at ../src/app/main/main.c:641 #14 0x00442484 in tor_run_main (tor_cfg=tor_cfg@entry=0x6ce170) at ../src/app/main/main.c:1455 #15 0x004405f8 in tor_main (argc=5, argv=0xbefff7a4) at ../src/feature/api/tor_api.c:164 #16 0x004400a8 in main (argc=<optimized out>, argv=<optimized out>) at ../src/app/main/tor_main.c:32 (gdb) disassemble /r keccak_finalize+160,keccak_finalize+200 Dump of assembler code from 0x5c4aa0 to 0x5c4ac8: 0x005c4aa0 <keccak_finalize+160>: 08 20 b4 e5 ldr r2, [r4, #8]! 0x005c4aa4 <keccak_finalize+164>: 00 c0 9d e5 ldr r12, [sp] 0x005c4aa8 <keccak_finalize+168>: 04 30 94 e5 ldr r3, [r4, #4] 0x005c4aac <keccak_finalize+172>: 04 00 9d e5 ldr r0, [sp, #4] 0x005c4ab0 <keccak_finalize+176>: 04 10 87 e0 add r1, r7, r4 0x005c4ab4 <keccak_finalize+180>: 0c 20 22 e0 eor r2, r2, r12 0x005c4ab8 <keccak_finalize+184>: 00 30 23 e0 eor r3, r3, r0 0x005c4abc <keccak_finalize+188>: 01 00 56 e1 cmp r6, r1 0x005c4ac0 <keccak_finalize+192>: f0 20 c4 e1 strd r2, [r4] => 0x005c4ac4 <keccak_finalize+196>: f1 ff ff 8a bhi 0x5c4a90 <keccak_finalize+144> End of assembler dump. (gdb)
# Buster armel chroot 2020-12-13 on lineageos kernel $ adb push debian-10-buster-armel-chroot-2020-12-13_11-58-28.tar.gz /sdcard $ adb shell $ su # uname -a Linux localhost 3.4.113-g2fff5b1955c0 #1 SMP PREEMPT Sun Mar 8 06:23:52 CST 2020 armv7l # cat /proc/cpuinfo Processor : ARMv7 Processor rev 0 (v7l) processor : 0 BogoMIPS : 13.50 processor : 1 BogoMIPS : 13.50 processor : 2 BogoMIPS : 13.50 processor : 3 BogoMIPS : 13.50 Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0x1 CPU part : 0x06f CPU revision : 0 # cd /data/media/0 # tar -zxf debian-10-buster-armel-chroot-2020-12-13_11-58-28.tar.gz # cd debian-10-buster-armel-chroot # chroot/bin/busybox mount -o rbind /dev chroot/dev # chroot/bin/busybox mount -o rbind /proc chroot/proc # chroot/bin/busybox mount -o rbind /sys chroot/sys # env -i TERM=xterm LANG=de_DE.UTF-8 /system/bin/chroot chroot /bin/su - # groupadd -g 3001 aid_net_bt_admin # groupadd -g 3002 aid_net_bt # groupadd -g 3003 aid_inet # groupadd -g 3004 aid_net_raw # groupadd -g 3005 aid_net_admin # groupadd -g 3006 aid_net_bw_stats # groupadd -g 3007 aid_net_bw_acct # groupadd -g 3008 aid_net_bt_stack # usermod -G 3003,3004 -a root # usermod -G 3003 -a benutzer # usermod -g 3003 -G 3003,3004 -a _apt # exit # env -i TERM=xterm LANG=de_DE.UTF-8 /system/bin/chroot chroot /bin/su - # apt install openssl tor # dpkg -l tor ... ii tor 0.3.5.12-1 armel anonymizing overlay network for TCP # exit # env -i TERM=xterm LANG=de_DE.UTF-8 /system/bin/chroot chroot /bin/su -l benutzer $ mkdir hs $ chmod go-rwx -R hs $ echo 'PT0gZWQyNTUxOXYxLXNlY3JldDogdHlwZTAgPT0AAACg6zoxlQ2hy7C6fUoTgIa0GLMk/YdVs2ic6jUDCzztZeLWcfqwCQ5/KoPk9v99cuWKO5mNpVrDtbOc27UUyC7e' | base64 -d > hs/hs_ed25519_secret_key $ echo '6bff2f57fcd69049091dcfa42b08fb84919d60dac919cbb16e3df1d960bb7843 ./hs/hs_ed25519_secret_key' | sha256sum -c ./hs/hs_ed25519_secret_key: OK $ cat <<EOF > torrc HiddenServiceDir /home/benutzer/hs HiddenServicePort 80 127.0.0.1:8080 EOF (disable WLAN) $ /usr/sbin/tor -f torrc Log 'info stdout' ... ^C $ cat hs/hostname upxkcswnvepfls7vcy5vuixy54hlugfjnzhvl5ygfbjtm7znkyahcvad.onion ... (gdb) print sizeof(*key) $5 = 32 (gdb) x/32xb key 0x7f837de4: 0xa3 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0x7f837dec: 0xcb 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x7f837df4: 0x0e 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x7f837dfc: 0x06 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 (gdb) next (gdb) next (gdb) next 748 crypto_digest256((char *) checksum_out, data, sizeof(data), (gdb) print sizeof(data) $6 = 48 (gdb) x/48xb data 0xbefff17c: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbefff184: 0x68 0x65 0x63 0x6b 0x73 0x75 0x6d 0xa3 0xbefff18c: 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0xcb 0xbefff194: 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x0e 0xbefff19c: 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x06 0xbefff1a4: 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 0x03 (gdb) next hs_build_address (key=key@entry=0x7f837de4, version=<optimized out>, addr_out=addr_out@entry=0x7f837d90 "") at ../src/feature/hs/hs_common.c:1003 1003 build_hs_address(key, checksum, version, address); (gdb) print sizeof(checksum) $7 = 32 (gdb) x/32xb checksum 0xbefff1c8: 0x71 0x54 0xeb 0xc4 0x22 0x16 0x74 0x01 0xbefff1d0: 0x67 0xfc 0x35 0xba 0x4f 0xa8 0x69 0x25 0xbefff1d8: 0x31 0x68 0xa7 0x80 0x27 0x68 0x2c 0xb9 0xbefff1e0: 0x3d 0x46 0x46 0x0d 0xc4 0xbb 0xf2 0xfb $ gdb -q --args /usr/sbin/tor -f /home/benutzer/torrc Log 'info stdout' ... (gdb) next 21 return _le64toh(r); (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef64: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef6c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef74: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef7c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef84: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef8c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef94: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef9c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefa4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefac: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefb4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefbc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefc4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefcc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefd4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefdc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefe4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefec: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeff4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeffc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff004: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff00c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff014: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff01c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->block 0xbefff029: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbefff031: 0x68 0x65 0x63 0x6b 0x73 0x75 0x6d 0xa3 0xbefff039: 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0xcb 0xbefff041: 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x0e 0xbefff049: 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x06 0xbefff051: 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 0x03 0xbefff059: 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff061: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff069: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff071: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff079: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff081: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff089: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff091: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff099: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0xbefff0b1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0b9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/4xb &((keccak_state *) 0xbeffef5c)->rate 0xbefff024: 0x88 0x00 0x00 0x00 (gdb) print r No symbol "r" in current context. (gdb) step 106 a[i/8] ^= loadu64le(src + i); (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbeffef64: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef6c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef74: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef7c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef84: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef8c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef94: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffef9c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefa4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefac: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefb4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefbc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefc4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefcc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefd4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefdc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefe4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffefec: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeff4: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbeffeffc: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff004: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff00c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff014: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff01c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/200xb &((keccak_state *) 0xbeffef5c)->block 0xbefff029: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 0xbefff031: 0x68 0x65 0x63 0x6b 0x73 0x75 0x6d 0xa3 0xbefff039: 0xee 0xa1 0x4a 0xcd 0xa9 0x1e 0x55 0xcb 0xbefff041: 0xf5 0x16 0x3b 0x5a 0x22 0xf8 0xef 0x0e 0xbefff049: 0xba 0x18 0xa9 0x6e 0x4f 0x55 0xf7 0x06 0xbefff051: 0x28 0x53 0x36 0x7f 0x2d 0x56 0x00 0x03 0xbefff059: 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff061: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff069: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff071: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff079: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff081: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff089: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff091: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff099: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0a9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0xbefff0b1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0b9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0c9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0d9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e1: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xbefff0e9: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x/4xb &((keccak_state *) 0xbeffef5c)->rate 0xbefff024: 0x88 0x00 0x00 0x00 (gdb) bt #0 xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:106 #1 keccak_finalize (s=0xbeffef5c) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 #2 0x7f71a410 in hash (out=0xbefff1a8 "", outlen=32, in=<optimized out>, inlen=48, bits=256, delim=6 '\006') at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:353 #3 0x7f71a640 in sha3_256 (out=out@entry=0xbefff1a8 "", outlen=outlen@entry=32, in=in@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", inlen=inlen@entry=48) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:389 #4 0x7f6fb5e8 in crypto_digest256 (digest=digest@entry=0xbefff1a8 "", m=m@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", len=len@entry=48, algorithm=algorithm@entry=DIGEST_SHA3_256) at ../src/lib/crypt_ops/crypto_digest.c:153 #5 0x7f651948 in build_hs_checksum (key=key@entry=0x7f837df4, version=version@entry=3 '\003', checksum_out=checksum_out@entry=0xbefff1a8 "") at ../src/feature/hs/hs_common.c:748 #6 0x7f6530b0 in hs_build_address (key=key@entry=0x7f837df4, version=<optimized out>, addr_out=addr_out@entry=0x7f837da0 "") at ../src/feature/hs/hs_common.c:1001 #7 0x7f65fa24 in load_service_keys (service=0x7f837da0) at ../src/feature/hs/hs_service.c:1080 #8 hs_service_load_all_keys () at ../src/feature/hs/hs_service.c:4041 #9 0x7f6d5890 in options_act (old_options=0x0) at ../src/app/config/config.c:2095 #10 set_options (new_val=new_val@entry=0x7f836330, msg=msg@entry=0xbefff364) at ../src/app/config/config.c:921 #11 0x7f6d7528 in options_init_from_string (cf_defaults=cf_defaults@entry=0x7f836308 "", cf=cf@entry=0x7f8356c0 "HiddenServiceDir /home/benutzer/hs\nHiddenServicePort 80 127.0.0.1:8080\n", command=command@entry=0, command_arg=command_arg@entry=0x0, msg=0xbefff364, msg@entry=0xbefff35c) at ../src/app/config/config.c:5535 #12 0x7f6d7a7c in options_init_from_torrc (argc=argc@entry=-1817120709, argv=argv@entry=0x7f7777f4) at ../src/app/config/config.c:5299 #13 0x7f596748 in tor_init (argc=-1817120709, argc@entry=5, argv=0x7f7777f4, argv@entry=0x7f8233b0) at ../src/app/main/main.c:641 #14 0x7f597484 in tor_run_main (tor_cfg=tor_cfg@entry=0x7f823170) at ../src/app/main/main.c:1455 #15 0x7f5955f8 in tor_main (argc=5, argv=0xbefff7a4) at ../src/feature/api/tor_api.c:164 #16 0x7f5950a8 in main (argc=<optimized out>, argv=<optimized out>) at ../src/app/main/tor_main.c:32 $ gdb -q --args /usr/sbin/tor -f /home/benutzer/torrc Log 'info stdout' Reading symbols from /usr/sbin/tor...Reading symbols from /usr/lib/debug/.build-id/7f/11f9da02966e2e69c8fecb39c728b9f1d730e3.debug...done. done. (gdb) b xorin8 Breakpoint 1 at 0x1c4a84: xorin8. (3 locations) (gdb) run Starting program: /usr/sbin/tor -f /home/benutzer/torrc Log info\ stdout [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabi/libthread_db.so.1". Dec 13 15:46:10.959 [notice] Tor 0.3.5.12 running on Linux with Libevent 2.1.8-stable, OpenSSL 1.1.1d, Zlib 1.2.11, Liblzma 5.2.4, and Libzstd 1.3.8. Dec 13 15:46:10.960 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning Dec 13 15:46:10.961 [notice] Read configuration file "/home/benutzer/torrc". Dec 13 15:46:10.973 [notice] I think we have 4 CPUS, but only 2 of them are available. Telling Tor to only use 2. You can override this with the NumCPUs option Dec 13 15:46:10.974 [notice] Opening Socks listener on 127.0.0.1:9050 Dec 13 15:46:10.975 [notice] Opened Socks listener on 127.0.0.1:9050 Dec 13 15:46:10.000 [warn] Your log may contain sensitive information - you're logging more than "notice". Don't log unless it serves an important reason. Overwrite the log afterwards. Dec 13 15:46:10.000 [info] options_act_reversible(): Recomputed OOS thresholds: ConnLimit 1000, ConnLimit_ 32736, ConnLimit_high_thresh 32672, ConnLimit_low_thresh 24552 Dec 13 15:46:10.000 [info] tor_lockfile_lock(): Locking "/home/benutzer/.tor/lock" Dec 13 15:46:10.000 [info] config_generic_service(): HiddenServiceDir="/home/benutzer/hs". Configuring... Dec 13 15:46:10.000 [info] config_generic_service(): HiddenServicePort=80 127.0.0.1:8080 for "/home/benutzer/hs" Dec 13 15:46:10.000 [info] or_state_load(): Loaded state from "/home/benutzer/.tor/state" Dec 13 15:46:10.000 [info] circuit_build_times_parse_state(): Adding 0 timeouts. Dec 13 15:46:10.000 [info] circuit_build_times_parse_state(): Loaded 0/0 values from 0 lines in circuit time histogram Dec 13 15:46:10.000 [info] read_file_to_str(): Could not open "/home/benutzer/.tor/router-stability": No such file or directory Dec 13 15:46:10.000 [info] hs_service_load_all_keys(): Loading v3 onion service keys from "/home/benutzer/hs" Breakpoint 1, xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 189 xorin8(s->a, s->block, s->rate); (gdb) up #1 keccak_finalize (s=0xbeffef5c) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 189 xorin8(s->a, s->block, s->rate); (gdb) down #0 xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 189 xorin8(s->a, s->block, s->rate); (gdb) step 106 a[i/8] ^= loadu64le(src + i); (gdb) print a $1 = <optimized out> (gdb) print loadu64le No symbol "loadu64le" in current context. (gdb) display/i $pc 1: x/i $pc => 0x7f719a90 <keccak_finalize+144>: add r1, r4, #213 ; 0xd5 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x7f719a94 in memcpy (__len=8, __src=0xbefff029, __dest=0xbeffef28) at /usr/include/arm-linux-gnueabi/bits/string_fortified.h:34 34 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); 1: x/i $pc => 0x7f719a94 <keccak_finalize+148>: mov r2, #8 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi /8xb &((keccak_state *) 0xbeffef5c)->a 0x7f719a98 34 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); 1: x/i $pc => 0x7f719a98 <keccak_finalize+152>: mov r0, r10 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi /8xb &((keccak_state *) 0xbeffef5c)->a 0x7f719a9c 34 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); 1: x/i $pc => 0x7f719a9c <keccak_finalize+156>: bl 0x7f594a48 <memcpy@plt> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi x/8xb &((keccak_state *) 0xbeffef5c)->a 0x7f594a48 in memcpy@plt () 1: x/i $pc => 0x7f594a48 <memcpy@plt>: add r12, pc, #2097152 ; 0x200000 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x7f594a4c in memcpy@plt () 1: x/i $pc => 0x7f594a4c <memcpy@plt+4>: add r12, r12, #124, 20 ; 0x7c000 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x7f594a50 in memcpy@plt () 1: x/i $pc => 0x7f594a50 <memcpy@plt+8>: ldr pc, [r12, #712]! ; 0x2c8 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi memcpy () at ../sysdeps/arm/memcpy.S:63 63 ../sysdeps/arm/memcpy.S: Datei oder Verzeichnis nicht gefunden. 1: x/i $pc => 0xb6923ae0 <memcpy>: push {r0, r4, lr} (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 70 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ae4 <memcpy+4>: subs r2, r2, #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi /8xb &((keccak_state *) 0xbeffef5c)->a 71 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ae8 <memcpy+8>: blt 0xb6923b9c <memcpy+188> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 72 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923aec <memcpy+12>: ands r12, r0, #3 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi &((keccak_state *) 0xbeffef5c)->a 73 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923af0 <memcpy+16>: pld [r1] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi b &((keccak_state *) 0xbeffef5c)->a 74 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923af4 <memcpy+20>: bne 0xb6923bbc <memcpy+220> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi &((keccak_state *) 0xbeffef5c)->a 75 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923af8 <memcpy+24>: ands r12, r1, #3 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi xb &((keccak_state *) 0xbeffef5c)->a 76 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923afc <memcpy+28>: bne 0xb6923bec <memcpy+268> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi xb &((keccak_state *) 0xbeffef5c)->a 229 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bec <memcpy+268>: bic r1, r1, #3 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 230 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bf0 <memcpy+272>: cmp r12, #2 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi &((keccak_state *) 0xbeffef5c)->a 231 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bf4 <memcpy+276>: ldr lr, [r1], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi keccak_state *) 0xbeffef5c)->a 232 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bf8 <memcpy+280>: beq 0xb6923cb0 <memcpy+464> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi &((keccak_state *) 0xbeffef5c)->a 233 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bfc <memcpy+284>: bgt 0xb6923d60 <memcpy+640> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 8xb &((keccak_state *) 0xbeffef5c)->a 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c00 <memcpy+288>: subs r2, r2, #28 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c04 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c04 <memcpy+292>: blt 0xb6923c88 <memcpy+424> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c88 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c88 <memcpy+424>: ands r12, r2, #28 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi /8xb &((keccak_state *) 0xbeffef5c)->a 0xb6923c8c 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c8c <memcpy+428>: beq 0xb6923ca8 <memcpy+456> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 8xb &((keccak_state *) 0xbeffef5c)->a 0xb6923c90 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c90 <memcpy+432>: lsr r3, lr, #8 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 8xb &((keccak_state *) 0xbeffef5c)->a 0xb6923c94 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c94 <memcpy+436>: ldr lr, [r1], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c98 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c98 <memcpy+440>: subs r12, r12, #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 8xb &((keccak_state *) 0xbeffef5c)->a 0xb6923c9c 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c9c <memcpy+444>: orr r3, r3, lr, lsl #24 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923ca0 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca0 <memcpy+448>: str r3, [r0], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi &((keccak_state *) 0xbeffef5c)->a 0xb6923ca4 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca4 <memcpy+452>: bgt 0xb6923c90 <memcpy+432> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c90 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c90 <memcpy+432>: lsr r3, lr, #8 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c94 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c94 <memcpy+436>: ldr lr, [r1], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c98 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c98 <memcpy+440>: subs r12, r12, #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923c9c 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923c9c <memcpy+444>: orr r3, r3, lr, lsl #24 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923ca0 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca0 <memcpy+448>: str r3, [r0], #4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923ca4 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca4 <memcpy+452>: bgt 0xb6923c90 <memcpy+432> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923ca8 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ca8 <memcpy+456>: sub r1, r1, #3 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0xb6923cac 313 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923cac <memcpy+460>: b 0xb6923b9c <memcpy+188> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 195 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923b9c <memcpy+188>: lsls r2, r2, #31 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi /8xb &((keccak_state *) 0xbeffef5c)->a 196 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ba0 <memcpy+192>: ldrbne r3, [r1], #1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 8xb &((keccak_state *) 0xbeffef5c)->a 197 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ba4 <memcpy+196>: ldrbcs r4, [r1], #1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 198 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923ba8 <memcpy+200>: ldrbcs r12, [r1] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 8xb &((keccak_state *) 0xbeffef5c)->a 199 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bac <memcpy+204>: strbne r3, [r0], #1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 200 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bb0 <memcpy+208>: strbcs r4, [r0], #1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi /8xb &((keccak_state *) 0xbeffef5c)->a 201 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bb4 <memcpy+212>: strbcs r12, [r0] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 211 in ../sysdeps/arm/memcpy.S 1: x/i $pc => 0xb6923bb8 <memcpy+216>: pop {r0, r4, pc} (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x7f719aa0 <keccak_finalize+160>: ldr r2, [r4, #8]! (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi &((keccak_state *) 0xbeffef5c)->a 0x7f719aa4 in loadu64le (x=0xbefff029 ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V") at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x7f719aa4 <keccak_finalize+164>: ldr r12, [sp] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x7f719aa8 in xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x7f719aa8 <keccak_finalize+168>: ldr r3, [r4, #4] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x7f719aac in loadu64le (x=0xbefff029 ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V") at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x7f719aac <keccak_finalize+172>: ldr r0, [sp, #4] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi &((keccak_state *) 0xbeffef5c)->a 0x7f719ab0 in xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 21 return _le64toh(r); 1: x/i $pc => 0x7f719ab0 <keccak_finalize+176>: add r1, r7, r4 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x7f719ab4 21 return _le64toh(r); 1: x/i $pc => 0x7f719ab4 <keccak_finalize+180>: eor r2, r2, r12 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x7f719ab8 21 return _le64toh(r); 1: x/i $pc => 0x7f719ab8 <keccak_finalize+184>: eor r3, r3, r0 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi 0x7f719abc 21 return _le64toh(r); 1: x/i $pc => 0x7f719abc <keccak_finalize+188>: cmp r6, r1 (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi (keccak_state *) 0xbeffef5c)->a 0x7f719ac0 21 return _le64toh(r); 1: x/i $pc => 0x7f719ac0 <keccak_finalize+192>: strd r2, [r4] (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) stepi /8xb &((keccak_state *) 0xbeffef5c)->a 0x7f719ac4 21 return _le64toh(r); 1: x/i $pc => 0x7f719ac4 <keccak_finalize+196>: bhi 0x7f719a90 <keccak_finalize+144> (gdb) x/8xb &((keccak_state *) 0xbeffef5c)->a 0xbeffef5c: 0x2e 0x6f 0x6e 0x69 0x6f 0x6e 0x20 0x63 (gdb) display/x $r2 2: /x $r2 = 0x696e6f2e (gdb) display/x $r4 3: /x $r4 = 0xbeffef5c (gdb) info reg r0 0x63206e6f 1663069807 r1 0x8 8 r2 0x696e6f2e 1768845102 r3 0x63206e6f 1663069807 r4 0xbeffef5c 3204443996 r5 0xbeffef5c 3204443996 r6 0x88 136 r7 0x410010ac 1090523308 r8 0xb6ffe968 3070224744 r9 0xbefff029 3204444201 r10 0xbeffef28 3204443944 r11 0x6 6 r12 0x696e6f2e 1768845102 sp 0xbeffef28 0xbeffef28 lr 0x63656863 1667590243 pc 0x7f719ac4 0x7f719ac4 <keccak_finalize+196> cpsr 0x20000010 536870928 fpscr 0x0 0 (gdb) bt #0 0x7f719ac4 in xorin8 (len=136, src=<optimized out>, dst=<optimized out>) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:21 #1 keccak_finalize (s=0xbeffef5c) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:189 #2 0x7f71a410 in hash (out=0xbefff1a8 "", outlen=32, in=<optimized out>, inlen=48, bits=256, delim=6 '\006') at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:353 #3 0x7f71a640 in sha3_256 (out=out@entry=0xbefff1a8 "", outlen=outlen@entry=32, in=in@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", inlen=inlen@entry=48) at ../src/ext/keccak-tiny/keccak-tiny-unrolled.c:389 #4 0x7f6fb5e8 in crypto_digest256 (digest=digest@entry=0xbefff1a8 "", m=m@entry=0xbefff15c ".onion checksum\243\356\241Jͩ\036U\313\365\026;Z\"\370\357\016\272\030\251nOU\367\006(S6\177-V", len=len@entry=48, algorithm=algorithm@entry=DIGEST_SHA3_256) at ../src/lib/crypt_ops/crypto_digest.c:153 #5 0x7f651948 in build_hs_checksum (key=key@entry=0x7f837df4, version=version@entry=3 '\003', checksum_out=checksum_out@entry=0xbefff1a8 "") at ../src/feature/hs/hs_common.c:748 #6 0x7f6530b0 in hs_build_address (key=key@entry=0x7f837df4, version=<optimized out>, addr_out=addr_out@entry=0x7f837da0 "") at ../src/feature/hs/hs_common.c:1001 #7 0x7f65fa24 in load_service_keys (service=0x7f837da0) at ../src/feature/hs/hs_service.c:1080 #8 hs_service_load_all_keys () at ../src/feature/hs/hs_service.c:4041 #9 0x7f6d5890 in options_act (old_options=0x0) at ../src/app/config/config.c:2095 #10 set_options (new_val=new_val@entry=0x7f836330, msg=msg@entry=0xbefff364) at ../src/app/config/config.c:921 #11 0x7f6d7528 in options_init_from_string (cf_defaults=cf_defaults@entry=0x7f836308 "", cf=cf@entry=0x7f8356c0 "HiddenServiceDir /home/benutzer/hs\nHiddenServicePort 80 127.0.0.1:8080\n", command=command@entry=0, command_arg=command_arg@entry=0x0, msg=0xbefff364, msg@entry=0xbefff35c) at ../src/app/config/config.c:5535 #12 0x7f6d7a7c in options_init_from_torrc (argc=argc@entry=-1817120709, argv=argv@entry=0x7f7777f4) at ../src/app/config/config.c:5299 #13 0x7f596748 in tor_init (argc=-1817120709, argc@entry=5, argv=0x7f7777f4, argv@entry=0x7f8233b0) at ../src/app/main/main.c:641 #14 0x7f597484 in tor_run_main (tor_cfg=tor_cfg@entry=0x7f823170) at ../src/app/main/main.c:1455 #15 0x7f5955f8 in tor_main (argc=5, argv=0xbefff7a4) at ../src/feature/api/tor_api.c:164 #16 0x7f5950a8 in main (argc=<optimized out>, argv=<optimized out>) at ../src/app/main/tor_main.c:32 (gdb) disassemble /r keccak_finalize+160,keccak_finalize+200 Dump of assembler code from 0x7f719aa0 to 0x7f719ac8: 0x7f719aa0 <keccak_finalize+160>: 08 20 b4 e5 ldr r2, [r4, #8]! 0x7f719aa4 <keccak_finalize+164>: 00 c0 9d e5 ldr r12, [sp] 0x7f719aa8 <keccak_finalize+168>: 04 30 94 e5 ldr r3, [r4, #4] 0x7f719aac <keccak_finalize+172>: 04 00 9d e5 ldr r0, [sp, #4] 0x7f719ab0 <keccak_finalize+176>: 04 10 87 e0 add r1, r7, r4 0x7f719ab4 <keccak_finalize+180>: 0c 20 22 e0 eor r2, r2, r12 0x7f719ab8 <keccak_finalize+184>: 00 30 23 e0 eor r3, r3, r0 0x7f719abc <keccak_finalize+188>: 01 00 56 e1 cmp r6, r1 0x7f719ac0 <keccak_finalize+192>: f0 20 c4 e1 strd r2, [r4] => 0x7f719ac4 <keccak_finalize+196>: f1 ff ff 8a bhi 0x7f719a90 <keccak_finalize+144> End of assembler dump. (gdb)