1. Hello!

    First of all, welcome to MapleLegends! You are currently viewing the forums as a guest, so you can only view the first post of every topic. We highly recommend registering so you can be part of our community.

    By registering to our forums you can introduce yourself and make your first friends, talk in the shoutbox, contribute, and much more!

    This process only takes a few minutes and you can always decide to lurk even after!

    - MapleLegends Administration-
  2. Experiencing disconnecting after inserting your login info? Make sure you are on the latest MapleLegends version. The current latest version is found by clicking here.
    Dismiss Notice

GTOP Workarounds

Discussion in 'Guides' started by PandaOnPanda, Mar 1, 2020.

Thread Status:
You must be a logged-in, registered member of this site to view further posts in this thread.
  1. PandaOnPanda
    Offline

    PandaOnPanda Timer

    101
    26
    120
    Jun 29, 2019
    4:04 PM
    PandaOn___
    Paladin, I/L Arch Mage, Corsair
    Homies
    TL;DR
    GTOP annoying; try these steps:
    1. Clear your cookies (not really beating any fingerprinting, more just making sure they haven't stored a bad cookie on your device)
    2. If you are getting the 'already voted' message on your device, you can try to get it to work by downloading another browser and using that to vote
    3. Request desktop version of the site if the new browser doesn't work (shoutout to jesscapadesjesscapades for this one)
    4. If nothing is working, you can try to change your screen resolution to get it to work (portrait to landscape, or vice versa for mobile, or just resize your desktop window) Note: do this BEFORE you load the page. Hit or miss with this one
    5. Change your font/font size for your browser
    6. Add/Remove or Enable/Disable extensions and plugins for your browser
    7. If all else fails, try a combination of different things
    Also, this will work for TopG as well, they capture similarish info (though I don't think they're as strict, not sure only did a cursory glance at the fields that get submitted with your vote)

    Vote, airplane mode for 10 seconds, go to new browser on your phone, Vote again, Rinse and repeat

    UPDATE

    If you want to test whether something you are doing changes your fingerprint, you can use the demo right off of the GitHub. Use your device regularly, take note of the identifier they give you, and then try something different in how you connect to that page. If it’s different, you should be good to go. If it’s not, your probably need to change up something else. They’re probably using their Pro version of the library, while GTOP most likely uses the open source one which is less accurate, so your results may vary.
    https://fingerprintjs.github.io/fingerprintjs/


    UPDATE
    I got bored and did a little more snooping around the html page. This is the exact fingerprinting javascript library they use, and the relevant code they use to capture your browser fingerprint. Play around with it if you want. The github page's wiki even lists the components that they can check, and if they are browser dependent or device dependent so you can look in how to change those if some methods don't work for you. It even mentions that it is more unreliable for phones!:
    https://github.com/Valve/fingerprintjs2
    https://github.com/Valve/fingerprintjs2/wiki/Browser-independent-components
    <script type="text/javascript">
    jQuery(document).ready(function() {
    var murmur = null;
    function changemurmur(newMurmur)
    {
    window.murmur = newMurmur;
    }

    var fingerprintReport = function () {
    var d1 = new Date()
    Fingerprint2.get(function(components) {
    murmur = Fingerprint2.x64hash128(components.map(function (pair) { return pair.value }).join(), 31)
    //console.log(murmur);
    changemurmur(murmur);
    var d2 = new Date()
    var time = d2 - d1
    })
    }
    var cancelId
    var cancelFunction

    // see usage note in the README
    if (window.requestIdleCallback) {
    cancelId = requestIdleCallback(fingerprintReport)
    cancelFunction = cancelIdleCallback
    } else {
    cancelId = setTimeout(fingerprintReport, 500)
    cancelFunction = clearTimeout
    }

    $("button#votebutton").live('click',function(){
    var user_id=$('#user_id').val();
    var site=$('#site_id').val();
    var base_url=$('#base_url').val();

    //var fpid = new Fingerprint({canvas: true,ie_activex: true}).get();

    //var options = {extendedFontList: true};
    //var fp = new Fingerprint2(options);
    //fp.get(function(result) {
    //var fpid = result;
    var fpid = "xxx";
    var tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
    //var fcToken = $('#FunCaptcha-Token').val();//Coming from fun captcha
    var fcToken = $("[name='fc-token']").val();//Coming from fun captcha
    //var fcToken = "";//Coming from fun captcha
    var pingUsername = $('#pingUsername').val();
    var minecraftname = $('#minecraftname').val();
    var asf = "tykhbblgbvadedozmwz";
    var retoken = $('#retoken').val();
    /* if(fcToken==undefined || fcToken == '')
    {alert('Please enter captcha');}
    else {} */
    $('#img_loader').show();
    $.ajax({
    type: "POST",
    url: '/home/send_vote/',
    data: "site="+site+"&user_id="+user_id+"&fingerprintid="+murmur+"&pingUsername="+pingUsername+'&minecraftname='+minecraftname+'&fcToken='+fcToken+'&asf='+asf+'&tz='+tz+'&reToken='+retoken,
    success: function (r) {
    $('#img_loader').hide();
    // alert(r);
    // $('#loaddata').attr('id','votebutton');
    if(r=='success') {
    $('#captcha-status').html("<p style='color:#00a600;'><b>Thank you for voting!</b></p>");
    location.href='https://gtop100.com/topsites/MapleStory/'; } else {
    $('#captcha-status').html("<p style='color:#00FF00;'><b>"+r+"</b></p>");
    //$('#captchaReset').trigger('click');
    }
    },
    error:function() {
    //alert('Error in script.');
    $('#img_loader').hide();
    //$('#loaddata').attr('id','votebutton');
    document.location.reload();
    },
    }); //End Ajax.
    //}); //End fp.get.
    }); //End Button Click.

    $("#captchaReset").live('click',function(e){
    e.preventDefault();
    $.ajax({
    type : 'POST',
    url : 'https://gtop100.com/home/reCreate/',
    success:function(res) {
    $('#myCaptcha').html('');
    $('#myCaptcha').html(res);
    return false;
    },
    error:function() {
    alert('Error in script.');
    document.location.reload();
    },
    });
    return false;
    });
    });
    </script>

    Hello all!

    So I know everyone has probably, at one time, faced this infuriating issue with GTOP:
    It keeps saying you voted when you absolutely have not.

    We can all agree GTOP's validation is a mess, but so far most people look at their validation as only IP based. I instead believe they are using something called digital fingerprinting/browser fingerprinting.

    For a nice explanation on it, you can check out this site

    But to simplify it greatly in a couple sentences, a site takes into account not just the network connection/cookies you are using, but also HOW you're connecting. It can take things like the type of device you are using, your browser version, OS version, plugins installed, and even screen resolution to give you a digital fingerprint that can identify you even if you are using a new network connection. While cookies are involved in this, they are not essential to it. A lot of online advertisers use this to identify you across sites to provide you with ads specifically catered to you. These fingerprints are not 100% and can be made less accurate taking certain steps to protect your privacy that are described in the article linked above.

    Why do I think they are using fingerprinting?
    Well when you get that error message, you can change up the device or device settings you are using while still using the same connection to get it to work. Also, this little parameter gets sent to GTOP when you hit that vote button:
    image isn't showing so just click here for it
    [​IMG]

    A nice way to check on just how unique you are is this site: https://amiunique.org/
    It will give you a breakdown of your setup, and let you know how unique your fingerprint is across it's database.

    So how can we easily beat GTOP's fingerprinting without breaking their TOS?
    1. Clear your cookies (not really beating any fingerprinting, more just making sure they haven't stored a bad cookie on your device)
    2. If you are getting the 'already voted' message on your device, you can try to get it to work by downloading another browser and using that to vote
    3. Request desktop version of the site if the new browser doesn't work (shoutout to jesscapadesjesscapades for this one)
    4. If nothing is working, you can try to change your screen resolution to get it to work (portrait to landscape, or vice versa for mobile, or just resize your desktop window) Note: do this BEFORE you load the page. Hit or miss with this one
    5. Change your font/font size for your browser
    6. Add/Remove or Enable/Disable extensions and plugins for your browser
    7. If all else fails, try a combination of different things
    There are other ways, but these are the easiest in my opinion. This should help you vote on multiple accounts as well!

    Why is this fingerprinting stopping you from voting?
    As I said above, this fingerprinting is not 100%. On my current browser, my full fingerprint is unique among the 1689959 fingerprints collected from amiunique. In terms of privacy, unique is bad. In terms of voting, unique is good. The more unique you are, the less trouble you will probably have voting. But, the inverse is also true. The less unique you are, the more likely someone shares your digital fingerprint and GTOP thinks you are the same person. So if they can get their vote off before you, then you'll need to change your fingerprint to compensate. In my opinion, GTOP probably does not use a very complex fingerprinting mechanism, so the chances you are unique probably goes down a bit further.

    That's about it for my theory. Hopefully I am right and I didn't just waste time on this post, and hopefully some of you having issues with voting can resolve them. Share other ways you have found to force your vote to go through and I'll update the list I have in the post!
     
    • Great Work Great Work x 8
    • Informative Informative x 2
Thread Status:
You must be a logged-in, registered member of this site to view further posts in this thread.

Share This Page