Skip to content

Two factor authentication zh HK

JustArchi edited this page Jun 21, 2020 · 27 revisions

้›™้‡้ฉ—่ญ‰

2015ๅนด12ๆœˆ๏ผŒValveๅ•Ÿ็”จใ€ŒEscrowใ€็ณป็ตฑ๏ผŒๆŽจๅ‡บไบคๆ˜“ๆšซๆŽ›ๅŠŸ่ƒฝ๏ผŒ่ฉฒ็ณป็ตฑ่ฆๆฑ‚็”จๆˆถๆไพ›้กๅค–็š„่บซไปฝ้ฉ—่ญ‰ๅ™จไปฅ็ขบ่ชๅ„็จฎ่ˆ‡ๅธณๆˆถ็›ธ้—œ็š„ๆดปๅ‹•ใ€‚ ่ฉณๆƒ…่ซ‹่ฆ‹**ใ€Œไบคๆ˜“่ˆ‡ๅธ‚ๅ ด็ขบ่ชใ€ๅŠไบคๆ˜“่ˆ‡ๅธ‚้›†่จ—็ฎก**ใ€‚ ๅœจ่ฉฆๅœ–็†่งฃ ASF 2FA ่ƒŒๅพŒ็š„้‚่ผฏไน‹ๅ‰๏ผŒ้ฆ–ๅ…ˆ่ฆไบ†่งฃ 2FA ใ€Œ้›™้‡้ฉ—่ญ‰ใ€็ณป็ตฑใ€‚

็•ถๅ‰ไบคๆ˜“่จ—็ฎกๆœŸๆœ€้•ท้”15ๅคฉ๏ผŒ้›–่ชช้€™ๅฐASFไพ†่ชช็„ก้—œ็ทŠ่ฆ๏ผŒไฝ†ๅฐๆƒณ่ฆๅฏฆ็พๅฎŒๅ…จ่‡ชๅ‹•ๅŒ–็š„็”จๆˆถ่€Œ่จ€็›ธ็•ถ้บป็…ฉใ€‚ ๅนธ้‹็š„ๆ˜ฏ๏ผŒASFๆไพ›ไบ†่งฃๆฑบ้€™ๅ€‹ๅ•้กŒ็š„ๆ–นๆกˆ๏ผŒ็จฑ็‚บASF 2FAใ€‚


ASF ้‚่ผฏ

ASFๆ“ๆœ‰้ฉ็•ถ็š„้‚่ผฏไธฆๅฎŒๅ…จ้ฉ็”จๆ–ผๅ—ๆจ™ๆบ–2FAไฟ่ญท็š„ๅธณๆˆถ๏ผŒ็„ก่ซ–ๆ‚จๆ˜ฏๅฆๅ•Ÿ็”จASF 2FAใ€‚ ๅฎƒๆœƒๅœจ้œ€่ฆๆ™‚ใ€Œไพ‹ๅฆ‚ๅœจ็™ป้Œ„ๆœŸ้–“ใ€ๅ‘ๆ‚จ่ซ‹ๆฑ‚ๆ‰€้œ€็š„่ฉณ็ดฐ่ณ‡่จŠใ€‚ ๅฆ‚ๆžœๆ‚จไฝฟ็”จASF 2FA๏ผŒ็จ‹ๅผๅฐ‡่ƒฝๅค ่ทณ้Ž้€™ไบ›่ซ‹ๆฑ‚ไธฆ่‡ชๅ‹•็”Ÿๆˆๆ‰€้œ€็š„ไปฃ็ขผ๏ผŒๅพž่€Œ็œๅŽปๆ‚จ็š„้บป็…ฉไธฆๅ•Ÿ็”จ้กๅค–็š„ๅŠŸ่ƒฝใ€Œๅฆ‚ไธ‹ๆ‰€่ฟฐใ€ใ€‚


ASF 2FA

ASF 2FAๆ˜ฏ่ฒ ่ฒฌ็‚บASF้€ฒ็จ‹ๆไพ›2FAๅŠŸ่ƒฝ็š„ๅ…ง็ฝฎๆจก็ต„๏ผŒไพ‹ๅฆ‚็”Ÿๆˆไปฃ็ขผๅ’ŒๆŽฅๅ—็ขบ่ชใ€‚ ๅฎƒ่ค‡่ฃฝไบ†ๆ‚จ็พๆœ‰็š„่บซไปฝ้ฉ—่ญ‰ๅ™จ๏ผŒๅ› ๆญค็„ก้œ€ๅฐˆ้–€ไฝฟ็”จASF 2FAใ€‚

ๆ‚จๅฏไปฅๅŸท่กŒ2fa**ๅ‘ฝไปค**ไปฅๆชขๆŸฅๆฉŸๆขฐไบบๅธณๆˆถๆ˜ฏๅฆๅทฒๅ•Ÿ็”จ2FAใ€‚ ้™ค้žๆ‚จๅทฒๅฐ‡่บซไปฝ้ฉ—่ญ‰ๅ™จๅฐŽๅ…ฅ็‚บASF 2FA๏ผŒๅฆๅ‰‡ๆ‰€ๆœ‰2faๅ‘ฝไปค้ƒฝๅฐ‡็„กๆณ•ๅŸท่กŒ๏ผŒ็•ถๆ‚จ็š„ๅธณๆˆถๆœชไฝฟ็”จASF 2FAๆ™‚๏ผŒไธ€ไบ›้œ€่ฆ2FAๆจก็ต„ๆ”ฏๆด็š„้€ฒ้šŽๅŠŸ่ƒฝไบฆ็„กๆณ•้‹่กŒใ€‚

่ฆๅ•Ÿ็”จASF 2FA๏ผŒๆ‚จ้œ€่ฆๅ…ทๅ‚™๏ผš

  • ้ฉ็”จๆ–ผAndroid่ฃ็ฝฎ็š„Steam่กŒๅ‹•้ฉ—่ญ‰ๅ™จ
  • ๆˆ–้ฉ็”จๆ–ผiOS่ฃ็ฝฎ็š„Steam่กŒๅ‹•้ฉ—่ญ‰ๅ™จ
  • ๆˆ–้ฉ็”จๆ–ผ**SteamDesktopAuthenticator**็š„Steam่กŒๅ‹•้ฉ—่ญ‰ๅ™จ
  • ๆˆ–้ฉ็”จๆ–ผ**WinAuth**็š„Steam่กŒๅ‹•้ฉ—่ญ‰ๅ™จ
  • ๆˆ–ๅ…ถไป–ไปปไฝ•่ƒฝๅค ็ฒๅ–shared/identity secretๅŠ่ฃ็ฝฎIDไปฅๅฏฆ็พSteam่กŒๅ‹•้ฉ—่ญ‰ๅ™จๅŠŸ่ƒฝ็š„ๆ‡‰็”จ

ๅฐŽๅ…ฅ

็‚บไบ†ๅฎŒๆˆไธ‹้ข่งฃ้‡‹็š„ๆญฅ้ฉŸ๏ผŒๆ‚จๆ‡‰ๆ‹ฅๆœ‰ ASF ๆ”ฏๆด็š„ๅทฒ้€ฃ็ตไธฆๅฏๆ“ไฝœ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จใ€‚ ASF็›ฎๅ‰ๆ”ฏๆดๅนพๅ€‹ไธๅŒ็š„2FAไพ†ๆบโ”€โ”€Androidใ€iOSใ€SteamDesktopAuthenticatorไปฅๅŠWinAuthใ€‚ ๅฆ‚ๆžœๆ‚จ้‚„ๆฒ’ๆœ‰ไปปไฝ•้ฉ—่ญ‰ๅ™จ๏ผŒๅ‰‡้œ€่ฆๅ…ˆ้ธๆ“‡ๅ…ถไธญไธ€ๅ€‹ไธฆ้€ฒ่กŒ่จญ็ฝฎใ€‚ ๅฆ‚ๆžœๆ‚จไธ็Ÿฅ้“้ธๆ“‡ๅ“ชไธ€ๅ€‹๏ผŒๆˆ‘ๅ€‘ๆŽจ่–ฆ WinAuth๏ผŒไฝ†ๅช่ฆๆ‚จๆŒ‰็…ง่ชชๆ˜Žๆ“ไฝœ๏ผŒไธŠ่ฟฐไปปไฝ•ไธ€้ …้ƒฝๅฏไปฅๆญฃๅธธๅทฅไฝœใ€‚

ไปฅไธ‹ๆ‰€ๆœ‰ๆŒ‡ๅ—้ƒฝ่ฆๆฑ‚ๆ‚จๅทฒๆ“ๆœ‰ๅœจไธŠ่ฟฐๅทฅๅ…ท/ๆ‡‰็”จ็จ‹ๅผไธญ ๅฏ้‹่กŒ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จใ€‚ ๅฆ‚ๆžœๅฐŽๅ…ฅ็„กๆ•ˆ่ณ‡ๆ–™๏ผŒASF 2FAๅฐ‡็„กๆณ•ๆญฃๅธธ้‹่กŒ๏ผŒๅ› ๆญคๅœจๅ˜—่ฉฆๅฐŽๅ…ฅ่ณ‡ๆ–™ไน‹ๅ‰๏ผŒ่ซ‹็ขบไฟๆ‚จ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จ้‹่กŒๆญฃๅธธใ€‚ ้€™ๅŒ…ๆ‹ฌๆธฌ่ฉฆๅ’Œ้ฉ—่ญ‰ไปฅไธ‹่บซไปฝ้ฉ—่ญ‰ๅ™จๅŠŸ่ƒฝ่ƒฝๅฆๆญฃๅธธ้‹่กŒ๏ผš

  • ๆ‚จๅฏไปฅ็”Ÿๆˆไปฃ็ขผ๏ผŒไธ”ๅฎƒๅ€‘ๅ—Steam็ถฒ็ตกๆ‰ฟ่ช
  • ๆ‚จๅฏไปฅ็”ฑๆตๅ‹•่บซไปฝ้ฉ—่ญ‰ๅ™จ็ฒๅ–ไบคๆ˜“็ขบ่ช
  • ๆ‚จๅฏไปฅๆŽฅๅ—้€™ไบ›ไบคๆ˜“็ขบ่ช๏ผŒไธฆไธ”ๅฎƒๅ€‘่ขซSteam็ถฒ็ตกๆญฃ็ขบๅœฐ่ญ˜ๅˆฅ็‚บ็ขบ่ช/ๆ‹’็ต•

้€š้ŽๆชขๆŸฅไธŠ่ฟฐๆ“ไฝœๆ˜ฏๅฆๆœ‰ๆ•ˆไพ†็ขบไฟๆ‚จ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จๆญฃๅธธๅทฅไฝœโ”€โ”€ๅฆ‚ๆžœๅฎƒๅ€‘ไธ่ตทไฝœ็”จ๏ผŒ้‚ฃ้บผๅฎƒๅ€‘ไนŸไธ่ƒฝๅœจASFไธญ้‹่กŒ๏ผŒๆ‚จๅชๆœƒๆตช่ฒปๆ™‚้–“็ตฆ่‡ชๅทฑๆทป้บป็…ฉใ€‚


Androidๆ‰‹ๆฉŸ

้€šๅธธๆƒ…ๆณไธ‹๏ผŒๆ‚จ้œ€่ฆ**rootๆฌŠ้™ไปฅๅพžๆ‚จ็š„Androidๆ‰‹ๆฉŸๅฐŽๅ…ฅ่บซไปฝ้ฉ—่ญ‰ๅ™จใ€‚ Rootๆ–นๆณ•ๅ› ่ฃ็ฝฎ่€Œ็•ฐ๏ผŒๆ‰€ไปฅๆˆ‘็„กๆณ•ๆŒ‡ๅฐŽๆ‚จrootๆ‚จ็š„่จญๅ‚™ใ€‚ ๆ‚จๅฏไปฅ่จชๅ•XDA**ๆŸฅ่ฉขๅฏฆ็”จๆŒ‡ๅ—ไธฆ็žญ่งฃๆ›ดๅคš้—œๆ–ผ rooting ็š„้€š็”จ่ณ‡่จŠใ€‚ ๅฆ‚ๆžœๆ‚จๆ‰พไธๅˆฐ้ฉ็”จๆ–ผๆ‚จ็š„่จญๅ‚™ๆˆ–ๆ•™็จ‹๏ผŒๅ˜—่ฉฆๆœ‰ๆ•ˆๅˆฉ็”จGoogleๆœ็ดขใ€‚

็†่ซ–ไธŠไพ†่ชฌ๏ผŒๆฒ’ๆœ‰rootๆฌŠ้™ๅฐฑ็„กๆณ•่จชๅ•ๅ—ไฟ่ญท็š„Steamๆช”ๆกˆใ€‚ The only official non-root method for extracting Steam files is creating unencrypted /data backup in one way or another and manually fetching appropriate files from it on your PC, however because such thing highly depends on your phone manufacturer and is not in Android standard, we won't discuss it here. ๅฆ‚ๆžœๆ‚จๅพˆๅนธ้‹ๆœ‰้€™ๆจฃ็š„ๅŠŸ่ƒฝ๏ผŒไฝ ๅฏไปฅ่€ƒๆ…ฎๅˆฉ็”จๅฎƒ๏ผŒไฝ†ๅคงๅคšๆ•ธ็”จๆˆถไธฆ้žๅฆ‚ๆญคใ€‚

Unofficially, it is possible to extract the needed files without root access, by installing or downgrading your Steam app to version 2.1 (or earlier), setting up mobile authenticator and then creating a snapshot of the app (together with the data files that we need) through adb backup. ไฝ†ๆ˜ฏ๏ผŒ็”ฑๆ–ผ้€™็จฎๆๅ–ๆ–‡ไปถ็š„ๆ–นๅผๅญ˜ๅœจๅšด้‡็š„ๅฎ‰ๅ…จๆผๆดž๏ผŒไธ”ๅฎŒๅ…จๆฒ’ๆœ‰ๆŠ€่ก“ๆ”ฏๆด๏ผŒๆˆ‘ๅ€‘ๅฐ‡ไธๆœƒๅœจๆญค่ฉณ็ดฐ่ชชๆ˜Ž๏ผŒๅŽŸๅ› ไน‹ไธ€ๆ˜ฏValveๅœจๆ–ฐ็‰ˆๆœฌไธญ็ฆ็”จๆญคๅฎ‰ๅ…จๆผๆดž๏ผŒๆˆ‘ๅ€‘ๅƒ…ๆ˜ฏๆๅˆฐๅญ˜ๅœจไฝฟ็”จๆญคๆ–นๆณ•็š„ๅฏ่ƒฝๆ€งใ€‚

Assuming that you've successfully rooted your phone, you should afterwards download any root explorer available on the market, such as this one (or any other one of your preference). ๆ‚จ้‚„ๅฏไปฅ้€š้ŽADB๏ผˆAndroid Debug Bridge๏ผ‰ๆˆ–ไปปไฝ•ๅ…ถไป–ๅฏ็”จ็š„ๆ–นๆณ•่จชๅ•ๅ—ไฟ่ญท็š„ๆช”ๆกˆ๏ผŒๆˆ‘ๅ€‘ๅฐ‡้€š้Ž่ณ‡ๆบ็ฎก็†ๅ™จ้€ฒ่กŒ่จชๅ•๏ผŒๅ› ็‚บๅฎƒ็ต•ๅฐๆ˜ฏๅฐ็”จๆˆถๆœ€ๅ‹ๅฅฝ็š„ๆ–นๅผใ€‚

ๆ‰“้–‹ๆ น็€่ฆฝๅ™จๅพŒ๏ผŒๅฐŽ่ˆชๅˆฐ/data/data่ณ‡ๆ–™ๅคพใ€‚ ่ซ‹่จ˜ไฝ๏ผŒ/data/data็›ฎ้Œ„ๅ—ๅˆฐไฟ่ญท๏ผŒๅฆ‚ๆžœๆฒ’ๆœ‰root่จชๅ•ๆฌŠ้™๏ผŒๆ‚จๅฐ‡็„กๆณ•่จชๅ•ๅฎƒใ€‚ ๅœจ้‚ฃๆ‰พๅˆฐcom.valvesoftware.android.steam.community่ณ‡ๆ–™ๅคพไธฆๅฐ‡ๅ…ถ่ค‡่ฃฝๅˆฐ/sdcard๏ผŒๅฎƒๆŒ‡ๅ‘ๆ‚จ็š„ๅ…ง็ฝฎๅ…ง้ƒจๅญ˜ๅ„ฒใ€‚ ไน‹ๅพŒ๏ผŒๆ‚จๆ‡‰่ฉฒๅฏไปฅๅฐ‡ๆ‰‹ๆฉŸ้€ฃๆŽฅๅˆฐPCไธฆๅƒๅพ€ๅธธไธ€ๆจฃๅพžๅ…ง้ƒจๅญ˜ๅ„ฒๅ™จไธญๅพฉ่ฃฝ่ณ‡ๆ–™ๅคพใ€‚ ๅฆ‚ๆžœๆ‚จ็ขบๅฎšๅทฒๅฐ‡่ณ‡ๆ–™ๅคพ่ค‡่ฃฝๅˆฐๆญฃ็ขบ็š„ไฝ็ฝฎๅฏ่ฉฒ่ณ‡ๆ–™ๅคพ็„กๆณ•้กฏ็คบ๏ผŒ่ซ‹ๅ˜—่ฉฆ้‡ๆ–ฐๅ•Ÿๅ‹•ๆ‰‹ๆฉŸใ€‚

Now, you can choose if you want to import your authenticator to WinAuth first, then to ASF, or to ASF right away. ๅ…ˆๅฐ‡้ฉ—่ญ‰ๅ™จๅฐŽๅ…ฅWinAuth็š„้ธ้ …ๆ›ดๅ‹ๅฅฝ๏ผŒๅฎƒๅ…่จฑๆ‚จๅœจๆ‚จ็š„PCไธŠๅ‚™ไปฝ่บซไปฝ้ฉ—่ญ‰ๅ™จ๏ผŒ้€™ๆจฃๆ‚จๅฐฑๅฏไปฅๅพž3ๅ€‹ไธๅŒ็š„ๅœฐๆ–น็”Ÿๆˆไปฃ็ขผไธฆ็ขบ่ชไบคๆ˜“โ”€โ”€ๆ‚จ็š„ๆ‰‹ๆฉŸ๏ผŒๆ‚จ็š„PCไปฅๅŠASFใ€‚ ๅฆ‚ๆžœๆ‚จๆƒณ้€™ๆจฃๅš๏ผŒๅช้œ€ๆ‰“้–‹WinAuth๏ผŒๆทปๅŠ ๆ–ฐ็š„Steam่บซไปฝ้ฉ—่ญ‰ๅ™จไธฆๅพžAndroid้ธ้ …ไธญ้ธๆ“‡ๅฐŽๅ…ฅ๏ผŒ็„ถๅพŒ้ตๅพชๆŒ‡ๅ—๏ผŒ่จชๅ•ๆ‚จไน‹ๅ‰็ฒๅพ—็š„ๆช”ๆกˆใ€‚ ๅฎŒๆˆๅพŒ๏ผŒๆ‚จๅฏไปฅๅฐ‡ๆญค้ฉ—่ญ‰ๅ™จๅพžWinAuthๅฐŽๅ…ฅASF๏ผŒ้€™ๅฐ‡ๅœจไธ‹้ข็š„WinAuth้ƒจๅˆ†ไธญๅฐˆ้–€้€ฒ่กŒ่ชชๆ˜Žใ€‚

If you don't want to or don't need to go through WinAuth, then simply copy files/Steamguard-SteamID file from our protected directory, where SteamID is your 64-bit Steam identificator of the account that you want to add (if more than one, because if you have only one account then this will be the only file). ๆ‚จ้œ€่ฆๅฐ‡่ฉฒๆช”ๆ”พๅ…ฅASFconfig็›ฎ้Œ„ไธญใ€‚ Once you do that, rename the file to BotName.maFile, where BotName is the name of your bot you're adding ASF 2FA to. After this step, launch ASF - it should notice the .maFile and import it.

[*] INFO: ImportAuthenticator() <1> Converting .maFile into ASF format...
<1> ่ซ‹่ผธๅ…ฅๆ‚จ็š„่ฃ็ฝฎ่ญ˜ๅˆฅ็ขผ๏ผˆๅŒ…ๆ‹ฌ"android:"๏ผ‰๏ผš

You will need to do only one more step - find your DeviceID property in shared_prefs/steam.uuid.xml. It will be inside XML tags and starting with android:. Copy that (or write it down) and put it in ASF as asked. If you did everything correctly, import should be finished.

[*] INFO: ImportAuthenticator() <1> Successfully finished importing mobile authenticator!

่ซ‹็ขบ่ชๆŽฅๅ—็ขบ่ชๅฏฆ้š›ไธŠๅฏ็”จใ€‚ If you made a mistake while entering your DeviceID then you'll have half-broken authenticator - tokens will work, but accepting confirmations will not. You can always remove Bot.db and start over if needed.


iOS

For iOS you can use ios-steamguard-extractor. This is possible thanks to the fact that you can make decrypted backup, put in on your PC and use the tool in order to extract Steam data that is otherwise impossible to get (at least without jailbreak, due to iOS encryption).

Head over to latest release in order to download the program. Once you extract the data you can put it e.g. in WinAuth, then from WinAuth to ASF (although you can also simply copy generated json starting from { ending on } into BotName.maFile and proceed like usual). If you ask me, I strongly recommend to import to WinAuth first, then making sure that both generating tokens as well as accepting confirmations work properly, so you can be sure that everything is alright. If your credentials are invalid, ASF 2FA will not work properly, so it's much better to make ASF import step your last one.

ๆœ‰้—œๅ•้กŒ/้Œฏ่ชค๏ผŒ่ซ‹่จชๅ•** issues **ใ€‚

่ซ‹่จ˜ไฝ๏ผŒไธŠ้ข็š„ๅทฅๅ…ทๆ˜ฏ้žๅฎ˜ๆ–น็š„๏ผŒๆ‚จไฝฟ็”จๅฎƒ้œ€่ฆ่‡ชๆ“”้ขจ้šชใ€‚ We do not offer technical support if it doesn't work properly - we got a few signals that it's exporting invalid 2FA credentials - verify that confirmations work in authenticator like WinAuth prior to importing that data to ASF!


SteamๆกŒ้ข้ฉ—่ญ‰ๅ™จ

ๅฆ‚ๆžœๆ‚จ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จๅทฒ็ถ“ๅœจSDAไธญ้‹่กŒ๏ผŒๆ‚จๆ‡‰่ฉฒๆณจๆ„ๅˆฐmaFiles่ณ‡ๆ–™ๅคพไธญๅญ˜ๅœจsteamID.maFileๆ–‡ไปถใ€‚ ๅฐ‡่ฉฒๆช”่ค‡่ฃฝๅˆฐASF็š„config็›ฎ้Œ„ใ€‚ Make sure that .maFile is in unencrypted form, as ASF can't decrypt SDA files - unencrypted file content should start with { character.

You should now rename steamID.maFile to BotName.maFile in ASF config directory, where BotName is the name of your bot you're adding ASF 2FA to. ๆˆ–่€…ๆ‚จๅฏไปฅไฟๆŒๅŽŸๆจฃ๏ผŒASFๆœƒๅœจ็™ป้Œ„ๅพŒ่‡ชๅ‹•่ญ˜ๅˆฅๅฎƒใ€‚ Helping ASF makes it possible to use ASF 2FA before logging in, if you won't help ASF, then the file can be picked only after ASF successfully logs in (as ASF doesn't know steamID of your account before in fact logging in).

ๅฆ‚ๆžœๆ‚จๆญฃ็ขบๅŸท่กŒไบ†ๆ‰€ๆœ‰ๆ“ไฝœ๏ผŒ่ซ‹ๅ•Ÿๅ‹•ASF๏ผŒๆ‚จๆ‡‰่ฉฒๆณจๆ„ๅˆฐ๏ผš

[*] INFO: ImportAuthenticator() <1> Converting .maFile into ASF format...
[*] INFO: ImportAuthenticator() <1> Successfully finished importing mobile authenticator!

ๅพž็พๅœจ้–‹ๅง‹๏ผŒๆ‚จ็š„ASF 2FAๆ‡‰่ฉฒๅฏไปฅๅœจๆญคๅธณๆˆถ้‹่กŒใ€‚


WinAuth

Firstly create new empty BotName.maFile in ASF config directory, where BotName is the name of your bot you're adding ASF 2FA to. Remember that it should be BotName.maFile and NOT BotName.maFile.txt, Windows likes to hide known extensions by default. ๅฆ‚ๆžœๆ‚จๆไพ›็š„ๅ็จฑไธๆญฃ็ขบ๏ผŒASFๅฐ‡ไธๆœƒ่ญ˜ๅˆฅๅฎƒใ€‚

็พๅœจๅƒๅพ€ๅธธไธ€ๆจฃๅ•Ÿๅ‹•WinAuthใ€‚ ๅณ้ตๅ–ฎๆ“ŠSteamๅœ–ๆจ™๏ผŒ็„ถๅพŒ้ธๆ“‡โ€œ้กฏ็คบSteamGuardๅ’Œๆขๅพฉไปฃ็ขผโ€ใ€‚ ็„ถๅพŒ้ธๆ“‡โ€œๅ…่จฑ่ค‡่ฃฝโ€ใ€‚ You should notice familiar to you JSON structure on the bottom of the window, starting with {. Copy whole text into a BotName.maFile file created by you in previous step.

ๅฆ‚ๆžœๆ‚จๆญฃ็ขบๅŸท่กŒไบ†ๆ‰€ๆœ‰ๆ“ไฝœ๏ผŒ่ซ‹ๅ•Ÿๅ‹•ASF๏ผŒๆ‚จๆ‡‰่ฉฒๆณจๆ„ๅˆฐ๏ผš

[*] INFO: ImportAuthenticator() <1> Converting .maFile into ASF format...
<1> ่ซ‹่ผธๅ…ฅๆ‚จ็š„่ฃ็ฝฎ่ญ˜ๅˆฅ็ขผ๏ผˆๅŒ…ๆ‹ฌ"android:"๏ผ‰๏ผš

This is when tricky part comes in. WinAuth is missing deviceID property that is required by ASF, so you'll need to do one more thing.

Go back to WinAuth's "Show SteamGuard and Recovery Code" and you should notice "Device ID" property above the JSON code you were copying not that long ago. Copy whole android device ID, including android: part into ASF.

If you've done that properly as well, you're now done!

[*] INFO: ImportAuthenticator() <1> Successfully finished importing mobile authenticator!

่ซ‹็ขบ่ชๆŽฅๅ—็ขบ่ชๅฏฆ้š›ไธŠๅฏ็”จใ€‚ If you made a mistake while entering your DeviceID then you'll have half-broken authenticator - tokens will work, but accepting confirmations will not. You can always remove Bot.db and start over if needed.


ๅฎŒๆˆ

From this moment, all 2fa commands will work as they'd be called on your classic 2FA device. You can use both ASF 2FA and your authenticator of choice (Android, iOS, SDA or WinAuth) to generate tokens and accept confirmations.

If you have authenticator on your phone, you can optionally remove SteamDesktopAuthenticator and/or WinAuth, as we won't need it anymore. However, I suggest to keep it just in case, not to mention that it's more handy than normal steam authenticator. Just keep in mind that ASF 2FA is NOT general purpose authenticator and it should never be the only one you use, since it doesn't even include all data that authenticator should have. It's not possible to convert ASF 2FA back to original authenticator, therefore always make sure that you have general-purpose authenticator in other place, such as in WinAuth/SDA, or on your phone.


ๅธธ่ฆ‹ๅ•้กŒ

ASFๅฆ‚ไฝ•ไฝฟ็”จ2FAๆจก็ต„๏ผŸ

ๅฆ‚ๆžœASF 2FAๅฏ็”จ๏ผŒASFๅฐ‡ไฝฟ็”จๅฎƒ่‡ชๅ‹•็ขบ่ช็”ฑASF็™ผ้€/ๆŽฅๅ—็š„ไบคๆ˜“ใ€‚ ๅฎƒ้‚„ๅฏไปฅๆ นๆ“š้œ€่ฆ่‡ชๅ‹•็”Ÿๆˆ2FAไปฃ็ขผ๏ผŒไพ‹ๅฆ‚็‚บไบ†็™ป้Œ„ใ€‚ ้™คๆญคไน‹ๅค–๏ผŒ้‚„ๅฏไปฅๅŸท่กŒ2faๅ‘ฝไปคไปฅไฝฟ็”จASF 2FAใ€‚ That should be all for now, if I didn't forget about anything - basically ASF uses 2FA module on as-needed basis.


็‚บไฝ•ๆˆ‘้œ€่ฆ2FAไปฃ็ขผ๏ผŸ

ๆ‚จ้œ€่ฆ2FAไปฃ็ขผๆ‰่ƒฝ่จชๅ•ๅ—2FAไฟ่ญท็š„ๅธณๆˆถ๏ผŒๅ…ถไธญๅŒ…ๆ‹ฌๅ…ทๆœ‰ASF 2FA็š„ๆฏๅ€‹ๅธณๆˆถใ€‚ ๆ‚จๆ‡‰่ฉฒๅœจ็”จๆ–ผๅฐŽๅ…ฅ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จไธญ็”Ÿๆˆไปฃ็ขผ๏ผŒไฝ†ๆ‚จไนŸๅฏไปฅ้€š้Ž่Šๅคฉๅ‘็ตฆๅฎšๆฉŸๅ™จไบบ็š„็™ผ้€2faๅ‘ฝไปค็”Ÿๆˆ่‡จๆ™‚ไปฃ็ขผใ€‚ ๆ‚จ้‚„ๅฏไปฅไฝฟ็”จ2fa <BotNames>ๅ‘ฝไปค็‚บ็ตฆๅฎš็š„ๆฉŸๆขฐไบบๅฏฆไพ‹็”Ÿๆˆ่‡จๆ™‚ไปฃ็ขผใ€‚ ้€™ๆ‡‰่ฉฒ่ถณไปฅ่ฎ“ๆ‚จ่จชๅ•ๆฉŸๆขฐไบบๅธณๆˆถ๏ผŒไพ‹ๅฆ‚้€š้Ž็€่ฆฝๅ™จ๏ผŒไฝ†ๅฆ‚ไธŠๆ‰€่ฟฐโ€”โ€”ๆ‚จๆ‡‰่ฉฒไฝฟ็”จๅ‹ๅฅฝ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จ๏ผˆAndroid๏ผŒiOS๏ผŒSDAๆˆ–WinAuth๏ผ‰ใ€‚


ๅœจๅฐŽๅ…ฅASF 2FAๅพŒ๏ผŒๆˆ‘ๅฏไปฅไฝฟ็”จๆˆ‘ๅŽŸๆœ‰็š„่บซไปฝ้ฉ—่ญ‰ๅ™จๅ—Ž๏ผŸ

ๆ˜ฏ็š„๏ผŒๆ‚จ็š„ๅŽŸๅง‹้ฉ—่ญ‰ๅ™จไป็„ถๅฏ็”จไธฆๅฏไปฅ่ˆ‡ASF 2FAไธ€่ตทไฝฟ็”จใ€‚ ้€™ๅฐฑๆ˜ฏๆ•ดๅ€‹้Ž็จ‹โ€”โ€”ๆˆ‘ๅ€‘ๅฐ‡ๆ‚จ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จๆ†‘ๆ“šๅฐŽๅ…ฅASF๏ผŒๅ› ๆญคASFๅฏไปฅไฝฟ็”จๅฎƒๅ€‘ไธฆไปฃ่กจๆ‚จๆŽฅๅ—้ธๅฎš็š„็ขบ่ชใ€‚


ASFๆตๅ‹•่บซไปฝ้ฉ—่ญ‰ๅ™จๅœจๅ“ช่ฃไฟๅญ˜๏ผŸ

ASFๆตๅ‹•้ฉ—่ญ‰ๅ™จไปฅๅŠ่ˆ‡็ตฆๅฎšๅธณๆˆถ็›ธ้—œ็š„ๅ…ถไป–้—œ้ตๆ•ธๆ“šไฟๅญ˜ๅœจ้…็ฝฎ็›ฎ้Œ„ไธญ็š„BotName.dbๆช”ๆกˆไธญใ€‚ ๅฆ‚ๆžœๆ‚จๆƒณ็งป้™คASF 2FA๏ผŒ่ซ‹้–ฑ่ฎ€ไปฅไธ‹ๅ…งๅฎนใ€‚


ๅฆ‚ไฝ•็งป้™คASF 2FA๏ผŸ

Simply stop ASF and remove associated BotName.db of the bot with linked ASF 2FA you want to remove. This option will remove associated imported 2FA with ASF, but will NOT delink your authenticator. If you instead want to delink your authenticator, apart from removing it from ASF (firstly), you should delink it in authenticator of your choice (Android, iOS, SDA or WinAuth), or - if you can't for some reason, use revocation code that you received during linking that authenticator, on the Steam website. It's not possible to unlink your authenticator through ASF, this is what general-purpose authenticator that you already have should be used for.


ๆˆ‘ๅฐ‡่บซไปฝ้ฉ—่ญ‰ๅ™จ้ˆๆŽฅๅˆฐSDA/WinAuth๏ผŒ็„ถๅพŒๅฐŽๅ…ฅๅˆฐASFใ€‚ ๆˆ‘็พๅœจๅฏไปฅๅ–ๆถˆ้ˆๆŽฅไธฆๅœจๆ‰‹ๆฉŸไธŠๅ†ๆฌก้ˆๆŽฅๅ—Ž๏ผŸ

ไธใ€‚ ASF ๅฐŽๅ…ฅๆ‚จ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จๆ•ธๆ“šไปฅไพฟไฝฟ็”จๅฎƒใ€‚ ๅฆ‚ไธŠๆ‰€่ฟฐ๏ผŒๅฆ‚ๆžœๆ‚จไฝฟ็”จ่บซไปฝ้ฉ—่ญ‰ๅ™จ๏ผŒ้‚ฃ้บผๆ‚จไนŸๆœƒๅฐŽ่‡ดASF 2FAๅœๆญข้‹่กŒ๏ผŒ็„ก่ซ–ๆ‚จๆ˜ฏๅฆ้ฆ–ๅ…ˆๅฐ‡ๅ…ถ็งป้™คใ€‚ ๅฆ‚ๆžœๆ‚จๆƒณๅœจๆ‰‹ๆฉŸๅ’ŒASFไธŠไฝฟ็”จ่บซไปฝ้ฉ—่ญ‰ๅ™จ๏ผˆๅŠ ไธŠSDA/WinAuthไธญ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จ๏ผ‰๏ผŒ้‚ฃ้บผๆ‚จ้œ€่ฆๅพžๆ‰‹ๆฉŸไธญๅฐŽๅ…ฅๆ‚จ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จ๏ผŒ่€Œไธๆ˜ฏๅœจSDA/WinAuthไธญๅ‰ตๅปบๆ–ฐ่บซไปฝ้ฉ—่ญ‰ๅ™จใ€‚ ๆ‚จๅช่ƒฝๆ“ๆœ‰ไธ€ๅ€‹้ˆๆŽฅ่บซไปฝ้ฉ—่ญ‰ๅ™จ๏ผŒ้€™ๅฐฑๆ˜ฏASF ๅฐŽๅ…ฅ่ฉฒ่บซไปฝ้ฉ—่ญ‰ๅ™จๅŠๅ…ถๆ•ธๆ“š็š„ๅŽŸๅ› ๏ผŒไปฅไพฟๅฐ‡ๅ…ถ็”จไฝœASF 2FAโ€”โ€”ๅฎƒ่ˆ‡ๅŽŸๆœฌ็š„่บซไปฝ้ฉ—่ญ‰ๅ™จ็›ธๅŒ๏ผŒๅชๆ˜ฏๅญ˜ๅœจๆ–ผๅ…ฉๅ€‹ๅœฐๆ–นใ€‚ If you decide to delink your mobile authenticator credentials - regardless in which way, ASF 2FA will stop working, as previously copied mobile authenticator credentials will no longer be valid. ๅฆ‚ไธŠๆ‰€่ฟฐ๏ผŒ่ฆๅœจๆ‰‹ๆฉŸไธŠๅฐ‡ASF 2FA่ˆ‡่บซไปฝ้ฉ—่ญ‰ๅ™จไธ€่ตทไฝฟ็”จ๏ผŒๆ‚จๅฟ…้ ˆๅฐ‡ๅ…ถๅพžAndroid/iOSๅฐŽๅ…ฅใ€‚


ไฝฟ็”จASF 2FAๆฏ”WinAuth/SDA/ๅ…ถไป–้ฉ—่ญ‰ๅ™จๆŽฅๅ—ๆ‰€ๆœ‰็ขบ่ชๆ›ดๅฅฝๅ—Ž๏ผŸ

ๆ˜ฏ็š„๏ผŒๆœ‰ๅนพๅ€‹ๅŽŸๅ› ใ€‚ First and most important one - using ASF 2FA significantly increases your security, as ASF 2FA module ensures that ASF will only accept automatically its own confirmations, so even if attacker does request a trade that is harmful, ASF 2FA will not accept such trade, as it was not generated by ASF. In addition to security part, using ASF 2FA also brings performance/optimization benefits, as ASF 2FA fetches and accepts confirmations immediately after they're generated, and only then, as opposed to inefficient polling for confirmations each X minutes done e.g. by SDA or WinAuth. In short, there is no reason to use third-party authenticator over ASF 2FA, if you plan on automating confirmations generated by ASF - that's exactly what ASF 2FA is for, and using it does not conflict with you confirming everything else in authenticator of your choice. We strongly recommend to use ASF 2FA for entire ASF activity - this is much more secure than any other solution.


้€ฒ้šŽ

ๅฆ‚ๆžœๆ‚จๆ˜ฏ้ซ˜็ดš็”จๆˆถ๏ผŒ้‚„ๅฏไปฅๆ‰‹ๅ‹•็”ŸๆˆmaFileใ€‚ ๅฎƒๆ‡‰ๆœ‰็š„**ๆœ‰ๆ•ˆJSON็ตๆง‹**ๅฆ‚ไธ‹๏ผš

{
  "shared_secret": "STRING",
  "identity_secret": "STRING",
  "device_id": "STRING"
}

device_idๅœจๅฐŽๅ…ฅๆœŸ้–“ๆ˜ฏๅฏ้ธ็š„๏ผŒไฝ†ๅฐๆ–ผASFๆ“ไฝœๆ˜ฏๅฟ…้œ€็š„โ€”โ€”ๅฆ‚ๆžœ็œ็•ฅๅฎƒ๏ผŒASFๅฐ‡ๅœจๅฐŽๅ…ฅๆœŸ้–“่ซ‹ๆฑ‚ๅฎƒใ€‚ ็•ถ็„ถ๏ผŒๆ‚จ้œ€่ฆๅฐ‡โ€œSTRINGโ€ๆ›ฟๆ›็‚บๆฏๅ€‹ๅญ—ๆฎตไธญ็š„ๆœ‰ๆ•ˆๅ…งๅฎนใ€‚

ๆจ™ๆบ–้ฉ—่ญ‰ๅ™จๆ•ธๆ“šๆœ‰ๆ›ดๅคšๅญ—ๆฎตโ€”โ€”ๅœจๅฐŽๅ…ฅๆœŸ้–“ๅฎƒๅ€‘ๅฎŒๅ…จ่ขซASFๅฟฝ็•ฅ๏ผŒๅ› ็‚บๅฎƒๅ€‘ไธๆ˜ฏๅฟ…้œ€็š„ใ€‚ You also don't have to remove them - ASF only requires valid JSON with 2 mandatory fields described above, and optionally also device_id.

Clone this wiki locally