Dasung Linux Driver Decompiled

Posted on 2018-12-13

This is a follow up to the Dasung teardown post in which I decompile the software drivers. Dasung ships their monitors with a Linux driver that is sadly limited to the Ubuntu amd64 architecture. The driver can be downloaded from: Dasung driver download page

I have decompiled the drivers and uploaded them to github at: Dasung linux drivers source code decompiled

I was naively hoping I could hack this to be ARM compatible so I could use the Dasung with a Raspberry PI. I have been told that is not feasible due to architecture differences and OS API compatibility concerns. However these Drivers can potentially be used to make mods for other AMD64 systems.

When looking at the 'drivers' provided by Dasung the contents of the Ubuntu folder are as follows:

-rwxrwxrwx@ 1 kev  staff  67646 Nov  2  2017 DS.ico
-rwxrwxrwx@ 1 kev  staff  29404 Nov  2  2017 paperlikepro_1.0.5_amd64.deb
-rwxrwxrwx@ 1 kev  staff    180 Nov  2  2017 readme
  • DS.ico

    is an icon file of the Dasung logo

  • readme

    is a text file explaining how to install the driver on Ubuntu systems

  • paperlikepro_1.0.5_amd64.deb

    is a Debian package archive containing the compiled driver and other data. The deb file can be extracted to the following contents:

paperlikepro_1.0.5_amd64.deb contents

-rw-r--r--@ 1 kev  staff    279 Aug  4  2017 control.tar.gz
-rw-r--r--@ 1 kev  staff  28932 Aug  4  2017 data.tar.xz
-rw-r--r--@ 1 kev  staff      4 Aug  4  2017 debian-binary
  • debian-binaryis a text file that contains a version number$ cat debian-binary 2.0
  • control.tar.gzis an archive that can be extracted using tarit expands to a text file control with the following content:
$ cat control
Package: PaperlikePro
Version: 1.0.5
Section: x11
Priority: standard
Architecture: amd64
Depends:
Installed-Size: 200
Maintainer: [email protected]
Description: Paperlike Pro Software
  • data.tar.xz

    This is where things get interesting. It is another tar archive which contains the executables of the driver. When extracted it produces the following:

$ tar -xzvf data.tar.xz
x ./
x ./usr/
x ./usr/local/
x ./usr/local/sbin/
x ./usr/local/sbin/PaperlikePro
x ./usr/local/sbin/DS.ico
x ./usr/local/sbin/ResChange

This is meant to be installed at /usr/local/sbin on Ubuntu. We have already seen DS.ico and know it is the Dasung logo.

PaperLikePro and ResChange are both executables. I am assuming that PaperlikePro is the UI management tool found on other platforms and that ResChange is a resolution driving tool.

Converting amd64 binaries to other format

Using the Snowman decompiler tool against PaperlikePro and ResChange binaries I was able to produce some C++ decompiled source code. I have not attempted to re compile them and see if they work as expected. I have uploaded the decompiled code to github at https://github.com/kevzettler/decompiled_dasung_drivers.


If you enjoyed this article, consider following me on Twitter


Comments: