Там не только authkeyКто знает как получить ключ авторизации в мобильном CRMP. Мб. кто знает как переадресовать. Чтобы вместо s30.grnd.gg:5125 заходило на 192.168.100.3:7777?
не удаляйте тему прошу
Ну а как это получить? Ибо эмулятор не работает. А как переадресовать IP на айндроеде я не знаюТам не только authkey
https://www.blast.hk/forums/194/ поизучай темыНу а как это получить? Ибо эмулятор не работает. А как переадресовать IP на айндроеде я не знаю
Когда был админом, заходил с обычной ПК сборки (С обычного сампа). grand_clientside.asi текстуры расшифровываеткроме ауткея там кастом пакет (вроде)
В сборке никакого обхода нет, тебе доступ дали игры с пкКогда был админом, заходил с обычной ПК сборки (С обычного сампа). grand_clientside.asi текстуры расшифровывает
Я нашел ключ авторизации, такжеВ сборке никакого обхода нет, тебе доступ дали игры с пк
[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
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]);
}
}
это jwt, причем вообще не полный, после него передаётся андроид айди и другие помои вроде версииeyJrZXkiOiJ2YWx1ZSJ9
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 запрос. И если не отправляют то кикает.это 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
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
я же говорю, там кастом пакет клиент шлёт, если тебя кидает и в чат пишется об этом, то клиентджоин ты обошелНе работает. Сам накидал скрипт и с ним заходит. Но есть проблема. Сервер или клиент должны отправить 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
Сервер шлет clientcheck RPC.я же говорю, там кастом пакет клиент шлёт, если тебя кидает и в чат пишется об этом, то клиентджоин ты обошел
через вайршарк посмотри, там какой-то кастом пакет гранд отправляетСервер шлет clientcheck RPC.
Может быть ты знаешь как на локальном сервере это симулировать? Ибо клиент может шлет кастомные данные?через вайршарк посмотри, там какой-то кастом пакет гранд отправляет
void __fastcall buildExtraData(
int a1,
int a2,
int a3,
char a4,
int a5,
int a6,
int a7,
int a8,
int a9,
int a10,
int a11,
int a12,
int a13,
int a14,
int a15,
int a16,
int a17,
int a18,
int a19,
int a20,
int a21,
int a22,
int a23,
int a24,
int a25,
int a26,
int a27,
int a28,
int a29,
int a30,
int a31,
int a32,
int a33,
int a34,
int a35,
int a36,
int a37,
int a38,
int a39,
int a40,
int a41,
int a42,
int a43,
unsigned int a44)
{
unsigned int v48; // r4
int v49; // r5
_DWORD *v50; // r7
unsigned int v51; // r3
*(_BYTE *)(v49 + a1) = a4;
*(_BYTE *)(a2 + 23) = v49;
STACK[0x3BC] = v48;
*(_WORD *)((char *)&dword_20 + *(unsigned __int8 *)(v48 + 28)) = (_WORD)v50 + 7;
STACK[0x1F4] = a44;
v51 = STACK[0x2A4];
if ( v49 - 7 < 0 )
__asm { POP {R1,R2,PC} }
__asm { STC p14, c12, [R3,#-0x27C] }
*v50 = 38;
v50[1] = v51;
v50[2] = v49 + 10;
STACK[0x3F8] = v51;
JUMPOUT(0x2F2D78);
}