He has a deal to resell sincoders work making it easier to get it.That is not the official page, that is someone you wants to get money from others work...69usd!!
The original site is https://www.dji-fcc.com/, nothing to see there...
He has a deal to resell sincoders work making it easier to get it.That is not the official page, that is someone you wants to get money from others work...69usd!!
The original site is https://www.dji-fcc.com/, nothing to see there...
Contacted him just now... his is the same one and it is also down (same server not running)
I would say so, yes.Looks like "Our Money is just blowing in the Wind"
Any idea where on the filesystem it was putting them? I can push APKs to the RC, and I may be able to recover the APKs from my VMI poked around a little bit when I ran it. It downloads files from their server, it's not just for authorisation.
I get the idea it grabs a couple of apks from your remote and sends them to the server for modification. Neat way of trying to keep the 'secret sauce' a bit more secret, although I suppose someone could have compared the apks against the originals.
Recovered the files (tarball and extracted contents) and analyzing them nowThey were in %temp% - it downloads a compressed file, a .tar file if I remember which extracts to a couple of (I think) .elf files. I deleted them, sadly.
Only the following files:Was there something else that was downloaded? The tar file I opened didn't have the ADB executable in (unless they were all called something.elf)
I snagged some of the files during the install, Ive got ads.exe and a tar file which contains the files I think were copied to the controller. But im not sure where they go.Only the following files:
AdbWinUsbApi.dll, AdbWinApi.dll, adb.exe
They get downloaded into the %temp% folder, then the script runs which, amongst other things, invokes adb commands:
--- adb starting (pid 3684) ---
adb I 01-06 17:15:26 3684 3832 main.cpp:63] Android Debug Bridge version 1.0.41
adb I 01-06 17:15:26 3684 3832 main.cpp:63] Version 33.0.1-8253317
adb I 01-06 17:15:26 3684 3832 main.cpp:63] Installed as C:\Users\someuser\AppData\Local\Temp\adb.exe
adb I 01-06 17:15:26 3684 3832 main.cpp:63]
adb I 01-06 17:15:26 3684 3832 auth.cpp:417] adb_auth_init...
adb I 01-06 17:15:26 3684 3832 auth.cpp:220] User key 'C:\Users\someuser\.android\adbkey' does not exist...
adb I 01-06 17:15:26 3684 3832 auth.cpp:64] generate_key(C:\Users\someuser\.android\adbkey)...
adb I 01-06 17:15:27 3684 3832 auth.cpp:152] loaded new key from 'C:\Users\someuser\.android\adbkey' with fingerprint <LONG FINGERPRINT HERE>
adb I 01-06 17:15:27 3684 5948 transport.cpp:304] RM330UNIQUESERIALNUMBER: write thread spawning
adb I 01-06 17:15:27 3684 1392 transport.cpp:332] RM330UNIQUESERIALNUMBER: read thread spawning
adb I 01-06 17:15:27 3684 3832 transport.cpp:1623] fetching keys for transport RM330UNIQUESERIALNUMBER
adb I 01-06 17:15:27 3684 3832 auth.cpp:469] Calling send_auth_response
adb I 01-06 17:15:27 3684 3832 auth.cpp:436] Calling send_auth_publickey
adb I 01-06 17:15:47 3684 1392 transport.cpp:336] RM330UNIQUESERIALNUMBER: read failed: Input/output error
adb I 01-06 17:15:47 3684 1392 transport.cpp:1225] RM330UNIQUESERIALNUMBER: connection terminated: read failed
adb I 01-06 17:15:47 3684 3832 adb.cpp:175] RM330UNIQUESERIALNUMBER: offline
adb I 01-06 17:15:47 3684 3832 transport.cpp:910] destroying transport RM330UNIQUESERIALNUMBER
adb I 01-06 17:15:47 3684 3832 transport.cpp:404] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): stopping
adb I 01-06 17:15:48 3684 3832 transport.cpp:422] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): stopped
adb I 01-06 17:15:48 3684 3832 transport.cpp:291] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): destructing
adb I 01-06 17:15:48 3684 3832 transport.cpp:397] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): already stopped
adb I 01-06 17:16:02 3684 5392 transport.cpp:332] RM330UNIQUESERIALNUMBER: read thread spawning
adb I 01-06 17:16:02 3684 1356 transport.cpp:304] RM330UNIQUESERIALNUMBER: write thread spawning
adb I 01-06 17:16:02 3684 3832 adb.cpp:171] RM330UNIQUESERIALNUMBER: already offline
adb I 01-06 17:16:19 3684 5392 transport.cpp:336] RM330UNIQUESERIALNUMBER: read failed: Input/output error
adb I 01-06 17:16:19 3684 5392 transport.cpp:1225] RM330UNIQUESERIALNUMBER: connection terminated: read failed
adb I 01-06 17:16:19 3684 3832 adb.cpp:175] RM330UNIQUESERIALNUMBER: offline
adb I 01-06 17:16:19 3684 3832 transport.cpp:910] destroying transport RM330UNIQUESERIALNUMBER
adb I 01-06 17:16:19 3684 3832 transport.cpp:404] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): stopping
adb I 01-06 17:16:19 3684 3832 transport.cpp:422] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): stopped
adb I 01-06 17:16:19 3684 3832 transport.cpp:291] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): destructing
adb I 01-06 17:16:19 3684 3832 transport.cpp:397] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): already stopped
adb I 01-06 17:16:29 3684 6068 transport.cpp:304] RM330UNIQUESERIALNUMBER: write thread spawning
adb I 01-06 17:16:29 3684 316 transport.cpp:332] RM330UNIQUESERIALNUMBER: read thread spawning
adb I 01-06 17:16:29 3684 3832 adb.cpp:171] RM330UNIQUESERIALNUMBER: already offline
adb I 01-06 17:17:53 3684 316 transport.cpp:336] RM330UNIQUESERIALNUMBER: read failed: Input/output error
adb I 01-06 17:17:53 3684 316 transport.cpp:1225] RM330UNIQUESERIALNUMBER: connection terminated: read failed
adb I 01-06 17:17:53 3684 3832 adb.cpp:175] RM330UNIQUESERIALNUMBER: offline
adb E 01-06 17:17:53 3684 6068 transport_usb.cpp:166] remote usb: 1 - write terminated: Input/output error
adb I 01-06 17:17:53 3684 3832 transport.cpp:910] destroying transport RM330UNIQUESERIALNUMBER
adb I 01-06 17:17:53 3684 3832 transport.cpp:404] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): stopping
adb I 01-06 17:17:53 3684 3832 transport.cpp:422] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): stopped
adb I 01-06 17:17:53 3684 3832 transport.cpp:291] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): destructing
adb I 01-06 17:17:53 3684 3832 transport.cpp:397] BlockingConnectionAdapter(RM330UNIQUESERIALNUMBER): already stopped
Interesting... the unextensioned "fcc" file is an APK for DJI Go 5 (modified) and the libllg.so file is a Linux Library.I snagged some of the files during the install, Ive got ads.exe and a tar file which contains the files I think were copied to the controller. But im not sure where they go.
I also have a pubic/private key pair for adb.Interesting... the unextensioned "fcc" file is an APK for DJI Go 5 (modified) and the libllg.so file is a Linux Library.
So, it looks like you caught the operative payload on your filesystem (I can't find or recover it on the Virtual Disk for the VM I performed this on).
Now, if we can figure out how to push both modified files to the RC via ADB (the missing piece of this puzzle) we can make a very simple patch program that anyone can freely use on their own RM330 controllers.
Those are generated in the .android folder automatically when ADB server starts on your machine for the first time.I also have a pubic/private key pair for adb.
We use essential cookies to make this site work, and optional cookies to enhance your experience.