CR:MP Mobile Как получить AUTH KEY, Аут кей

Tringer

Новичок
Автор темы
13
4
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R2
  3. 0.3.7-R3
  4. CR-MP 0.3.7
  5. Любая
Кто знает как получить ключ авторизации в мобильном CRMP. Мб. кто знает как переадресовать. Чтобы вместо s30.grnd.gg:5125 заходило на 192.168.100.3:7777?

не удаляйте тему прошу
 

EKPAHHNY_HAGN6ATOP

Тот самый
325
108
Кто знает как получить ключ авторизации в мобильном CRMP. Мб. кто знает как переадресовать. Чтобы вместо s30.grnd.gg:5125 заходило на 192.168.100.3:7777?

не удаляйте тему прошу
Там не только authkey
 

IlyaFontonov

Активный
224
60
Когда был админом, заходил с обычной ПК сборки (С обычного сампа). grand_clientside.asi текстуры расшифровывает
В сборке никакого обхода нет, тебе доступ дали игры с пк
 
Последнее редактирование:

Tringer

Новичок
Автор темы
13
4
В сборке никакого обхода нет, тебе доступ дали игры с пк
Я нашел ключ авторизации, также

Сделал получения clientjoin и вот что получил (запускал через официальный лаунчер)
log:
[connection] incoming connection: 192.168.100.3:54768 id: 0
iVersion: 4057, byteMod: 1, byteNameLen: 13, NickName: Denis_Cozzens, uiClientChallengeResponse: 6857, byteAuthBSLen: 43, auth_bs: 149C15C7E69314B147D55069C245763C07DD8AB4429, iClientVerLen: 5, ClientVersion: 0.3.7
Byte 0: 167
Byte 1: 133
Byte 2: 147
Byte 3: 0
Byte 4: 0
Byte 5: 0
Byte 6: 101
Byte 7: 121
Byte 8: 74
Byte 9: 104
Byte 10: 98
Byte 11: 71
Byte 12: 99
Byte 13: 105
Byte 14: 79
Byte 15: 105
Byte 16: 74
Byte 17: 73
Byte 18: 85
Byte 19: 122
Byte 20: 73
Byte 21: 49
Byte 22: 78
Byte 23: 105
Byte 24: 73
Byte 25: 115
Byte 26: 73
Byte 27: 110
Byte 28: 82
Byte 29: 53
Byte 30: 99
Byte 31: 67
Byte 32: 73
Byte 33: 54
Byte 34: 73
Byte 35: 107
Byte 36: 112
Byte 37: 88
Byte 38: 86
Byte 39: 67
Byte 40: 74
Byte 41: 57
Byte 42: 46
Byte 43: 101
Byte 44: 121
Byte 45: 74
Byte 46: 112
Byte 47: 90
Byte 48: 67
Byte 49: 73
Byte 50: 54
Byte 51: 77
Byte 52: 106
Byte 53: 85
Byte 54: 119
Byte 55: 78
Byte 56: 68
Byte 57: 73
Byte 58: 120
Byte 59: 77
Byte 60: 84
Byte 61: 69
Byte 62: 115
Byte 63: 73
Byte 64: 109
Byte 65: 108
Byte 66: 104
Byte 67: 100
Byte 68: 67
Byte 69: 73
Byte 70: 54
Byte 71: 77
Byte 72: 84
Byte 73: 99
Byte 74: 48
Byte 75: 79
Byte 76: 68
Byte 77: 103
Byte 78: 119
Byte 79: 77
Byte 80: 106
Byte 81: 73
Byte 82: 53
Byte 83: 78
Byte 84: 67
Byte 85: 119
Byte 86: 105
Byte 87: 90
Byte 88: 88
Byte 89: 104
Byte 90: 119
Byte 91: 73
Byte 92: 106
Byte 93: 111
Byte 94: 120
Byte 95: 78
Byte 96: 122
Byte 97: 81
Byte 98: 52
Byte 99: 79
Byte 100: 68
Byte 101: 103
Byte 102: 52
Byte 103: 78
Byte 104: 106
Byte 105: 107
Byte 106: 48
Byte 107: 102
Byte 108: 81
Byte 109: 46
Byte 110: 76
Byte 111: 71
Byte 112: 90
Byte 113: 108
Byte 114: 77
Byte 115: 117
Byte 116: 106
Byte 117: 118
Byte 118: 104
Byte 119: 79
Byte 120: 73
Byte 121: 122
Byte 122: 120
Byte 123: 88
Byte 124: 114
Byte 125: 65
Byte 126: 78
Byte 127: 98
Byte 128: 89
Byte 129: 83
Byte 130: 113
Byte 131: 68
Byte 132: 52
Byte 133: 45
Byte 134: 106
Byte 135: 118
Byte 136: 98
Byte 137: 106
Byte 138: 116
Byte 139: 52
Byte 140: 66
Byte 141: 45
Byte 142: 85
Byte 143: 106
Byte 144: 108
Byte 145: 70
Byte 146: 52
Byte 147: 115
Byte 148: 82
Byte 149: 85
Byte 150: 73
Byte 151: 107
Byte 152: 77
Byte 153: 16
Byte 154: 0
Byte 155: 0
Byte 156: 0
Byte 157: 57
Byte 158: 56
Byte 159: 101
Byte 160: 99
Byte 161: 97
Byte 162: 54
Byte 163: 48
Byte 164: 101
Byte 165: 52
Byte 166: 99
Byte 167: 100
Byte 168: 48
Byte 169: 101
Byte 170: 50
Byte 171: 57
Byte 172: 49
Byte 173: 104
Byte 174: 16
Byte 175: 0
Byte 176: 0
Byte 177: 144
Byte 178: 8
Byte 179: 154
Byte 180: 25
Byte 181: 23
Byte 182: 24
Byte 183: 24
Byte 184: 22
Byte 185: 179
Byte 186: 185
Byte 187: 48
Byte 188: 183
Byte 189: 50
Byte 190: 22
Byte 191: 154
Byte 192: 25
Byte 193: 23
Byte 194: 24
Byte 195: 24

Вот код который я использовал:
code:
IRPC:25(playerid, BitStream:bs)
{
    new iVersion,
    byteMod,
    byteNameLen,
    NickName[24],
    uiClientChallengeResponse,
    byteAuthBSLen,
    auth_bs[4*16],
    iClientVerLen,
    ClientVersion[30],
    unread_bits,
    unread_bytes,
    int8_values[256];

    BS_ReadValue(bs,
        PR_INT32, iVersion,
        PR_UINT8, byteMod,
        PR_UINT8, byteNameLen,
        PR_STRING, NickName, byteNameLen,
        PR_UINT32, uiClientChallengeResponse,
        PR_UINT8, byteAuthBSLen,
        PR_STRING, auth_bs, byteAuthBSLen,
        PR_UINT8, iClientVerLen,
        PR_STRING, ClientVersion, iClientVerLen
    );

    printf("iVersion: %d, byteMod: %d, byteNameLen: %d, NickName: %s, uiClientChallengeResponse: %d, byteAuthBSLen: %d, auth_bs: %s, iClientVerLen: %d, ClientVersion: %s",
           iVersion, byteMod, byteNameLen, NickName, uiClientChallengeResponse, byteAuthBSLen, auth_bs, iClientVerLen, ClientVersion);

    BS_GetNumberOfUnreadBits(bs, unread_bits);
    unread_bytes = unread_bits / 8;

    for (new i = 0; i < unread_bytes; i++) {
        BS_ReadValue(bs, PR_UINT8, int8_values[i]);
    }

    for (new i = 0; i < unread_bytes; i++) {
        printf("Byte %d: %d", i, int8_values[i]);
    }
}
Расшифровал это как Base64 и получил следующее: {"key":"value"}
Вот что я использовал: eyJrZXkiOiJ2YWx1ZSJ9 (В 16-чной системе)
 
Последнее редактирование:

Substanz

Новичок
6
0
это jwt, причем вообще не полный, после него передаётся андроид айди и другие помои вроде версии

govno:
local bytes = {0x90, 0x08, 0x9A, 0x19, 0x17, 0x18, 0x18, 0x16, 0xB3, 0xB9, 0x30, 0xB7, 0x32, 0x16, 0x9A, 0x19, 0x17, 0x18, 0x18}

function sampev.onSendClientJoin(version, mod, nickname, challengeResponse, joinAuthKey, clientVer, unknown)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt32(bs, 0xFD9)
    raknetBitStreamWriteInt8(bs, 1)
    raknetBitStreamWriteInt8(bs, nickname:len())
    raknetBitStreamWriteString(bs, nickname)
    raknetBitStreamWriteInt32(bs, challengeResponse)
    raknetBitStreamWriteInt8(bs, 43)
    raknetBitStreamWriteString(bs, '149C15C7E69314B147D55069C245763C07DD8AB4429')
    raknetBitStreamWriteInt8(bs, 5)
    raknetBitStreamWriteString(bs, '0.3.7')

    -- new
    raknetBitStreamWriteInt16(bs, 34215) -- grand const
    raknetBitStreamWriteInt32(bs, 147) -- jwt len
    raknetBitStreamWriteString(bs, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjUwNDIxMTEsImlhdCI6MTc0ODgwMjI5NCwiZXhwIjoxNzQ4ODg4Njk0fQ.LGZlMujvhOIzxXrANbYSqD4-jvbjt4B-UjlF4sRUIkM')
    raknetBitStreamWriteInt32(bs, 16) -- android id len
    raknetBitStreamWriteString(bs, '98eca60e4cd0e291') -- android id
    raknetBitStreamWriteInt32(bs, 4200) -- version?

    -- xyita???
    for i = 1, 19 do
        raknetBitStreamWriteInt8(bs, bytes[i])
    end


    raknetSendRpcEx(25, bs, 1, 8, 0, false)
    raknetDeleteBitStream(bs)
    return false
end
 
Последнее редактирование:

Tringer

Новичок
Автор темы
13
4
это jwt, причем вообще не полный, после него передаётся андроид айди и другие помои вроде версии

govno:
local bytes = {0x90, 0x08, 0x9A, 0x19, 0x17, 0x18, 0x18, 0x16, 0xB3, 0xB9, 0x30, 0xB7, 0x32, 0x16, 0x9A, 0x19, 0x17, 0x18, 0x18}

function sampev.onSendClientJoin(version, mod, nickname, challengeResponse, joinAuthKey, clientVer, unknown)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt32(bs, 0xFD9)
    raknetBitStreamWriteInt8(bs, 1)
    raknetBitStreamWriteInt8(bs, nickname:len())
    raknetBitStreamWriteString(bs, nickname)
    raknetBitStreamWriteInt32(bs, challengeResponse)
    raknetBitStreamWriteInt8(bs, 43)
    raknetBitStreamWriteString(bs, '149C15C7E69314B147D55069C245763C07DD8AB4429')
    raknetBitStreamWriteInt8(bs, 5)
    raknetBitStreamWriteString(bs, '0.3.7')

    -- new
    raknetBitStreamWriteInt16(bs, 34215) -- grand const
    raknetBitStreamWriteInt32(bs, 147) -- jwt len
    raknetBitStreamWriteString(bs, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjUwNDIxMTEsImlhdCI6MTc0ODgwMjI5NCwiZXhwIjoxNzQ4ODg4Njk0fQ.LGZlMujvhOIzxXrANbYSqD4-jvbjt4B-UjlF4sRUIkM')
    raknetBitStreamWriteInt32(bs, 16) -- android id len
    raknetBitStreamWriteString(bs, '98eca60e4cd0e291') -- android id
    raknetBitStreamWriteInt32(bs, 4200) -- version?

    -- xyita???
    for i = 1, 19 do
        raknetBitStreamWriteInt8(bs, bytes[i])
    end


    raknetSendRpcEx(25, bs, 1, 8, 0, false)
    raknetDeleteBitStream(bs)
    return false
end
Не работает. Сам накидал скрипт и с ним заходит. Но есть проблема. Сервер или клиент должны отправить RPC запрос. И если не отправляют то кикает.

lua:
local sampev = require('lib.samp.events')

local authkey = "149C15C7E69314B147D55069C245763C07DD8AB4429"

local extraBytes = {
    167,133,147,0,0,0,101,121,74,104,98,71,99,105,79,105,74,73,85,122,
    73,49,78,105,73,115,73,110,82,53,99,67,73,54,73,107,112,88,86,67,
    74,57,46,101,121,74,112,90,67,73,54,77,106,85,119,78,68,73,120,77,
    84,69,115,73,109,108,104,100,67,73,54,77,84,99,48,79,68,103,119,77,
    106,73,53,78,67,119,105,90,88,104,119,73,106,111,120,78,122,81,52,79,
    68,103,52,78,106,107,48,102,81,46,76,71,90,108,77,117,106,118,104,79,
    73,122,120,88,114,65,78,98,89,83,113,68,52,45,106,118,98,106,116,52,
    66,45,85,106,108,70,52,115,82,85,73,107,77,16,0,0,0,57,56,101,99,
    97,54,48,101,52,99,100,48,101,50,57,49,104,16,0,0,144,8,154,25,23,
    24,24,22,179,185,48,183,50,22,154,25,23,24,24
}

function main()
    while not isSampAvailable() do wait(0) end
    sampAddChatMessage('{FF00FF}Обход Grand Mobile загружен. Возрадуйтесь!', -1)
    while true do
        wait(0)
    end
end

function sampev.onSendClientJoin(version, mod, nickname, challengeResponse, joinAuthKey, clientVer, challengeResponse2)
    ClientJoin(nickname, challengeResponse, authkey)
    return false
end

function ClientJoin(nickname, challengeResponse, authkey)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt32(bs, 4057)                -- version
    raknetBitStreamWriteInt8(bs, 1)                    -- byteMod
    raknetBitStreamWriteInt8(bs, #nickname)            -- byteNameLen
    raknetBitStreamWriteString(bs, nickname)           -- nickname
    raknetBitStreamWriteInt32(bs, challengeResponse)   -- uiClientChallengeResponse
    raknetBitStreamWriteInt8(bs, #authkey)             -- byteAuthBSLen
    raknetBitStreamWriteString(bs, authkey)            -- auth_bs
    raknetBitStreamWriteInt8(bs, #'0.3.7')             -- iClientVerLen
    raknetBitStreamWriteString(bs, '0.3.7')            -- clientVer

    -- Записываем дополнительные байты
    for i = 1, #extraBytes do
        raknetBitStreamWriteInt8(bs, extraBytes[i])
    end

    raknetSendRpc(25, bs)
    printStringNow('~b~Bypassed', 3000)
end
 

Substanz

Новичок
6
0
Не работает. Сам накидал скрипт и с ним заходит. Но есть проблема. Сервер или клиент должны отправить RPC запрос. И если не отправляют то кикает.

lua:
local sampev = require('lib.samp.events')

local authkey = "149C15C7E69314B147D55069C245763C07DD8AB4429"

local extraBytes = {
    167,133,147,0,0,0,101,121,74,104,98,71,99,105,79,105,74,73,85,122,
    73,49,78,105,73,115,73,110,82,53,99,67,73,54,73,107,112,88,86,67,
    74,57,46,101,121,74,112,90,67,73,54,77,106,85,119,78,68,73,120,77,
    84,69,115,73,109,108,104,100,67,73,54,77,84,99,48,79,68,103,119,77,
    106,73,53,78,67,119,105,90,88,104,119,73,106,111,120,78,122,81,52,79,
    68,103,52,78,106,107,48,102,81,46,76,71,90,108,77,117,106,118,104,79,
    73,122,120,88,114,65,78,98,89,83,113,68,52,45,106,118,98,106,116,52,
    66,45,85,106,108,70,52,115,82,85,73,107,77,16,0,0,0,57,56,101,99,
    97,54,48,101,52,99,100,48,101,50,57,49,104,16,0,0,144,8,154,25,23,
    24,24,22,179,185,48,183,50,22,154,25,23,24,24
}

function main()
    while not isSampAvailable() do wait(0) end
    sampAddChatMessage('{FF00FF}Обход Grand Mobile загружен. Возрадуйтесь!', -1)
    while true do
        wait(0)
    end
end

function sampev.onSendClientJoin(version, mod, nickname, challengeResponse, joinAuthKey, clientVer, challengeResponse2)
    ClientJoin(nickname, challengeResponse, authkey)
    return false
end

function ClientJoin(nickname, challengeResponse, authkey)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt32(bs, 4057)                -- version
    raknetBitStreamWriteInt8(bs, 1)                    -- byteMod
    raknetBitStreamWriteInt8(bs, #nickname)            -- byteNameLen
    raknetBitStreamWriteString(bs, nickname)           -- nickname
    raknetBitStreamWriteInt32(bs, challengeResponse)   -- uiClientChallengeResponse
    raknetBitStreamWriteInt8(bs, #authkey)             -- byteAuthBSLen
    raknetBitStreamWriteString(bs, authkey)            -- auth_bs
    raknetBitStreamWriteInt8(bs, #'0.3.7')             -- iClientVerLen
    raknetBitStreamWriteString(bs, '0.3.7')            -- clientVer

    -- Записываем дополнительные байты
    for i = 1, #extraBytes do
        raknetBitStreamWriteInt8(bs, extraBytes[i])
    end

    raknetSendRpc(25, bs)
    printStringNow('~b~Bypassed', 3000)
end
я же говорю, там кастом пакет клиент шлёт, если тебя кидает и в чат пишется об этом, то клиентджоин ты обошел
 

Tringer

Новичок
Автор темы
13
4
через вайршарк посмотри, там какой-то кастом пакет гранд отправляет
Может быть ты знаешь как на локальном сервере это симулировать? Ибо клиент может шлет кастомные данные?
 

Вложения

  • photo_2025-06-02_20-16-45.jpg
    photo_2025-06-02_20-16-45.jpg
    60.5 KB · Просмотры: 27
  • photo_2025-06-02_20-15-40.jpg
    photo_2025-06-02_20-15-40.jpg
    23.3 KB · Просмотры: 28