Files
Client/rylCoder_16.02.2008_src/CMcfCoder.vb2
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

319 lines
15 KiB
Plaintext

Public Class CMcfCoder
#Region "Data"
Private Shared table()() As Byte = _
{ _
New Byte() {&HAC, &H29, &H55, &H42}, _
New Byte() {&HAD, &H28, &H54, &H43}, _
New Byte() {&HAE, &H2B, &H57, &H40}, _
New Byte() {&HAF, &H2A, &H56, &H41}, _
New Byte() {&HA8, &H2D, &H51, &H46}, _
New Byte() {&HA9, &H2C, &H50, &H47}, _
New Byte() {&HAA, &H2F, &H53, &H44}, _
New Byte() {&HAB, &H2E, &H52, &H45}, _
New Byte() {&HA4, &H21, &H5D, &H4A}, _
New Byte() {&HA5, &H20, &H5C, &H4B}, _
New Byte() {&HA6, &H23, &H5F, &H48}, _
New Byte() {&HA7, &H22, &H5E, &H49}, _
New Byte() {&HA0, &H25, &H59, &H4E}, _
New Byte() {&HA1, &H24, &H58, &H4F}, _
New Byte() {&HA2, &H27, &H5B, &H4C}, _
New Byte() {&HA3, &H26, &H5A, &H4D}, _
New Byte() {&HBC, &H39, &H45, &H52}, _
New Byte() {&HBD, &H38, &H44, &H53}, _
New Byte() {&HBE, &H3B, &H47, &H50}, _
New Byte() {&HBF, &H3A, &H46, &H51}, _
New Byte() {&HB8, &H3D, &H41, &H56}, _
New Byte() {&HB9, &H3C, &H40, &H57}, _
New Byte() {&HBA, &H3F, &H43, &H54}, _
New Byte() {&HBB, &H3E, &H42, &H55}, _
New Byte() {&HB4, &H31, &H4D, &H5A}, _
New Byte() {&HB5, &H30, &H4C, &H5B}, _
New Byte() {&HB6, &H33, &H4F, &H58}, _
New Byte() {&HB7, &H32, &H4E, &H59}, _
New Byte() {&HB0, &H35, &H49, &H5E}, _
New Byte() {&HB1, &H34, &H48, &H5F}, _
New Byte() {&HB2, &H37, &H4B, &H5C}, _
New Byte() {&HB3, &H36, &H4A, &H5D}, _
New Byte() {&H8C, &H9, &H75, &H62}, _
New Byte() {&H8D, &H8, &H74, &H63}, _
New Byte() {&H8E, &HB, &H77, &H60}, _
New Byte() {&H8F, &HA, &H76, &H61}, _
New Byte() {&H88, &HD, &H71, &H66}, _
New Byte() {&H89, &HC, &H70, &H67}, _
New Byte() {&H8A, &HF, &H73, &H64}, _
New Byte() {&H8B, &HE, &H72, &H65}, _
New Byte() {&H84, &H1, &H7D, &H6A}, _
New Byte() {&H85, &H0, &H7C, &H6B}, _
New Byte() {&H86, &H3, &H7F, &H68}, _
New Byte() {&H87, &H2, &H7E, &H69}, _
New Byte() {&H80, &H5, &H79, &H6E}, _
New Byte() {&H81, &H4, &H78, &H6F}, _
New Byte() {&H82, &H7, &H7B, &H6C}, _
New Byte() {&H83, &H6, &H7A, &H6D}, _
New Byte() {&H9C, &H19, &H65, &H72}, _
New Byte() {&H9D, &H18, &H64, &H73}, _
New Byte() {&H9E, &H1B, &H67, &H70}, _
New Byte() {&H9F, &H1A, &H66, &H71}, _
New Byte() {&H98, &H1D, &H61, &H76}, _
New Byte() {&H99, &H1C, &H60, &H77}, _
New Byte() {&H9A, &H1F, &H63, &H74}, _
New Byte() {&H9B, &H1E, &H62, &H75}, _
New Byte() {&H94, &H11, &H6D, &H7A}, _
New Byte() {&H95, &H10, &H6C, &H7B}, _
New Byte() {&H96, &H13, &H6F, &H78}, _
New Byte() {&H97, &H12, &H6E, &H79}, _
New Byte() {&H90, &H15, &H69, &H7E}, _
New Byte() {&H91, &H14, &H68, &H7F}, _
New Byte() {&H92, &H17, &H6B, &H7C}, _
New Byte() {&H93, &H16, &H6A, &H7D}, _
New Byte() {&HEC, &H69, &H15, &H2}, _
New Byte() {&HED, &H68, &H14, &H3}, _
New Byte() {&HEE, &H6B, &H17, &H0}, _
New Byte() {&HEF, &H6A, &H16, &H1}, _
New Byte() {&HE8, &H6D, &H11, &H6}, _
New Byte() {&HE9, &H6C, &H10, &H7}, _
New Byte() {&HEA, &H6F, &H13, &H4}, _
New Byte() {&HEB, &H6E, &H12, &H5}, _
New Byte() {&HE4, &H61, &H1D, &HA}, _
New Byte() {&HE5, &H60, &H1C, &HB}, _
New Byte() {&HE6, &H63, &H1F, &H8}, _
New Byte() {&HE7, &H62, &H1E, &H9}, _
New Byte() {&HE0, &H65, &H19, &HE}, _
New Byte() {&HE1, &H64, &H18, &HF}, _
New Byte() {&HE2, &H67, &H1B, &HC}, _
New Byte() {&HE3, &H66, &H1A, &HD}, _
New Byte() {&HFC, &H79, &H5, &H12}, _
New Byte() {&HFD, &H78, &H4, &H13}, _
New Byte() {&HFE, &H7B, &H7, &H10}, _
New Byte() {&HFF, &H7A, &H6, &H11}, _
New Byte() {&HF8, &H7D, &H1, &H16}, _
New Byte() {&HF9, &H7C, &H0, &H17}, _
New Byte() {&HFA, &H7F, &H3, &H14}, _
New Byte() {&HFB, &H7E, &H2, &H15}, _
New Byte() {&HF4, &H71, &HD, &H1A}, _
New Byte() {&HF5, &H70, &HC, &H1B}, _
New Byte() {&HF6, &H73, &HF, &H18}, _
New Byte() {&HF7, &H72, &HE, &H19}, _
New Byte() {&HF0, &H75, &H9, &H1E}, _
New Byte() {&HF1, &H74, &H8, &H1F}, _
New Byte() {&HF2, &H77, &HB, &H1C}, _
New Byte() {&HF3, &H76, &HA, &H1D}, _
New Byte() {&HCC, &H49, &H35, &H22}, _
New Byte() {&HCD, &H48, &H34, &H23}, _
New Byte() {&HCE, &H4B, &H37, &H20}, _
New Byte() {&HCF, &H4A, &H36, &H21}, _
New Byte() {&HC8, &H4D, &H31, &H26}, _
New Byte() {&HC9, &H4C, &H30, &H27}, _
New Byte() {&HCA, &H4F, &H33, &H24}, _
New Byte() {&HCB, &H4E, &H32, &H25}, _
New Byte() {&HC4, &H41, &H3D, &H2A}, _
New Byte() {&HC5, &H40, &H3C, &H2B}, _
New Byte() {&HC6, &H43, &H3F, &H28}, _
New Byte() {&HC7, &H42, &H3E, &H29}, _
New Byte() {&HC0, &H45, &H39, &H2E}, _
New Byte() {&HC1, &H44, &H38, &H2F}, _
New Byte() {&HC2, &H47, &H3B, &H2C}, _
New Byte() {&HC3, &H46, &H3A, &H2D}, _
New Byte() {&HDC, &H59, &H25, &H32}, _
New Byte() {&HDD, &H58, &H24, &H33}, _
New Byte() {&HDE, &H5B, &H27, &H30}, _
New Byte() {&HDF, &H5A, &H26, &H31}, _
New Byte() {&HD8, &H5D, &H21, &H36}, _
New Byte() {&HD9, &H5C, &H20, &H37}, _
New Byte() {&HDA, &H5F, &H23, &H34}, _
New Byte() {&HDB, &H5E, &H22, &H35}, _
New Byte() {&HD4, &H51, &H2D, &H3A}, _
New Byte() {&HD5, &H50, &H2C, &H3B}, _
New Byte() {&HD6, &H53, &H2F, &H38}, _
New Byte() {&HD7, &H52, &H2E, &H39}, _
New Byte() {&HD0, &H55, &H29, &H3E}, _
New Byte() {&HD1, &H54, &H28, &H3F}, _
New Byte() {&HD2, &H57, &H2B, &H3C}, _
New Byte() {&HD3, &H56, &H2A, &H3D}, _
New Byte() {&H2C, &HA9, &HD5, &HC2}, _
New Byte() {&H2D, &HA8, &HD4, &HC3}, _
New Byte() {&H2E, &HAB, &HD7, &HC0}, _
New Byte() {&H2F, &HAA, &HD6, &HC1}, _
New Byte() {&H28, &HAD, &HD1, &HC6}, _
New Byte() {&H29, &HAC, &HD0, &HC7}, _
New Byte() {&H2A, &HAF, &HD3, &HC4}, _
New Byte() {&H2B, &HAE, &HD2, &HC5}, _
New Byte() {&H24, &HA1, &HDD, &HCA}, _
New Byte() {&H25, &HA0, &HDC, &HCB}, _
New Byte() {&H26, &HA3, &HDF, &HC8}, _
New Byte() {&H27, &HA2, &HDE, &HC9}, _
New Byte() {&H20, &HA5, &HD9, &HCE}, _
New Byte() {&H21, &HA4, &HD8, &HCF}, _
New Byte() {&H22, &HA7, &HDB, &HCC}, _
New Byte() {&H23, &HA6, &HDA, &HCD}, _
New Byte() {&H3C, &HB9, &HC5, &HD2}, _
New Byte() {&H3D, &HB8, &HC4, &HD3}, _
New Byte() {&H3E, &HBB, &HC7, &HD0}, _
New Byte() {&H3F, &HBA, &HC6, &HD1}, _
New Byte() {&H38, &HBD, &HC1, &HD6}, _
New Byte() {&H39, &HBC, &HC0, &HD7}, _
New Byte() {&H3A, &HBF, &HC3, &HD4}, _
New Byte() {&H3B, &HBE, &HC2, &HD5}, _
New Byte() {&H34, &HB1, &HCD, &HDA}, _
New Byte() {&H35, &HB0, &HCC, &HDB}, _
New Byte() {&H36, &HB3, &HCF, &HD8}, _
New Byte() {&H37, &HB2, &HCE, &HD9}, _
New Byte() {&H30, &HB5, &HC9, &HDE}, _
New Byte() {&H31, &HB4, &HC8, &HDF}, _
New Byte() {&H32, &HB7, &HCB, &HDC}, _
New Byte() {&H33, &HB6, &HCA, &HDD}, _
New Byte() {&HC, &H89, &HF5, &HE2}, _
New Byte() {&HD, &H88, &HF4, &HE3}, _
New Byte() {&HE, &H8B, &HF7, &HE0}, _
New Byte() {&HF, &H8A, &HF6, &HE1}, _
New Byte() {&H8, &H8D, &HF1, &HE6}, _
New Byte() {&H9, &H8C, &HF0, &HE7}, _
New Byte() {&HA, &H8F, &HF3, &HE4}, _
New Byte() {&HB, &H8E, &HF2, &HE5}, _
New Byte() {&H4, &H81, &HFD, &HEA}, _
New Byte() {&H5, &H80, &HFC, &HEB}, _
New Byte() {&H6, &H83, &HFF, &HE8}, _
New Byte() {&H7, &H82, &HFE, &HE9}, _
New Byte() {&H0, &H85, &HF9, &HEE}, _
New Byte() {&H1, &H84, &HF8, &HEF}, _
New Byte() {&H2, &H87, &HFB, &HEC}, _
New Byte() {&H3, &H86, &HFA, &HED}, _
New Byte() {&H1C, &H99, &HE5, &HF2}, _
New Byte() {&H1D, &H98, &HE4, &HF3}, _
New Byte() {&H1E, &H9B, &HE7, &HF0}, _
New Byte() {&H1F, &H9A, &HE6, &HF1}, _
New Byte() {&H18, &H9D, &HE1, &HF6}, _
New Byte() {&H19, &H9C, &HE0, &HF7}, _
New Byte() {&H1A, &H9F, &HE3, &HF4}, _
New Byte() {&H1B, &H9E, &HE2, &HF5}, _
New Byte() {&H14, &H91, &HED, &HFA}, _
New Byte() {&H15, &H90, &HEC, &HFB}, _
New Byte() {&H16, &H93, &HEF, &HF8}, _
New Byte() {&H17, &H92, &HEE, &HF9}, _
New Byte() {&H10, &H95, &HE9, &HFE}, _
New Byte() {&H11, &H94, &HE8, &HFF}, _
New Byte() {&H12, &H97, &HEB, &HFC}, _
New Byte() {&H13, &H96, &HEA, &HFD}, _
New Byte() {&H6C, &HE9, &H95, &H82}, _
New Byte() {&H6D, &HE8, &H94, &H83}, _
New Byte() {&H6E, &HEB, &H97, &H80}, _
New Byte() {&H6F, &HEA, &H96, &H81}, _
New Byte() {&H68, &HED, &H91, &H86}, _
New Byte() {&H69, &HEC, &H90, &H87}, _
New Byte() {&H6A, &HEF, &H93, &H84}, _
New Byte() {&H6B, &HEE, &H92, &H85}, _
New Byte() {&H64, &HE1, &H9D, &H8A}, _
New Byte() {&H65, &HE0, &H9C, &H8B}, _
New Byte() {&H66, &HE3, &H9F, &H88}, _
New Byte() {&H67, &HE2, &H9E, &H89}, _
New Byte() {&H60, &HE5, &H99, &H8E}, _
New Byte() {&H61, &HE4, &H98, &H8F}, _
New Byte() {&H62, &HE7, &H9B, &H8C}, _
New Byte() {&H63, &HE6, &H9A, &H8D}, _
New Byte() {&H7C, &HF9, &H85, &H92}, _
New Byte() {&H7D, &HF8, &H84, &H93}, _
New Byte() {&H7E, &HFB, &H87, &H90}, _
New Byte() {&H7F, &HFA, &H86, &H91}, _
New Byte() {&H78, &HFD, &H81, &H96}, _
New Byte() {&H79, &HFC, &H80, &H97}, _
New Byte() {&H7A, &HFF, &H83, &H94}, _
New Byte() {&H7B, &HFE, &H82, &H95}, _
New Byte() {&H74, &HF1, &H8D, &H9A}, _
New Byte() {&H75, &HF0, &H8C, &H9B}, _
New Byte() {&H76, &HF3, &H8F, &H98}, _
New Byte() {&H77, &HF2, &H8E, &H99}, _
New Byte() {&H70, &HF5, &H89, &H9E}, _
New Byte() {&H71, &HF4, &H88, &H9F}, _
New Byte() {&H72, &HF7, &H8B, &H9C}, _
New Byte() {&H73, &HF6, &H8A, &H9D}, _
New Byte() {&H4C, &HC9, &HB5, &HA2}, _
New Byte() {&H4D, &HC8, &HB4, &HA3}, _
New Byte() {&H4E, &HCB, &HB7, &HA0}, _
New Byte() {&H4F, &HCA, &HB6, &HA1}, _
New Byte() {&H48, &HCD, &HB1, &HA6}, _
New Byte() {&H49, &HCC, &HB0, &HA7}, _
New Byte() {&H4A, &HCF, &HB3, &HA4}, _
New Byte() {&H4B, &HCE, &HB2, &HA5}, _
New Byte() {&H44, &HC1, &HBD, &HAA}, _
New Byte() {&H45, &HC0, &HBC, &HAB}, _
New Byte() {&H46, &HC3, &HBF, &HA8}, _
New Byte() {&H47, &HC2, &HBE, &HA9}, _
New Byte() {&H40, &HC5, &HB9, &HAE}, _
New Byte() {&H41, &HC4, &HB8, &HAF}, _
New Byte() {&H42, &HC7, &HBB, &HAC}, _
New Byte() {&H43, &HC6, &HBA, &HAD}, _
New Byte() {&H5C, &HD9, &HA5, &HB2}, _
New Byte() {&H5D, &HD8, &HA4, &HB3}, _
New Byte() {&H5E, &HDB, &HA7, &HB0}, _
New Byte() {&H5F, &HDA, &HA6, &HB1}, _
New Byte() {&H58, &HDD, &HA1, &HB6}, _
New Byte() {&H59, &HDC, &HA0, &HB7}, _
New Byte() {&H5A, &HDF, &HA3, &HB4}, _
New Byte() {&H5B, &HDE, &HA2, &HB5}, _
New Byte() {&H54, &HD1, &HAD, &HBA}, _
New Byte() {&H55, &HD0, &HAC, &HBB}, _
New Byte() {&H56, &HD3, &HAF, &HB8}, _
New Byte() {&H57, &HD2, &HAE, &HB9}, _
New Byte() {&H50, &HD5, &HA9, &HBE}, _
New Byte() {&H51, &HD4, &HA8, &HBF}, _
New Byte() {&H52, &HD7, &HAB, &HBC}, _
New Byte() {&H53, &HD6, &HAA, &HBD} _
}
#End Region
Public Enum Col
EFirstCol = 0
ESecondCol = 1
EThirdCol = 2
EForthCol = 3
End Enum
Public Shared Function DeCryptByte(ByVal num As Byte, Optional ByVal column As Col = Col.EFirstCol) As Byte
Dim i As Byte = 0
For Each t As Byte() In table
If Array.IndexOf(t, num) = column Then Return i
i += 1
Next
Debug.WriteLine("Error decrypting &H" & Hex(num) & " in column " & printCol(column))
Return 0
End Function
Public Shared Function EnCryptByte(ByVal num As Byte, Optional ByVal column As Col = Col.EFirstCol) As Byte
Return table(num)(column)
End Function
Public Shared Function DeCryptArea(ByRef data As Byte(), Optional ByVal startCol As Col = Col.EFirstCol) As Byte()
Dim out(data.Length) As Byte
Dim pos As Integer = startCol
Dim i As Long = 0
For Each b As Byte In data
out(i) = DeCryptByte(b, pos)
pos += 1
i += 1
If pos > 3 Then pos = 0
Next
Return out
End Function
Public Shared Function EnCryptArea(ByRef data As Byte(), Optional ByVal startCol As Col = Col.EFirstCol) As Byte()
Dim out(data.Length) As Byte
Dim pos As Integer = startCol
Dim i As Long = 0
For Each b As Byte In data
out(i) = EnCryptByte(b, pos)
pos += 1
i += 1
If pos > 3 Then pos = 0
Next
Return out
End Function
Private Shared Function printCol(ByVal column As Col) As Integer
Select Case column
Case Col.EFirstCol : Return 0
Case Col.ESecondCol : Return 1
Case Col.EThirdCol : Return 2
Case Col.EForthCol : Return 3
End Select
End Function
End Class