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),
minTimestampMs: -1,
maxTimestampMs: -1,
chatTab: isFaction ? 'faction' : 'all'
chatTabGet: isFaction ? 'faction' : 'all'
}
if(getOlderMsgs) {
@ -689,10 +689,10 @@ window.chat.postMsg = function() {
var publik = c === 'public';
var latlng = map.getCenter();
var data = {message: msg,
latE6: Math.round(latlng.lat*1E6),
lngE6: Math.round(latlng.lng*1E6),
chatTab: publik ? 'all' : 'faction'};
var data = {messageSendPlext: msg,
latE6SendPlext: Math.round(latlng.lat*1E6),
lngE6SendPlext: Math.round(latlng.lng*1E6),
chatTabSendPlext: publik ? 'all' : 'faction'};
var errMsg = 'Your message could not be delivered. You can copy&' +
'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.getThinnedEntities'] = nemesis.dashboard.requests.MethodName.GET_THINNED_ENTITIES.toString();
foundMunges['dashboard.getPortalDetails'] = nemesis.dashboard.requests.MethodName.GET_PORTAL_DETAILS.toString();
foundMunges['dashboard.redeemReward'] = nemesis.dashboard.requests.MethodName.REDEEM_REWARD.toString();
foundMunges['dashboard.sendInviteEmail'] = nemesis.dashboard.requests.MethodName.SEND_INVITE_EMAIL.toString();
// foundMunges['dashboard.redeemReward'] = nemesis.dashboard.requests.MethodName.REDEEM_REWARD.toString();
// foundMunges['dashboard.sendInviteEmail'] = nemesis.dashboard.requests.MethodName.SEND_INVITE_EMAIL.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
@ -96,6 +96,9 @@ function extractMungeFromStock() {
// 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})"):';
// 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
// nemesis.dashboard.network.XhrController.prototype.doSendRequest_ function
// look for something like
@ -110,7 +113,8 @@ function extractMungeFromStock() {
foundMunges.version_parameter = result[5];
// 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());
foundMunges.quadKeys = result[1] || result[2];
@ -134,27 +138,31 @@ function extractMungeFromStock() {
foundMunges.maxLngE6 = result[9] || result[10];
foundMunges.minTimestampMs = result[11] || result[12];
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];
// 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());
foundMunges.message = result[1] || result[2];
foundMunges.latE6 = result[3] || result[4];
foundMunges.lngE6 = result[5] || result[6];
var chatTab = result[7] || result[8];
if (chatTab != foundMunges.chatTab) throw 'Error: inconsistent munge parsing for chatTab';
foundMunges.messageSendPlext = result[1] || result[2];
foundMunges.latE6SendPlext = result[3] || result[4];
foundMunges.lngE6SendPlext = result[5] || result[6];
foundMunges.chatTabSendPlext = result[7] || result[8];
// if (chatTab != foundMunges.chatTab) throw 'Error: inconsistent munge parsing for chatTab';
// GET_PORTAL_DETAILS
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());
foundMunges.guid = result[1] || result[2];
// SEND_INVITE_EMAIL
var reg = new RegExp('SEND_INVITE_EMAIL, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'b}');
foundMunges.inviteeEmailAddress = result[1] || result[2];
// // SEND_INVITE_EMAIL
// var reg = new RegExp('SEND_INVITE_EMAIL, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'b}');
// foundMunges.inviteeEmailAddress = result[1] || result[2];
return foundMunges;
} catch(e) {