This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'appid' column | |
magic_appid="617070696400" | |
# Paste in your Steam UserID | |
steam_userid="" | |
shortcuts_vdf="$HOME/.steam/root/userdata/${steam_userid}/config/shortcuts.vdf" | |
function convert_aid { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'AppName' and 'appname' column begin and end | |
# Most of the time (including from Steam itself) this will be 'AppName', but accounts for edge-cases as well | |
magic_appname_camelcase="014170704e616d6500" # 'AppName' | |
magic_appname_lowercase="6170706e616d65" # 'appname' | |
magic_appname_end="0001" # end bytes before next column begins | |
# Paste in your Steam UserID | |
steam_userid="" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'Startdir' column begin and end | |
# Should always be CamelCase, but you could account for 'startdir' with '7374617274646972' | |
magic_startdir_camelcase="0001537461727444697200" # 'StartDir' | |
magic_startdir_end="0001" # end bytes before next column begins | |
# Paste in your Steam UserID | |
steam_userid="" | |
shortcuts_vdf="$HOME/.steam/root/userdata/${steam_userid}/config/shortcuts.vdf" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'exe' column begin and end | |
# Should always be Exe, but you could account for 'exe' with '6578650a' | |
magic_exe_camelcase="000145786500" # 'Exe' | |
magic_exe_end="0001" # end bytes before next column begins | |
# Paste in your Steam UserID | |
steam_userid="" | |
shortcuts_vdf="$HOME/.steam/root/userdata/${steam_userid}/config/shortcuts.vdf" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Get value in shortcut entry hex between start and end patterns, with null byte removed, converted to plaintext | |
function get_shortcut_column_value { | |
shortcut_hex="$1" | |
shortcut_pattern_start="$2" | |
shortcut_pattern_end="0001" | |
printf "${shortcut_hex}" | grep -oP "${shortcut_pattern_start}\K.*?(?=${shortcut_pattern_end})" | xxd -r -p | tr -d '\0' | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# shortcuts.vdf starts with different bytes than all other shortcuts, this magic basically translates to: '00shortcuts000030000002', | |
# where '0000' is spacing, '30' represents the shortcut index (1), '00' is more spacing, and '0002' is the start of the next column | |
magic_shortcut_filestart="0073686f7274637574730000300002" | |
magic_shortcut_blockstart="00080800.*?0002" # How all other shortcut blocks start, with 00080800, then the shortcut number (could be 31,32,even higher for more shortcuts, so we don't care about the value between), then 0002 for the next block start | |
magic_shortcut_blockend="000808" # How all shortcuts end | |
# Paste in your Steam UserID | |
steam_userid="" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# AppID is a special case I haven't made generic yet since it doesn't have an end byte the same way other fields do afaik | |
# Adapted from my gist: https://gist.github.com/sonic2kk/4a3383b401931a171a4addc29bdf903f | |
function get_shortcut_appid { | |
# Magic that represents 'appid' column | |
magic_appid="617070696400" | |
shortcut_hex="$1" | |
function convert_aid { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'appid' column | |
magic_appid="617070696400" | |
# Paste in your Steam UserID | |
steam_userid="" | |
shortcuts_vdf="$HOME/.steam/root/userdata/${steam_userid}/config/shortcuts.vdf" | |
# Parse short AppID (unsigned 32bit integer) and convert it to an unsigned 64bit integer |
OlderNewer