DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

New DJI log parsing library

Apparently, to solve the issue, I need to register as a developer and sign the binary with a certificate. I will address this issue, but not now. Did someone manage to make it work on Windows despite this warning?
According to Windows Defender, it detected a virus that they have labeled "Trojan:Script/Wacatac.B!ml". If you submit your tool to MS, they can whitelist it.

Signing a Windows binary may not solve the issue. Signing the app will change the binary and that might be enough to change the signature so that it no longer triggers a false positive. But the process of adding an Athenticode signature shouldn't be required.
 
  • Like
Reactions: lvauvill
Hi,

I'm Luc, from France and I developed a .txt log parser in my free time to learn the Rust language.

Features :
  • Parse records and extract embedded images from DJI logs
  • Normalize records across different log versions for a consistent frame format
  • Export frames to CSV for easy analysis
  • Generate flight tracks in GeoJSON and KML formats
  • Support for all log versions, including encrypted logs (version 13+)

As far as I know, this is the only free tool that supports all log versions and decryption:
GitHub - lvauvillier/dji-log-parser: A library to parse records from DJI .txt logs

You will find in the release section, a free binary that works on all platforms, which can export log data to JSON, CSV, Kml and GeoJSON.

If you want to build more with it, there is a NodeJS binding also available here:
dji-log-parser-js

I have already tested the library on quite a few logs, but I am open to your feedback!

Luc

Hey, we added a repository for viewing your logs locally using Mapbox: GitHub - fpv-trails/dji-logs-viewer: Mapbox viewer for DJI Logs

If you generate a flight track using the above library, you can import the GeoJSON there and view a track. Feel free to add to this repository in anyway you find useful.

Happy Flying,
FPV Trails Team
 
  • Like
Reactions: lvauvill
Got it to run!!!

To run on windows, after downloading and extracting the .exe, move the .exe to the same folder as your DJI Flight record and run in command prompt

```
. ./dji-log --api-key {your api key} DJIFlightRecord.txt > frames.json
```

You need to add . and ./ before the command
See here: PowerShell The term is not recognized as cmdlet function script file or operable program

View attachment 176430
Great to hear you finally got it working! :) I'm not a windows user, I might not be able to offer much support...

Hey, we added a repository for viewing your logs locally using Mapbox: GitHub - fpv-trails/dji-logs-viewer: Mapbox viewer for DJI Logs

If you generate a flight track using the above library, you can import the GeoJSON there and view a track. Feel free to add to this repository in anyway you find useful.

Happy Flying,
FPV Trails Team

Cool !
 
According to Windows Defender, it detected a virus that they have labeled "Trojan:Script/Wacatac.B!ml". If you submit your tool to MS, they can whitelist it.

Signing a Windows binary may not solve the issue. Signing the app will change the binary and that might be enough to change the signature so that it no longer triggers a false positive. But the process of adding an Athenticode signature shouldn't be required.
Thanks a lot for this information. I will see if I can improve the build process to make the executable compliant.
 
Thanks a lot for this information. I will see if I can improve the build process to make the executable compliant.
Until you submit a sample to the Microsoft Defender team (and report a false positive to Virus Total), your build process options are limited.

The root cause is mostly likely to be one of two things:
  1. Someone somewhere wrote a virus that is compiled in Rust. MS Defender (and other AV products) now attempt to identify that virus by scanning the executable and looking for a binary fingerprint. The fingerprint that they came up triggers a false positive on your executable. This is not a new problem for Rust.
  2. You are using a 3rd party library that has been compromised. I would check the GH repos for those projects and see if any issues have been filed for viruses

I think the first one is the most likely reason. You could try using an older version of Rust. Your workflow file is using dtolnay/rust-toolchain@stable, you can change that to use a specific version when building Windows executables. Find a version of Rust that won't trigger the A/V products is a trial and error type of task. It's less work to submit your .zip to the MS Defender people.
 
Its still just a hash based false positive.

Nothing the programmer has to worry about and certainly no limitation regarding build process options

Thank you for this tool!
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

Forum statistics

Threads
132,776
Messages
1,576,624
Members
161,495
Latest member
PCSTravis