for some reason SEND_PLEXT no longer munges it's parameters - but everything else does still!

no idea if it's permanant, or an accident - so we'll handle either munged or unmunged parameters now
This commit is contained in:
Jon Atkins 2014-05-10 00:36:44 +01:00
parent d7207137ab
commit 8b7d031208
2 changed files with 26 additions and 18 deletions

View File

@ -79,7 +79,7 @@ window.chat.genPostData = function(isFaction, storageHash, getOlderMsgs) {
maxLngE6: Math.round(ne.lng*1E6), maxLngE6: Math.round(ne.lng*1E6),
minTimestampMs: -1, minTimestampMs: -1,
maxTimestampMs: -1, maxTimestampMs: -1,
chatTab: isFaction ? 'faction' : 'all' chatTabGet: isFaction ? 'faction' : 'all'
} }
if(getOlderMsgs) { if(getOlderMsgs) {
@ -689,10 +689,10 @@ window.chat.postMsg = function() {
var publik = c === 'public'; var publik = c === 'public';
var latlng = map.getCenter(); var latlng = map.getCenter();
var data = {message: msg, var data = {messageSendPlext: msg,
latE6: Math.round(latlng.lat*1E6), latE6SendPlext: Math.round(latlng.lat*1E6),
lngE6: Math.round(latlng.lng*1E6), lngE6SendPlext: Math.round(latlng.lng*1E6),
chatTab: publik ? 'all' : 'faction'}; chatTabSendPlext: publik ? 'all' : 'faction'};
var errMsg = 'Your message could not be delivered. You can copy&' + var errMsg = 'Your message could not be delivered. You can copy&' +
'paste it here and try again if you want:\n\n' + msg; 'paste it here and try again if you want:\n\n' + msg;

View File

@ -84,8 +84,8 @@ function extractMungeFromStock() {
foundMunges['dashboard.getPaginatedPlexts'] = nemesis.dashboard.requests.MethodName.GET_PAGINATED_PLEXTS.toString(); foundMunges['dashboard.getPaginatedPlexts'] = nemesis.dashboard.requests.MethodName.GET_PAGINATED_PLEXTS.toString();
foundMunges['dashboard.getThinnedEntities'] = nemesis.dashboard.requests.MethodName.GET_THINNED_ENTITIES.toString(); foundMunges['dashboard.getThinnedEntities'] = nemesis.dashboard.requests.MethodName.GET_THINNED_ENTITIES.toString();
foundMunges['dashboard.getPortalDetails'] = nemesis.dashboard.requests.MethodName.GET_PORTAL_DETAILS.toString(); foundMunges['dashboard.getPortalDetails'] = nemesis.dashboard.requests.MethodName.GET_PORTAL_DETAILS.toString();
foundMunges['dashboard.redeemReward'] = nemesis.dashboard.requests.MethodName.REDEEM_REWARD.toString(); // foundMunges['dashboard.redeemReward'] = nemesis.dashboard.requests.MethodName.REDEEM_REWARD.toString();
foundMunges['dashboard.sendInviteEmail'] = nemesis.dashboard.requests.MethodName.SEND_INVITE_EMAIL.toString(); // foundMunges['dashboard.sendInviteEmail'] = nemesis.dashboard.requests.MethodName.SEND_INVITE_EMAIL.toString();
foundMunges['dashboard.sendPlext'] = nemesis.dashboard.requests.MethodName.SEND_PLEXT.toString(); foundMunges['dashboard.sendPlext'] = nemesis.dashboard.requests.MethodName.SEND_PLEXT.toString();
// the rest are trickier - we need to parse the functions of the stock site. these break very often // the rest are trickier - we need to parse the functions of the stock site. these break very often
@ -96,6 +96,9 @@ function extractMungeFromStock() {
// and one to match members of object literal initialisation - {abcdef123456wxyz: or {"123456abcdefwxyz": // and one to match members of object literal initialisation - {abcdef123456wxyz: or {"123456abcdefwxyz":
var mungeRegExpLit = '(?:([a-z][a-z0-9]{15})|"([0-9][a-z0-9]{15})"):'; var mungeRegExpLit = '(?:([a-z][a-z0-9]{15})|"([0-9][a-z0-9]{15})"):';
// some cases don't munge now?!?! odd!
var mungeRegExpLitOrUnmunged = '(?:((?:[a-z][a-z0-9]{15})|message|latE6|lngE6|tab)|"([0-9][a-z0-9]{15})"):';
// common parameters - method, version, version_parameter - currently found in the // common parameters - method, version, version_parameter - currently found in the
// nemesis.dashboard.network.XhrController.prototype.doSendRequest_ function // nemesis.dashboard.network.XhrController.prototype.doSendRequest_ function
// look for something like // look for something like
@ -110,7 +113,8 @@ function extractMungeFromStock() {
foundMunges.version_parameter = result[5]; foundMunges.version_parameter = result[5];
// GET_THINNED_ENTITIES parameters // GET_THINNED_ENTITIES parameters
var reg = new RegExp('GET_THINNED_ENTITIES, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'[a-z]'); var reg = new RegExp('GET_THINNED_ENTITIES, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'
+mungeRegExpLit+'[a-z]');
var result = reg.exec(nemesis.dashboard.network.DataFetcher.prototype.getGameEntities.toString()); var result = reg.exec(nemesis.dashboard.network.DataFetcher.prototype.getGameEntities.toString());
foundMunges.quadKeys = result[1] || result[2]; foundMunges.quadKeys = result[1] || result[2];
@ -134,27 +138,31 @@ function extractMungeFromStock() {
foundMunges.maxLngE6 = result[9] || result[10]; foundMunges.maxLngE6 = result[9] || result[10];
foundMunges.minTimestampMs = result[11] || result[12]; foundMunges.minTimestampMs = result[11] || result[12];
foundMunges.maxTimestampMs = result[13] || result[14]; foundMunges.maxTimestampMs = result[13] || result[14];
foundMunges.chatTab = result[15] || result[16]; //guessed parameter name - only seen munged foundMunges.chatTabGet = result[15] || result[16]; //guessed parameter name - only seen munged
foundMunges.ascendingTimestampOrder = result[17] || result[18]; foundMunges.ascendingTimestampOrder = result[17] || result[18];
// SEND_PLEXT // SEND_PLEXT
var reg = new RegExp('SEND_PLEXT, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'[a-z], '+mungeRegExpLit+'[a-z], '+mungeRegExpLit+'[a-z], '+mungeRegExpLit+'[a-z]}'); var reg = new RegExp('SEND_PLEXT, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'
+mungeRegExpLitOrUnmunged+'[a-z], '
+mungeRegExpLitOrUnmunged+'[a-z], '
+mungeRegExpLitOrUnmunged+'[a-z], '
+mungeRegExpLitOrUnmunged+'[a-z]}');
var result = reg.exec(nemesis.dashboard.network.PlextStore.prototype.sendPlext.toString()); var result = reg.exec(nemesis.dashboard.network.PlextStore.prototype.sendPlext.toString());
foundMunges.message = result[1] || result[2]; foundMunges.messageSendPlext = result[1] || result[2];
foundMunges.latE6 = result[3] || result[4]; foundMunges.latE6SendPlext = result[3] || result[4];
foundMunges.lngE6 = result[5] || result[6]; foundMunges.lngE6SendPlext = result[5] || result[6];
var chatTab = result[7] || result[8]; foundMunges.chatTabSendPlext = result[7] || result[8];
if (chatTab != foundMunges.chatTab) throw 'Error: inconsistent munge parsing for chatTab'; // if (chatTab != foundMunges.chatTab) throw 'Error: inconsistent munge parsing for chatTab';
// GET_PORTAL_DETAILS // GET_PORTAL_DETAILS
var reg = new RegExp('GET_PORTAL_DETAILS, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'a}'); var reg = new RegExp('GET_PORTAL_DETAILS, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'a}');
var result = reg.exec(nemesis.dashboard.network.DataFetcher.prototype.getPortalDetails.toString()); var result = reg.exec(nemesis.dashboard.network.DataFetcher.prototype.getPortalDetails.toString());
foundMunges.guid = result[1] || result[2]; foundMunges.guid = result[1] || result[2];
// SEND_INVITE_EMAIL // // SEND_INVITE_EMAIL
var reg = new RegExp('SEND_INVITE_EMAIL, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'b}'); // var reg = new RegExp('SEND_INVITE_EMAIL, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'b}');
foundMunges.inviteeEmailAddress = result[1] || result[2]; // foundMunges.inviteeEmailAddress = result[1] || result[2];
return foundMunges; return foundMunges;
} catch(e) { } catch(e) {