Help to Null [DataSymbol Barcode Scanner] WP Plugin

vlaazevedo

Member
Dec 16, 2018
35
5
8
Hello, good night.
I need help to null this plugin.
When the plugin captures the barcode it changes a copy number for one (*) ... is this simple to solve?
I don't have that skill.

Ex barcode is: 02108357222767 and the plugin capture 0210835722*767

I attach the plugin file... please help me.

Thank you all.
 

Attachments

  • datasymbol-barcode-scanner.zip
    310.8 KB · Views: 13

onetrick

Member
Trusted Uploader
Jan 20, 2019
57
49
18
Can you try this one? I don't have a barcode scanner, so let me know if that works
 

Attachments

  • datasymbol-barcode-scanner-nulled1trick.zip
    320 KB · Views: 18

vlaazevedo

Member
Dec 16, 2018
35
5
8
Can you try this one? I don't have a barcode scanner, so let me know if that works
Hi, thanks to help me!!! :)
I tryed your zip, but an erro are displayed:

Error (WindowOnError): Uncaught RangeError: Maximum call stack size exceeded| .../wp-content/plugins/datasymbol-barcode-scanner/sdk/datasymbol-sdk-hlp.min.js|147|13

If you upload the plugin to any site that have https and access using an smartphone the page whith shortcode "{{DataSymbolScanner}}" ... you take the code using your celphone camera. Dont need a barcode reader, your cellphone cam capture the code.

Many thanks again and sorry for my poor english. I'm from Brazil and I'ms still learning english.
 

starliner

Well-known member
Null Master
Trusted Uploader
Mar 28, 2019
559
530
93
Hello, good night.
I need help to null this plugin.
When the plugin captures the barcode it changes a copy number for one (*) ... is this simple to solve?
I don't have that skill.

Ex barcode is: 02108357222767 and the plugin capture 0210835722*767

I attach the plugin file... please help me.

Thank you all.

Try this

Leave blank license key option

 
  • Like
Reactions: tanierlyons

onetrick

Member
Trusted Uploader
Jan 20, 2019
57
49
18
from the minified code

Code:
var _0xd4c1x66 = _getLicenseData(_0xd4c1x7, _0xd4c1x65, _0xd4c1x64);
if (_0xd4c1x66 > 0) {
...
}

I've tried to replace with
Code:
var _0xd4c1x66 = 99;
if (_0xd4c1x66 > 0) {
...
}

and reminified. Thoughts @starliner?
 

onetrick

Member
Trusted Uploader
Jan 20, 2019
57
49
18
i will look at again


Translating the minified code it's something akin to:
Code:
function vCarve() {
    var result = {
        licenseInfo : _0x685a[11],
        edition : _0x685a[11],
        decoders : _0x685a[11],
        expDate : _0x685a[11]
    };
    const len = 800;
    var path = Module._malloc(len);
    if (path && file && filename) {
        var x = 99; //_getLicenseData(filename, path, len);
        if (x > 0) {
   ....

but any minification of this one doesn't work, so I worked back to the minified instructions.
 

vlaazevedo

Member
Dec 16, 2018
35
5
8
Translating the minified code it's something akin to:
Code:
function vCarve() {
    var result = {
        licenseInfo : _0x685a[11],
        edition : _0x685a[11],
        decoders : _0x685a[11],
        expDate : _0x685a[11]
    };
    const len = 800;
    var path = Module._malloc(len);
    if (path && file && filename) {
        var x = 99; //_getLicenseData(filename, path, len);
        if (x > 0) {
   ....

but any minification of this one doesn't work, so I worked back to the minified instructions.
Follow the file working "deminified"... help us on anything?
The error was "//" break on line 1287 ... code deminified works OK... but * stay on line barcode.
I try nulling here too.
Many thanks.
 

Attachments

  • datasymbol-sdk-hlp.min.zip
    24.9 KB · Views: 13

onetrick

Member
Trusted Uploader
Jan 20, 2019
57
49
18
Here's the activation key function

Code:
var sActivationKey = '';
if (sActivationKey["match"](/^\d{3,3}-\d{8,8}-\d{8,8}$/)) {
    var today = new Date();
    var dd = today["getDate"]();
    var mm = today["getMonth"]() + 1;
    var yyyy = today["getFullYear"]();
    if (dd < 10) {
        dd = '0' + dd
    }
    ;if (mm < 10) {
        mm = '0' + mm
    }
    ;sActivationKey += '|' + yyyy + mm + dd;
    var iv = '48107e68479875f6';
    var key = CryptoJS["enc"]["Hex"]["parse"]('a474d808979ccce1bd4087dd9b3e61c99fc429226c4c9690666030dadaa29517');
    var encTid = CryptoJS["AES"]["encrypt"](sActivationKey, key, {
        iv: CryptoJS["enc"]["Utf8"]["parse"](iv)
    });
    sActivationKey = encTid["ciphertext"].toString(CryptoJS["enc"].Base64);
    var xhr = new XMLHttpRequest();
    xhr["open"]('GET', 'https://rkdsoft.com/getdaykey1.php?tid=' + encodeURIComponent(sActivationKey), true);
    xhr["timeout"] = 4000;
    xhr["send"]();
    xhr["onreadystatechange"] = function() {
        if (xhr["readyState"] != 4) {
            return
        }
        ;if (xhr["status"] != 200) {
            console["log"]('cannot get key|' + xhr["status"])
        } else {
            window["dsLLK"] = xhr["responseText"];
            var _0xdfecx9 = window["dsLLK"]["match"](/^Error-(\d{4,4})\n.+$/);
            if (_0xdfecx9 && _0xdfecx9["length"] > 0) {
                window["onerror"](_0xdfecx9[0])
            }
        }
    }
} else {
    console["log"]('|Error. Wrong Activation Key.|')
}


TOO SOON, I oversaw this running on a remote server, you can't tell your server (not localhost) to intercept that 443 call, which will return error for self signed certificate. Guess we're done here until further ideas.



Since this is buried inside the .wasm file, the easiest way to null this is if you have control over your hosting server.

Install brew (https://brew.sh/) //necessary as we going to mock the certificate for the remote server
Linux? https://docs.brew.sh/Homebrew-on-Linux
Code:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Now create an entry on the /ect/host or windows/system32/drivers/etc/hosts
Code:
127.0.0.1 rkdsoft.com

Create a file with OK on the root of your htdocs called getdaykey1.php
Code:
echo "OK" > getdaykey1.php


Install the local ssl certificate mocking the locahost
Code:
brew install mkcert
mkcert install
mkcert rkdsoft.com

Done
 
Last edited:

vlaazevedo

Member
Dec 16, 2018
35
5
8
Here's the activation key function

Code:
var sActivationKey = '';
if (sActivationKey["match"](/^\d{3,3}-\d{8,8}-\d{8,8}$/)) {
    var today = new Date();
    var dd = today["getDate"]();
    var mm = today["getMonth"]() + 1;
    var yyyy = today["getFullYear"]();
    if (dd < 10) {
        dd = '0' + dd
    }
    ;if (mm < 10) {
        mm = '0' + mm
    }
    ;sActivationKey += '|' + yyyy + mm + dd;
    var iv = '48107e68479875f6';
    var key = CryptoJS["enc"]["Hex"]["parse"]('a474d808979ccce1bd4087dd9b3e61c99fc429226c4c9690666030dadaa29517');
    var encTid = CryptoJS["AES"]["encrypt"](sActivationKey, key, {
        iv: CryptoJS["enc"]["Utf8"]["parse"](iv)
    });
    sActivationKey = encTid["ciphertext"].toString(CryptoJS["enc"].Base64);
    var xhr = new XMLHttpRequest();
    xhr["open"]('GET', 'https://rkdsoft.com/getdaykey1.php?tid=' + encodeURIComponent(sActivationKey), true);
    xhr["timeout"] = 4000;
    xhr["send"]();
    xhr["onreadystatechange"] = function() {
        if (xhr["readyState"] != 4) {
            return
        }
        ;if (xhr["status"] != 200) {
            console["log"]('cannot get key|' + xhr["status"])
        } else {
            window["dsLLK"] = xhr["responseText"];
            var _0xdfecx9 = window["dsLLK"]["match"](/^Error-(\d{4,4})\n.+$/);
            if (_0xdfecx9 && _0xdfecx9["length"] > 0) {
                window["onerror"](_0xdfecx9[0])
            }
        }
    }
} else {
    console["log"]('|Error. Wrong Activation Key.|')
}


TOO SOON, I oversaw this running on a remote server, you can't tell your server (not localhost) to intercept that 443 call, which will return error for self signed certificate. Guess we're done here until further ideas.



Since this is buried inside the .wasm file, the easiest way to null this is if you have control over your hosting server.

Install brew (https://brew.sh/) //necessary as we going to mock the certificate for the remote server
Linux? https://docs.brew.sh/Homebrew-on-Linux
Code:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Now create an entry on the /ect/host or windows/system32/drivers/etc/hosts
Code:
127.0.0.1 rkdsoft.com

Create a file with OK on the root of your htdocs called getdaykey1.php
Code:
echo "OK" > getdaykey1.php


Install the local ssl certificate mocking the locahost
Code:
brew install mkcert
mkcert install
mkcert rkdsoft.com

Done
Hello! Thanks for all the help so far.
I would like to understand how you managed to decode WASM to get to this activation code ... is it too complex?

Another question ... basically I need to remove the "*", is it not possible just editing something in WASM?

If I said something stupid, please excuse me.
 

About us

  • Our community has been around for many years and pride ourselves on offering unbiased, critical discussion among people of all different backgrounds. We are working every day to make sure our community is one of the best.

Quick Navigation

User Menu