<string>This is a string</string>
echo RXh0ZXJuYWw= | python -m base64 -d && echo
Externalon the next line. We use the
&& echoto output a newline after our text is spit out - this makes it easier to read.
echo -n External | base64
RXh0ZXJuYWw=which is exactly what we'd expect.
<string>values in our
<array>like the above example. They are accessed by index (which is just the number they're at in the list).
Comment- this is just a comment to describe what the patch is doing.
Disabled- this is a bit counter-intuitive, but it's a boolean value that determines whether or not this patch is disabled. If set to
<true/>, the patch will be disabled, and Clover will ignore it. If set to
<false/>the patch is not disabled, and it will be applied.
InfoPlistPatch- this is a boolean value that tells Clover if we're patching the Info.plist of the kext instead of the binary.
Name- this is the actual kext we intend to patch.
Find- this is the base64 data we want to look for in the binary to patch.
Replace- this is what we will be replacing the
Finddata with (if we find it).
Externalwhen we decode the data) and replace it with
Internalwhen we decode it). The end result is that drives that are hot-pluggable (and normally considered external drives) will be displayed as internal drives and not have the orange icon on the desktop. This patching happens on the fly, and is non-destructive - meaning that the AppleAHCIPort kext remains untouched on the system.
Disabledkey works - wo we'll change the
<false/>on the next line to
<true/>which sets this patch to disabled like so:
<key>Patches</key>is an opening array tag (
<array>) - and then we have 2 dictionaries - each with similar keys to what we worked with in the prior example (Comment, Disabled, Find, Replace). After the dictionaries, we see the closing array tag (
</array>). Our goal is to add a new dictionary in between the
</array>tags while also avoiding slicing up the other existing dictionaries. The data that we'll be adding looks like so:
</array>tag like so: