Decipher
The decipher tool is used to reveal passwords, whether the password is an NPC password, or one chosen by another player (in Grey Hack multiplayer).
The decipher tool is run from the terminal and requires the user to specify the path to a file containing a password hash. Deciphering can take from seconds to a couple of minutes to complete - depending on your machine's CPU capabilities - and if successful, will reveal the first password contained in the chosen file. Files commonly deciphered include Bank.txt
, Mail.txt
and /etc/passwd
.
Efficiency
In Grey Hack, passwords appear in the form of a standard MD5 hash. The internet contains considerable databases of MD5 hashes and it may be quicker in practice to copy the relevant hash (e.g. 6a27f10aef159701c7a5ff07f0fb0a78
for jeffrey
) outside of Grey Hack and paste it into Google, or search it on an MD5 index, than to use the decipher tool.
There may be occasions where a password is reasonably unique (such as with some user-chosen passwords in Grey Hack multiplayer), and its hash cannot be located through real world search tools. On these occasions, decipher may be more effective.
Crucially, Grey Hack stores the hash (and its plain text string) for most passwords used in game, including passwords chosen by users. Accordingly, if a user in multiplayer chooses a very strong bank password, and its resulting hash does not appear on MD5 indexing sites, the password can still be revealed by the decipher tool (which is why users are advised to ensure they do not allow others access to their Bank.txt file, nor log into their bank account from remote servers).
There are occasions where decipher is unable to return a chosen password, resulting in an error.
Debug data:
[SQLBagOStuff] MainObjectStash using store ReplicatedBagOStuff
[objectcache] MainWANObjectCache using store EmptyBagOStuff
IP: 34.239.152.207
Start request GET /wiki/Decipher
HTTP HEADERS:
CONTENT-LENGTH: 0
CDN-LOOP: cloudflare
CF-IPCOUNTRY: US
CF-CONNECTING-IP: 34.239.152.207
ACCEPT-LANGUAGE: en-US,en;q=0.5
ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
USER-AGENT: CCBot/2.0 (https://commoncrawl.org/faq/)
CF-VISITOR: {"scheme":"https"}
X-FORWARDED-PROTO: https
CF-RAY: 7b00197b5afd2412-IAD
X-FORWARDED-FOR: 34.239.152.207
ACCEPT-ENCODING: gzip
CONNECTION: close
HOST: wiki.ghtools.xyz[localisation] LocalisationCache: using store LCStoreDB
[session] SessionManager using store SqlBagOStuff
[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff
[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: request info {
"IPAddress": "34.239.152.207",
"UserAgent": "CCBot\/2.0 (https:\/\/commoncrawl.org\/faq\/)",
"ChronologyProtection": false,
"ChronologyPositionIndex": 0,
"ChronologyClientId": false
}[DBConnection] Wikimedia\Rdbms\LoadBalancer::lazyLoadReplicationPositions: executed chronology callback.
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
[session] SessionBackend "91tphanlfij2r2q7a4692527hij627r7" is unsaved, marking dirty in constructor
[session] SessionBackend "91tphanlfij2r2q7a4692527hij627r7" save: dataDirty=1 metaDirty=1 forcePersist=0
[cookie] already deleted setcookie: "c6_wiki_session", "", "1648640654", "/", "", "1", "1"
[cookie] already deleted setcookie: "c6_wikiUserID", "", "1648640654", "/", "", "1", "1"
[cookie] already deleted setcookie: "c6_wikiToken", "", "1648640654", "/", "", "1", "1"
[cookie] already deleted setcookie: "forceHTTPS", "", "1648640654", "/", "", "", "1"
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
Title::getRestrictionTypes: applicable restrictions to [[Decipher]] are {edit,move}
[ContentHandler] Created handler for wikitext: WikitextContentHandler
[MessageCache] MessageCache using store SqlBagOStuff
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
[SQLBagOStuff] SqlBagOStuff::lock failed due to timeout for c6_wiki:messages:en.
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
[MessageCache] MessageCache::load: Loading en... local cache is empty, global cache is expired/volatile, loading from database
ParserFactory: using preprocessor: Preprocessor_Hash
Unstubbing $wgLang on call of $wgLang::_unstub from ParserOptions->__construct
[caches] parser: SqlBagOStuff
Article::view using parser cache: yes
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
Article::view: doing uncached parse
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
[Preprocessor] Cached preprocessor output (key: c6_wiki:preprocess-hash:d009a8dd778b9ffe9b1b47f20e25e45a:0)
[Mime] MimeAnalyzer::loadFiles: loading mime types from /var/www/clients/client6/web12/web/w/includes/libs/mime/mime.types
[Mime] MimeAnalyzer::loadFiles: loading mime info from /var/www/clients/client6/web12/web/w/includes/libs/mime/mime.info
File::transform: Doing stat for mwstore://local-backend/local-thumb/8/85/Decipher_in_terminal.png/300px-Decipher_in_terminal.png
TransformationalImageHandler::doTransform: creating 300x186 thumbnail at mwstore://local-backend/local-thumb/8/85/Decipher_in_terminal.png/300px-Decipher_in_terminal.png using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
File::transform: Doing stat for mwstore://local-backend/local-thumb/8/85/Decipher_in_terminal.png/450px-Decipher_in_terminal.png
TransformationalImageHandler::doTransform: creating 450x280 thumbnail at mwstore://local-backend/local-thumb/8/85/Decipher_in_terminal.png/450px-Decipher_in_terminal.png using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
File::transform: Doing stat for mwstore://local-backend/local-thumb/8/85/Decipher_in_terminal.png/600px-Decipher_in_terminal.png
TransformationalImageHandler::doTransform: creating 600x373 thumbnail at mwstore://local-backend/local-thumb/8/85/Decipher_in_terminal.png/600px-Decipher_in_terminal.png using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
File::transform: Doing stat for mwstore://local-backend/local-thumb/6/6d/Decipher_returns_a_password.png/300px-Decipher_returns_a_password.png
TransformationalImageHandler::doTransform: creating 300x186 thumbnail at mwstore://local-backend/local-thumb/6/6d/Decipher_returns_a_password.png/300px-Decipher_returns_a_password.png using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
File::transform: Doing stat for mwstore://local-backend/local-thumb/6/6d/Decipher_returns_a_password.png/450px-Decipher_returns_a_password.png
TransformationalImageHandler::doTransform: creating 450x280 thumbnail at mwstore://local-backend/local-thumb/6/6d/Decipher_returns_a_password.png/450px-Decipher_returns_a_password.png using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
File::transform: Doing stat for mwstore://local-backend/local-thumb/6/6d/Decipher_returns_a_password.png/600px-Decipher_returns_a_password.png
TransformationalImageHandler::doTransform: creating 600x373 thumbnail at mwstore://local-backend/local-thumb/6/6d/Decipher_returns_a_password.png/600px-Decipher_returns_a_password.png using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
File::transform: Doing stat for mwstore://local-backend/local-thumb/8/89/Decipher_tool_failed.png/300px-Decipher_tool_failed.png
TransformationalImageHandler::doTransform: creating 300x186 thumbnail at mwstore://local-backend/local-thumb/8/89/Decipher_tool_failed.png/300px-Decipher_tool_failed.png using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
File::transform: Doing stat for mwstore://local-backend/local-thumb/8/89/Decipher_tool_failed.png/450px-Decipher_tool_failed.png
TransformationalImageHandler::doTransform: creating 450x280 thumbnail at mwstore://local-backend/local-thumb/8/89/Decipher_tool_failed.png/450px-Decipher_tool_failed.png using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
File::transform: Doing stat for mwstore://local-backend/local-thumb/8/89/Decipher_tool_failed.png/600px-Decipher_tool_failed.png
TransformationalImageHandler::doTransform: creating 600x373 thumbnail at mwstore://local-backend/local-thumb/8/89/Decipher_tool_failed.png/600px-Decipher_tool_failed.png using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
[Preprocessor] Cached preprocessor output (key: c6_wiki:preprocess-hash:d009a8dd778b9ffe9b1b47f20e25e45a:0)
Saved in parser cache with key c6_wiki:pcache:idhash:13-0!canonical and timestamp 20230330114414 and revision id 105
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #145 (handle id #151) will be used for SqlBagOStuff
MediaWiki::preOutputCommit: primary transaction round committed
MediaWiki::preOutputCommit: pre-send deferred updates completed
MediaWiki::preOutputCommit: session changes committed
MediaWiki::preOutputCommit: LBFactory shutdown completed
Title::getRestrictionTypes: applicable restrictions to [[Decipher]] are {edit,move}