Перейти к содержанию

Подскажите стать по взлому игр JS


2zolo2

Рекомендуемые сообщения

Есть браузерная игра Хроники хаоса в вк. На JS.

Из неё хочу получить информация по составам клана, эту информацию нашел она приходит в JSON.

И у меня стоит цель как быстро пройтись по приблизительно 100 кланам и собрать эти данные?

Не подскажите статьй или видео по взлому игр на JS?

P.S Пробовал через Charles изменять значения но игра перегружается.

P.S0 Пробовал менять в параметре league, 1 на 2.
P.S1 {"calls":[{"name":"clanWarGetLeagueTop","args":{"league":1,"current":true},"ident":"body"}]}

Ссылка на комментарий
Поделиться на другие сайты

1. Берешь токен авторизации.

2. Анализируешь запросы, которые клиент шлет на сервер.

3. Находишь запрос, который получает инфу по клану

4. Составляешь список кланов интересующих тебя

5. В цикле проходишь по списку кланов, отправляя для каждого запрос, найденный на третьем шаге

6. PROFIT!!!

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Xipho сказал:

отправляя для каждого запрос

здесь и загвоздка, не знаю как отправить запрос, он отправляет запросы через XMLHttpRequest.

Искал инфу но не чего не нашел.

 

13 минут назад, Xipho сказал:

Находишь запрос, который получает инфу по клану

уже нашел

Список кланов:

Цитата

{"calls":[{"name":"clanWarGetLeagueTop","args":{"league":1,"current":true},"ident":"body"}]}

 

Список состава клана:

Цитата

{"calls":[{"name":"clanGetInfo","args":{"clanId":82797},"ident":"body"}]}

 

Ссылка на комментарий
Поделиться на другие сайты

В 19.07.2021 в 20:24, 2zolo2 сказал:

видео по взлому

Помочь может кто и поможет, но сомневаюсь что кто то урок поэтому выложит. Ютуб цацкатся не будет. если разрабы пожалуются на такой контент. Ведь это взлом не просто игры. А онлайн. Разраб пожаловался, канал получил страйк. А мы на форуме каналами дорожим. Вот у меня лайков на канале мало, подписчиков всего пять, но я знаю что если получу страйк, все видосы что я на форуме выложил, станут не доступны. Зачем мне это? Я лучше если что знаю словами на форуме напишу.

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Pitronic сказал:

Я лучше если что знаю словами на форуме напишу.

Ну напиши если знаешь, если не знаешь то зачем флудить?

 

4 минуты назад, Pitronic сказал:

Помочь может кто и поможет, но сомневаюсь что кто то урок поэтому выложит. Ютуб цацкатся не будет. если разрабы пожалуются на такой контент.

А зачем на ютуб, можно просто снять видео и скинуть в лс  чтоб человек скачал себе, и потом удалить или написать статью?

 

13 минут назад, Pitronic сказал:

Ведь это взлом не просто игры. А онлайн.

Ну это не взлом а получения данных, проще парсинг нужных данных.

И эти данные игра сама предоставляет.

Ссылка на комментарий
Поделиться на другие сайты

15 часов назад, 2zolo2 сказал:

отправляет запросы через XMLHttpRequest.

Искал инфу но не чего не нашел

Плохо искал, или не искал вовсе. Это стандартный AJAX запрос, который в современном браузере легко отправить через встроенное Fetch API.

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Xipho сказал:

Плохо искал

или не по немал как сделать.

 

Кто хорошо знает JS, помогите дописать  проход по спискам  чтоб было удобно получать инфу, а то не получается.

Спойлер

var MD5=function(d){d=unescape(encodeURIComponent(d));result=M(V(Y(X(d),8*d.length)));return result.toLowerCase()};function M(d){for(var _,m="0123456789ABCDEF",f="",r=0;r<d.length;r++)_=d.charCodeAt(r),f+=m.charAt(_>>>4&15)+m.charAt(15&_);return f}function X(d){for(var _=Array(d.length>>2),m=0;m<_.length;m++)_[m]=0;for(m=0;m<8*d.length;m+=8)_[m>>5]|=(255&d.charCodeAt(m/8))<<m%32;return _}function V(d){for(var _="",m=0;m<32*d.length;m+=8)_+=String.fromCharCode(d[m>>5]>>>m%32&255);return _}function Y(d,_){d[_>>5]|=128<<_%32,d[14+(_+64>>>9<<4)]=_;for(var m=1732584193,f=-271733879,r=-1732584194,i=271733878,n=0;n<d.length;n+=16){var h=m,t=f,g=r,e=i;f=md5_ii(f=md5_ii(f=md5_ii(f=md5_ii(f=md5_hh(f=md5_hh(f=md5_hh(f=md5_hh(f=md5_gg(f=md5_gg(f=md5_gg(f=md5_gg(f=md5_ff(f=md5_ff(f=md5_ff(f=md5_ff(f,r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+0],7,-680876936),f,r,d[n+1],12,-389564586),m,f,d[n+2],17,606105819),i,m,d[n+3],22,-1044525330),r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+4],7,-176418897),f,r,d[n+5],12,1200080426),m,f,d[n+6],17,-1473231341),i,m,d[n+7],22,-45705983),r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+8],7,1770035416),f,r,d[n+9],12,-1958414417),m,f,d[n+10],17,-42063),i,m,d[n+11],22,-1990404162),r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+12],7,1804603682),f,r,d[n+13],12,-40341101),m,f,d[n+14],17,-1502002290),i,m,d[n+15],22,1236535329),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+1],5,-165796510),f,r,d[n+6],9,-1069501632),m,f,d[n+11],14,643717713),i,m,d[n+0],20,-373897302),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+5],5,-701558691),f,r,d[n+10],9,38016083),m,f,d[n+15],14,-660478335),i,m,d[n+4],20,-405537848),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+9],5,568446438),f,r,d[n+14],9,-1019803690),m,f,d[n+3],14,-187363961),i,m,d[n+8],20,1163531501),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+13],5,-1444681467),f,r,d[n+2],9,-51403784),m,f,d[n+7],14,1735328473),i,m,d[n+12],20,-1926607734),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+5],4,-378558),f,r,d[n+8],11,-2022574463),m,f,d[n+11],16,1839030562),i,m,d[n+14],23,-35309556),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+1],4,-1530992060),f,r,d[n+4],11,1272893353),m,f,d[n+7],16,-155497632),i,m,d[n+10],23,-1094730640),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+13],4,681279174),f,r,d[n+0],11,-358537222),m,f,d[n+3],16,-722521979),i,m,d[n+6],23,76029189),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+9],4,-640364487),f,r,d[n+12],11,-421815835),m,f,d[n+15],16,530742520),i,m,d[n+2],23,-995338651),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+0],6,-198630844),f,r,d[n+7],10,1126891415),m,f,d[n+14],15,-1416354905),i,m,d[n+5],21,-57434055),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+12],6,1700485571),f,r,d[n+3],10,-1894986606),m,f,d[n+10],15,-1051523),i,m,d[n+1],21,-2054922799),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+8],6,1873313359),f,r,d[n+15],10,-30611744),m,f,d[n+6],15,-1560198380),i,m,d[n+13],21,1309151649),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+4],6,-145523070),f,r,d[n+11],10,-1120210379),m,f,d[n+2],15,718787259),i,m,d[n+9],21,-343485551),m=safe_add(m,h),f=safe_add(f,t),r=safe_add(r,g),i=safe_add(i,e)}return Array(m,f,r,i)}function md5_cmn(d,_,m,f,r,i){return safe_add(bit_rol(safe_add(safe_add(_,d),safe_add(f,i)),r),m)}function md5_ff(d,_,m,f,r,i,n){return md5_cmn(_&m|~_&f,d,_,r,i,n)}function md5_gg(d,_,m,f,r,i,n){return md5_cmn(_&f|m&~f,d,_,r,i,n)}function md5_hh(d,_,m,f,r,i,n){return md5_cmn(_^m^f,d,_,r,i,n)}function md5_ii(d,_,m,f,r,i,n){return md5_cmn(m^(_|~f),d,_,r,i,n)}function safe_add(d,_){var m=(65535&d)+(65535&_);return(d>>16)+(_>>16)+(m>>16)<<16|65535&m}function bit_rol(d,_){return d<<_|d>>>32-_}

var X_RequestId = 0;
var XAuth_Token = '';
var XAuth_SessionId = '';
var XAuth_UserId = 0;
var XAuth_PlayerId = 0;

var data_JSON = '{"calls":[{"name":"clanGetInfo","args":{"clanId":82797},"ident":"body"}]}';

var xmlhttp = new XMLHttpRequest();   
var theUrl = "https://heroes-vk.nextersglobal.com/api/";
xmlhttp.open("POST", theUrl);
;xmlhttp.withCredentials = true;
xmlhttp.responseType = 'arraybuffer';

xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xmlhttp.setRequestHeader("X-Request-Id", X_RequestId);
xmlhttp.setRequestHeader("X-Auth-Network-Ident", "vkontakte");
xmlhttp.setRequestHeader("X-Auth-Application-Id", "5327745");
xmlhttp.setRequestHeader("X-Auth-Session-Id", XAuth_SessionId);
xmlhttp.setRequestHeader("X-Auth-User-Id", XAuth_UserId);
xmlhttp.setRequestHeader("X-Auth-Player-Id", XAuth_PlayerId);
xmlhttp.setRequestHeader("X-Auth-Session-Key", "");
xmlhttp.setRequestHeader("X-Env-Library-Version", "1");
xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xmlhttp.setRequestHeader("X-Server-Time", "0");

var XAuth_Signature = MD5(X_RequestId+":"+XAuth_Token+":"+XAuth_SessionId+":"+data_JSON+':LIBRARY-VERSION=1')

xmlhttp.setRequestHeader("X-Auth-Signature", XAuth_Signature);
xmlhttp.setRequestHeader("X-Auth-Token", XAuth_Token);

xmlhttp.send(data_JSON);

 

 

Ссылка на комментарий
Поделиться на другие сайты

23 часа назад, 2zolo2 сказал:

помогите дописать  проход по спискам

В твоем коде нет прохода по спискам. Есть только подготовка AJAX запроса, и его отправка. Причем код ты явно взял с интернетов, не попытавшись в нем разобраться. Я же сказал, используй Fetch API, оно проще. И уже ответ обрабатывай в цикле.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.