Firmware originale
porte aperte
TCP: 80(HTTP), 443(HTP anche!), 554(RTSP), 8004, 8006, 9527(, 9999
UDP: 67 ( DHCP ), 3702, 8002, 39642
Porta 80: http
http: // IP: Login: admin:, Password: admin
Porta 443: http
http: // IP: 443: Login: admin:, Password: admin
Porta 554: RTSP
-
Corrente principale:
IP=xxx.xxx.xxx.xxx ffplay -i rtsp://admin:admin@$IP/stream1 ffplay -i rtsp://admin:admin@$IP/mpeg4/ch0/main/av_stream
-
flux secondaire :
IP=xxx.xxx.xxx.xxx ffplay -i rtsp://admin:admin@$IP/stream2 ffplay -i rtsp://admin:admin@$IP/mpeg4/ch1/main/av_stream
porta 8004 :? , aperto da jco_server
porta 8006 :? , aperto da jco_server
Porta 9527: Telnet
telnetd IP 9527
: Login: root, Password: jco66688, accessibile per 5 minuti, chiuso dopo.
Non disconnettersi dopo 5 minuti: killall -9 auto_run.sh
Per fermare JCO_server :
killall -9 auto_run.sh
killall -9 jco_server;echo 'V'>/dev/watchdog;echo 'V'>/dev/watchdog0
porta 9999: usata per controllare la telecamera, esempio:
IP=xxx.xxx.xxx.xxx
echo "checkuser -act set -user admin -password admin" | nc $IP 9999
echo "list" | nc $IP 9999
echo "pelcod20ctrl -?" | nc $IP 9999
echo "pelcod20ctrl -type 1" | nc $IP 9999
UDP 67: aperto di udhcpd
UDP 3702 :? , aperto da jco_server
memoria flash interna
La memoria flash è distribuita come segue:
punteggio | descrizione |
---|---|
mtdblock0 | u-bootloader |
mtdblock1 | configurazione di avvio |
mtdblock2 | ereditarietà u-boot uImage, linux-kernel |
mtdblock3 | zucche = / |
mtdblock4 | squashfs, montato su / ipc |
mtdblock5 | jffs2, montato su / opt |
u-boot (partizione mtdblock0) carica il kernel in mtdblock2.
opzioni predefinite in u-boot loader:
-
bootargs = console = ttyS1,115200n8 mem = 43M @ 0x0 rmem = 21M @ 0x2B00000 init = / linuxrc rootfstype = squashfs root = / dev / mtdblock3
-
bootcmd = sonda sf; sf ha letto 0x80600000 0x48000 0x280000; bootm 0x80600000
-
bootdelay = 1
-
velocità di trasmissione = 115200
-
carichi_eoo = 1
-
ethaddr = 00: 11: 22: 33: 44: 74
-
ipaddr = 192.168.2.84
-
serverip = 192.168.2.81
-
gatewayip = 192.168.2.1
-
maschera di rete = 255.255.255.0
opzioni in mtdblock1:
- baud rate = 115200
- bootcmd = sf probe; sf ha letto 0x80600000 0x48000 0x280000; bootm 0x80600000
- bootdelay = 1
- ethact = Jz4775-9161
- gatewayip = 192.168.2.1
- ipaddr = 192.168.2.84
- carichi_eoo = 1
- maschera di rete = 255.255.255.0
- serverip = 192.168.2.81
- stderr = serie
- stdin = serie
- stdout = serie
- ethaddr =:::::
- dispositivo_id =*******
- devinfo = jcoxa*******************
- bootargs = console = ttyS1,115200n8 mem = 42M @ 0x0 rmem = 22M @ 0x2A00000 init = / linuxrc rootfstype = squashfs root = / dev / mtdblock3 flash = SF sensor = GC2053 maxheight = 1080 dispositivo_id =***** ethaddr =:::::** devinfo = jcoxa******************* cpu = T21 ddr = 64M mtdparts = jz_sfc: 256K @ 0K(sf-bootloader), 32K @ 256K(sf-bootenv), 1440K @ 288K() sf-kernel), 832K @ 172 8K(sf-rootfs), 4928K @ 2560K(sf-ipcfs), 704K @ 7488 K(sf-miscfs)
Versione Linux:
Linux versione 3.10.14__isvp_turkey_1.0__ (root@localhost.localdomain) (gcc versione 4.7.2 (Ingenic r2.3.3 2016.12) ) # 3 PREEMPT sab 22 giugno 10:40:55 CST 2019
File notevoli in /:
- /bin/busybox :
- [, [[, ash, awk, base64, basename , blockdev, bootchartd, bunzip2, bzcat, bzip2, cat, chmod, chown, cmp, cp, tagliare, data, dd, depmod, devmem, df,
- dhcprelay, diff, dirname, dmesg , dnsdomainname, du, dumpleases, echo, egrep, expr, fdflush, fdformat, fdisk, fgrep, find, flash_eraseall,
- grego, libera, fandilo, getty, grep , gzip, halt, hd, head, hexdump, hostname, hwclock, ifconfig, init, insmod, iostat, kill, killall, klogd, less,
- linuxrc, ln, logger, login, logread , ls, lsmod, md5sum, mdev, mesg, mkdir, mkdosfs, mkfs.vfat, mknod, mktemp, modinfo, modprobe, mount,
- montopunkto, mpstat, mv, nc, netstat, passwd , ping, pmap, poweroff, powertop, printf, ps, pstree, pwd, pwdx, readahead, riavvio, rev, rm, rmdir,
- rmmod, route, sed, sh, dormo, smemcap , sort, stat, strings, swap, swap, sync, system, system, queue, tar su, screenshot, telnet, test, tftp, ora,
- pausa, superiore, tocco, tr, true, tty, udhcpc, udhcpd, umount, unxz, unzip, uptime, users, usleep, vi, volname, watch, wc, kiu, xargs, xz,
- xzcat
- / lib: librerie standard.
file importanti in /ipc :
- /ipc/app/jco_server
- programma principale, reso simultaneamente server http, rtsp, …
- /ipc/drv : driver linux
- motore.ko
- /ipc/lib : librerie ) * libimp.so: biblioteko ingenic IMP ( Ingenic Media Platform )
nota: libimp.so è diverso da quello fornito per il T20 e quello fornito con il T20 non è adatto.
Porte GPIO
-
porte bloccate da motor.ko: 18? 38 39 40 41 47 48 49 60?
-
porte bloccate da audio.ko: 63?
-
porta 46 = LED a infrarossi.
-
porta 52 =?
-
porta 64 =?
-
porta 81 = LED blu.
Revisione principale:
- Informazioni:
binwalk mtdblock2.bin
- Risultato:
Descrizione decimale esadecimale
——————————————————————————– 0 0x0 Uimage Header, Header Size: 64 Bytes, Header CRC: 0x7b9DE864, creato: 2019-06-22 02:41:00, Image Size: 1466358 BYTES, DATE Address: 0x80010000, Entry Point: 0x80388340, Data CRC: 0xb83DCA15, Sistema operativo: Linux, CPU: MIPS, Tipo immagine: Immagine kernel sistema operativo, Tipo compressione: LZMA, Nome immagine: “ Linux-3.10.14 __ ISVP turkey 1.0 __] “
64 0X40 Dati compressi LZMA, Proprietà: 0x5d, Dimensione dizionario: 16777216 byte, Dimensione compressa: -1 byte
- Risultato:
- Estrazione dati mtdblock2:
tail -c+65 < mtdblock2.bin >mtdblock2.dataz
- Estrazione Core:
- Elenco dei driver inclusi:
strings kernel|grep "^drivers"
< H21 > Elenco dei file di origine:
strings kernel|grep "\.[cChTsS]$"
- Elenco dei simboli
https: / / github.com/marin-m/vmlinux-to-elf dovrebbe aiutare a trovare i simboli ma non esistono < H33 > Inizia con kallsyms token Tabella: 0x3AA1B4