In this tutorial, we will check out the steps to unpack, repack and decompress the System.new.dat and its associated files. Beginning with Android 5.0 Lollipop, there have been some changes to how the ROMs are compiled. Up until Android 4.4 KitKat, if you extracted any custom ROM or stock ROM, you might have noticed that all the files inside the /system folder was uncompressed and could easily be accessed. Even if they were compressed (which was in an ext4 format), it was placed inside the system.img file. In both these cases, all these files where easily accessible or readable. For example, files like the app, framework were easily visible and could be acted upon as per the requirement.
However, with the inception of Android 5.0 and later versions, things have changed. This is because the size of the ROMs started to grow bigger with new additions and as a result, it became even more necessary to compress them further. As a result, the new Android ROMs usually followed this build pattern: aboot.img file, file_contexts which were related to SELinux, META_INF dealing with folders containing scripts, a system.new.dat, which is, in fact, the compressed /system partition. Apart from that, there is a system.patch.dat file for Over the Air updates and a system.transfer.list. Today, we will have a look at the steps to decompress this system.new.dat file. So without further ado, let us check out the steps.
How to Decompress System.new.dat File
The updater-script file now uses a new function, which goes by the name of block_image_update. Likewise, the purpose of this function is to decompress all the necessary files. Apart from that, there is a system.transfer.list.

The purpose of this file, as explained by Google, is a text file that contains commands to transfer data from one place to another on the target partition. With that in mind, here are the required steps to decompress the new system.new.dat file. But before that, make sure to download the required files from the below link: