[Android Software/Hacking General [Developers Only]] AnonVendetta:
Both yes and no, that's what I'm saying. "Stock read only Samsung firmware" is incorrect, it was never read only, so no. And yes to "is actually read writable by default".

It's been over 10 months since I last ran your script, on Android 11. It couldn't detect shared blocks, saying that everything is RW already, so I decided that there isn't a need to try it again. And even before before running the tool, I had no issues writing to the partitions in super (mostly just debloating).

Since there is no need to run it again, then I won't. So, no logs.

Here are fast links to both of the firmwares I'm using, in case you'd like to see for yourself that there is no f2fs and no shared blocks:

Download Galaxy Tab S7 5G SM-T976N (KOO) T976NKOU2FVL1 in Samfw - Samsung firmware download

Galaxy Tab S7 5G SM-T976N (KOO - South Korea) T976NKOU2FVL1 T(Android 13) samsung firmware download all model, lastest, fast update, completely free and fast speed in Samfw.com ✅

samfw.com

Download Galaxy Note20 Ultra 5G SM-N986N (KOO) N986NKSU2GVL3 in Samfw - Samsung firmware download

Galaxy Note20 Ultra 5G SM-N986N (KOO - South Korea) N986NKSU2GVL3 T(Android 13) samsung firmware download all model, lastest, fast update, completely free and fast speed in Samfw.com ✅

samfw.com

And some output from a terminal command, ran with root access, on the Note 20 Ultra running the latest stock Android 13.

:/ $ su

ck/dm-*; do tune2fs -l $a | grep -e "vol" -e "feat"; done <

Filesystem volume name: /

Filesystem features: ext_attr dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Filesystem volume name: vendor

Filesystem features: ext_attr dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: product

Filesystem features: ext_attr dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Filesystem volume name: <none>

Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: odm

Filesystem features: ext_attr dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize shared_blocks

Filesystem volume name: <none>

Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum shared_blocks

So, no shared blocks for system/product/vendor/odm within my super. The shared blocks references you do see are for unlabeled apex volumes.

And then:

:/ $ su

:/ # for a in /dev/block/dm-*; do mount -o remount,rw $a; done

mount: '/dev/block/dm-10'->'/apex/com.android.appsearch': Invalid argument

mount: '/dev/block/dm-11'->'/apex/com.android.adbd': Invalid argument

mount: '/dev/block/dm-12'->'/apex/com.android.media.swcodec': Invalid argument

mount: '/dev/block/dm-16'->'/apex/com.android.tethering': Invalid argument

mount: '/dev/block/dm-18'->'/apex/com.android.resolv': Invalid argument

mount: '/dev/block/dm-19'->'/apex/com.android.wifi': Invalid argument

mount: '/dev/block/dm-24'->'/apex/com.google.mainline.primary.libs@331148200': Invalid argument

mount: '/dev/block/dm-25'->'/apex/com.android.media': Invalid argument

mount: '/dev/block/dm-27'->'/apex/com.android.os.statsd': Invalid argument

mount: '/dev/block/dm-28'->'/apex/com.android.tzdata': Invalid argument

mount: '/dev/block/dm-29'->'/apex/com.android.conscrypt': Invalid argument

mount: '/dev/block/dm-30'->'/apex/com.android.scheduling': Invalid argument

mount: '/dev/block/dm-31'->'/apex/com.android.neuralnetworks': Invalid argument

mount: '/dev/block/dm-32'->'/apex/com.android.cellbroadcast': Invalid argument

mount: '/dev/block/dm-34'->'/apex/com.android.adservices': Invalid argument

mount: '/dev/block/dm-35'->'/apex/com.android.ipsec': Invalid argument

mount: '/dev/block/dm-36'->'/apex/com.android.sdkext': Invalid argument

mount: '/dev/block/dm-39'->'/apex/com.android.mediaprovider': Invalid argument

mount: '/dev/block/dm-40'->'/apex/com.android.extservices': Invalid argument

mount: '/dev/block/dm-41'->'/apex/com.android.uwb': Invalid argument

mount: '/dev/block/dm-42'->'/apex/com.android.art': Invalid argument

mount: '/dev/block/dm-8'->'/apex/com.android.ondevicepersonalization': Invalid argument

mount: '/dev/block/dm-9'->'/apex/com.android.permission': Invalid argument

On a side note, you will never be able to make your code unhackable. Back in the 90s to mid 2000s, ending around 2008, I was affiliated with some PC game cracking groups, including some big names in the piracy world. Every time devs would release a new counter measure, the crackers found a way around it. There is no such thing as unhackable. I'm not into that anymore, I cut all ties to the people I knew, except the ones that went legit. I now pay for all the digital content I want.