176 (edited by mrsergej 2019-03-12 22:02:38)

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Hi, I am still checking possibilities. Have a Junior 1.0 Wireless unit with upgraded version. It was 2.3.6 version and I tried to downgrade it so I could use reset tags from original spools.
So I used tag reset app and was able to reset tag to 200m but it became unrecognisable by the printer.
Then i tried to downgrade firmware to version 2.2.4. Screen prompted that ir was successful. And when checked again with pc application, could see that firmware version has changed, BUT printer screen was still displaying previous, higher version and reset tag wasn't recognised. Then on PC i used prompt to Upgrade firmware from Internet and successfully did it. New firmware version displayed on the printer is 2.4.5 and guess what! Previously reset tag became recognised. It is showing 200m now. But when scanned with NFC reader it shows Extruder temp 93 degree and Heathed bed (which i don't have) - 213 degree. And I can't reset the tag anymore.
Any ideas of what's happening and how to reset tag to proper temps?
Thank you

Post's attachments

Screenshot_20190312-214826_NTAG Refill Tool.jpg
Screenshot_20190312-214826_NTAG Refill Tool.jpg 663.1 kb, 2 downloads since 2019-03-12 

You don't have the permssions to download the attachments of this post.

177

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Someone knows what's happening with the www.nfckey.xyz link? Is it broken? It can't be reached here and I'm panic!
Is the link working for you?

Thank's

178

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

leopec wrote:

Someone knows what's happening with the www.nfckey.xyz link? Is it broken? It can't be reached here and I'm panic!
Is the link working for you?

Thank's


Works fine for me. Must be and issue with your browser or ISP. Try a different device like a phone, tablet or other PC/laptop.

Printing since 2009 and still love it!
Anycubic 4MAX best $225 ever invested.
Voxelabs Proxima SLA. 6 inch 2k Mono LCD.
Anycubic Predator, massive Delta machine. 450 x 370 print envelope.

179

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

leopec wrote:

Someone knows what's happening with the www.nfckey.xyz link? Is it broken? It can't be reached here and I'm panic!
Is the link working for you?

Thank's

With me too, but is easy you need to use a proxy please search the first free proxy and copy the link (may be you will need try more than one) , some regions are blocking the web.

180

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

mrsergej wrote:

Hi, I am still checking possibilities. Have a Junior 1.0 Wireless unit with upgraded version. It was 2.3.6 version and I tried to downgrade it so I could use reset tags from original spools.
So I used tag reset app and was able to reset tag to 200m but it became unrecognisable by the printer.
Then i tried to downgrade firmware to version 2.2.4. Screen prompted that ir was successful. And when checked again with pc application, could see that firmware version has changed, BUT printer screen was still displaying previous, higher version and reset tag wasn't recognised. Then on PC i used prompt to Upgrade firmware from Internet and successfully did it. New firmware version displayed on the printer is 2.4.5 and guess what! Previously reset tag became recognised. It is showing 200m now. But when scanned with NFC reader it shows Extruder temp 93 degree and Heathed bed (which i don't have) - 213 degree. And I can't reset the tag anymore.
Any ideas of what's happening and how to reset tag to proper temps?
Thank you


Some of the pages are locked or worse.

Only thing you can try: use "MIFARE++ Ultralight App" or similar to write to single pages.

181

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

leopec wrote:

Someone knows what's happening with the www.nfckey.xyz link? Is it broken? It can't be reached here and I'm panic!
Is the link working for you?

Thank's

My ISP got mad at a few spammers and blocked the entire countries :-)
Should be working again.

182

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Hello all, I'm new to this printer got it for 20 dollars because the person didn't know anything about it. It is a XYZ DaVinci jr 1.0 with system firmware version 2.4.6. As a newbie trying to follow all of these posts it got me lost so here is what I did. I downloaded Ntag refill tool from another post ( Link to download ) ( https://my.hidrive.com/share/0g2q.7uge7#$/ ) ( Creadidt to the original maker and poster, can't find the post to link it to.) ran the app, put a blank nfc tag under my phone then changed it to PLA and full 240m, went to printer and set it on the reel holder then went to spool info and it showed up as a full reel of plastic.
I hope this can help someone else.

183

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

could someone please help me with this ? Where is the ucid number i need to put in ? Is there a video on how to use this anywhere please x

184

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Ok guys and gals, I've got the one of the Mini's running firmware 1.2.2. I've attempted to reset the original 100m tag that the unit came with both manually and using the android tool that Bozotclown1970 recommended a while back, and well it keeps telling me the reel is empty. idk what i'm doing wrong but i'm well past my knowledge/expertise level. I've added some screen captures in hopes somebody might be able to point me in the right direction. either way i've ordered some paper tags that i can use but they won't been here for a few days and my kids are bugging me to print all sorts of things. anyways. any help anybody can provide is greatly appreciated.

http://soliforum.com/i/?RkMuH67.jpg
http://soliforum.com/i/?66Rvi25.png
http://soliforum.com/i/?9d3XGD2.png

185

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

lumberjak2007 wrote:

Ok guys and gals, I've got the one of the Mini's running firmware 1.2.2. I've attempted to reset the original 100m tag that the unit came with both manually and using the android tool that Bozotclown1970 recommended a while back, and well it keeps telling me the reel is empty. idk what i'm doing wrong but i'm well past my knowledge/expertise level. I've added some screen captures in hopes somebody might be able to point me in the right direction. either way i've ordered some paper tags that i can use but they won't been here for a few days and my kids are bugging me to print all sorts of things. anyways. any help anybody can provide is greatly appreciated.

You cannot "refill" a tag that has already been seen by the printer - this has always been the case with mini's.
It keeps a list of tags used and if one increases in length then it won't use it.

186 (edited by lumberjak2007 2019-12-08 03:34:00)

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Ahhhhhh.... got it... thanks cgrillo, makes sense. so best bet it looks like is that alot of people get the paper tags make thier own. Anybody have any preferences on which tool works best to make the tags? Or have a preference on which tags work best.

187

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

nilezon wrote:

Good find!
I did see a key expansion algorithm but I didn't bother to "decode" it.
Also, I did see some unreachable code in the key/pack assembler, so I figured they used some standard algorithm, but I didn't understand it was RC5. Instead I tried to simplify the code as much as possible, removing the unused code and using the expanded integers.



Hi nilezon,

Just for the record. ;-) Finally I can confirm that the the PASS and PACK generation use RC5 enryption with the key "915F4619BE41B2516355A50110A9CE91"

One thing I down understand, why they used that good know Key??
If you google for it, you will find a lot hits.



so in C# I do it like this:

private static byte[] Magic_RC5_Key = { 0x91, 0x5F, 0x46, 0x19, 0xBE, 0x41, 0xB2, 0x51, 0x63, 0x55, 0xA5, 0x01, 0x10, 0xA9, 0xCE, 0x91 };

        static InitNfcKey()
        {
            // initialization with our key
            CryptoRC5.RC5Engine.RC5_Init(Magic_RC5_Key);
        }

        public static Byte[] GetPASS(Byte[] uid)
        {

            // Buffer for rotated UID
            byte[] buffer_In = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };


            //-- Part 1 -------------------------------------//
            // calculate rotation offset
            int rot_offset = ((uid[1] + uid[3] + uid[5]) & 7);

            // rotate the UID
            for (uint i = 0; i < 7; i++)
                buffer_In[(i + rot_offset) & 7] = uid[i];


            //-- Part 2 -------------------------------------//

            // call RC5 Encryption
            byte[] buffer_Out = CryptoRC5.RC5Engine.RC5_Encrypt(buffer_In);


            //-- Part 3 -------------------------------------//
            //Calc PASS
            long PASS = 0; //Key as int
            
            // calculate rotation offset
            rot_offset = ((buffer_Out[0] + buffer_Out[2] + buffer_Out[4] + buffer_Out[6]) & 3); 
            
            for (uint i = 0; i < 4; i++)
                PASS = (buffer_Out[i + rot_offset] & 0xFF) + (PASS << 8);


            return BitConverter.GetBytes(PASS);
        }

        public static Byte[] GetPack(Byte[] uid)
        {
            // Buffer for rotated UID
            byte[] buffer_In = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
            
            //-- Part 1 -------------------------------------//
            // calculate rotation offset
            int rot_offset = ((uid[2] + uid[5]) & 7);

            // rotate the UID
            for (uint i = 0; i < 7; i++)
                buffer_In[(i + rot_offset) & 7] = uid[i];


            //-- Part 2 -------------------------------------//
            // call RC5 Encryption
            byte[] buffer_Out = CryptoRC5.RC5Engine.RC5_Encrypt(buffer_In);


            //-- Part 3 -------------------------------------//
            //Calc PACK
            long PACK = 0;

            for (uint i = 0; i < 8; i++)
                PACK = ((buffer_Out[i] & 0xFF) * 13) + PACK;


            Byte[] packBytes = BitConverter.GetBytes((PACK & 0xFFFF) ^ 0x5555);

            return (new Byte[2] { packBytes[0], packBytes[1] });
        }

188

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Tags and the Nano. I have tried both software programs and the tags appear to create properly. However,  thee tags do nit work with my Nano. The printer will read the temp and quantity (200) that I  entered but will not work. Do the tag programs apply to the Nano?

189

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

That's interesting. Almost embarrassing actually :-)
I have no idea why they used a "known" key. Maybe they just copy-pasted the code from this paper:
https://www.elixirpublishers.com/articl … -10703.pdf

Maybe they used a simple key for the firmware encryption as well?

modfreakz wrote:
nilezon wrote:

Good find!
I did see a key expansion algorithm but I didn't bother to "decode" it.
Also, I did see some unreachable code in the key/pack assembler, so I figured they used some standard algorithm, but I didn't understand it was RC5. Instead I tried to simplify the code as much as possible, removing the unused code and using the expanded integers.



Hi nilezon,

Just for the record. ;-) Finally I can confirm that the the PASS and PACK generation use RC5 enryption with the key "915F4619BE41B2516355A50110A9CE91"

One thing I down understand, why they used that good know Key??
If you google for it, you will find a lot hits.



so in C# I do it like this:

private static byte[] Magic_RC5_Key = { 0x91, 0x5F, 0x46, 0x19, 0xBE, 0x41, 0xB2, 0x51, 0x63, 0x55, 0xA5, 0x01, 0x10, 0xA9, 0xCE, 0x91 };

        static InitNfcKey()
        {
            // initialization with our key
            CryptoRC5.RC5Engine.RC5_Init(Magic_RC5_Key);
        }

        public static Byte[] GetPASS(Byte[] uid)
        {

            // Buffer for rotated UID
            byte[] buffer_In = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };


            //-- Part 1 -------------------------------------//
            // calculate rotation offset
            int rot_offset = ((uid[1] + uid[3] + uid[5]) & 7);

            // rotate the UID
            for (uint i = 0; i < 7; i++)
                buffer_In[(i + rot_offset) & 7] = uid[i];


            //-- Part 2 -------------------------------------//

            // call RC5 Encryption
            byte[] buffer_Out = CryptoRC5.RC5Engine.RC5_Encrypt(buffer_In);


            //-- Part 3 -------------------------------------//
            //Calc PASS
            long PASS = 0; //Key as int
            
            // calculate rotation offset
            rot_offset = ((buffer_Out[0] + buffer_Out[2] + buffer_Out[4] + buffer_Out[6]) & 3); 
            
            for (uint i = 0; i < 4; i++)
                PASS = (buffer_Out[i + rot_offset] & 0xFF) + (PASS << 8);


            return BitConverter.GetBytes(PASS);
        }

        public static Byte[] GetPack(Byte[] uid)
        {
            // Buffer for rotated UID
            byte[] buffer_In = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
            
            //-- Part 1 -------------------------------------//
            // calculate rotation offset
            int rot_offset = ((uid[2] + uid[5]) & 7);

            // rotate the UID
            for (uint i = 0; i < 7; i++)
                buffer_In[(i + rot_offset) & 7] = uid[i];


            //-- Part 2 -------------------------------------//
            // call RC5 Encryption
            byte[] buffer_Out = CryptoRC5.RC5Engine.RC5_Encrypt(buffer_In);


            //-- Part 3 -------------------------------------//
            //Calc PACK
            long PACK = 0;

            for (uint i = 0; i < 8; i++)
                PACK = ((buffer_Out[i] & 0xFF) * 13) + PACK;


            Byte[] packBytes = BitConverter.GetBytes((PACK & 0xFFFF) ^ 0x5555);

            return (new Byte[2] { packBytes[0], packBytes[1] });
        }

190 (edited by modfreakz 2020-01-10 17:17:16)

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

nilezon wrote:

Maybe they used a simple key for the firmware encryption as well?

No they don't. I have figured out the private AES 256Bit Key. It's per "Type Key" and stored packed or scrambled in the firmware.

So each printer type have same key. (At this point crossflashing is not possible with original encryption firmware).
But downgrading is now possible at any time.


I don't know if I can post more about this here?!?

191

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Is there a way to do this on iPhone?

192

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

I bought a new printer and will soon be leaving this great community.
I'm giving my da Vinci miniMaker Special Edition away to anyone who wants it. It comes soldered with JTAG access port from my hacking sessions.
I live in Sweden and I prefer not having to ship it outside Europe, if possible.

I will of course keep nfckey.xyz online for the years to come.

193

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

nilezon wrote:

I bought a new printer and will soon be leaving this great community.
I'm giving my da Vinci miniMaker Special Edition away to anyone who wants it. It comes soldered with JTAG access port from my hacking sessions.
I live in Sweden and I prefer not having to ship it outside Europe, if possible.

I will of course keep nfckey.xyz online for the years to come.

I would love to take care of it! I live in Sweden smile

194

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

hi nilezon!

I have an XYZ 2.0 DUO printer. Due to the encryption of xyz consumables, I cannot use open source consumables. Can your NFC key software crack the chip of consumables?

thanks!

195

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

is the UID the password or the KEY the password?
I still can not get into the tag
it only showing [00] to [07]
[00] 0406951F
[01] 2AB44281
[02] 5D480000

196

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

is the UID the password or the KEY the password?
I still can not get into the tag
it only showing [00] to [07]
[00] 0406951F
[01] 2AB44281
[02] 5D480000

197 (edited by Trypton 2021-01-25 20:04:10)

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Hi everyone,

I am a newbie, so I need a total help on this. I have a DaVinci Jr and my NFC Tag went to 0 filament before actually consuming all the filament. So, I need to reset the filament length. Should I buy a new paper tag? Where can I Fin the UID and what exactly should I do then?

Sorry for the annoying questions.

198 (edited by cgrillo 2021-01-26 10:23:25)

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Trypton wrote:

Hi everyone,

I am a newbie, so I need a total help on this. I have a DaVinci Jr and my NFC Tag went to 0 filament before actually consuming all the filament. So, I need to reset the filament length. Should I buy a new paper tag? Where can I Fin the UID and what exactly should I do then?

Sorry for the annoying questions.

You can refill the tag you have - but your printer will not accept it as it remembers each tag and the last length it saw.

You need a new (paper) tag to and read it to get the iD.
The ID is the first 7 bytes.
All 4 from the first page
then the first 3 from the next page.

The ID will be unique to that tag.

199

Re: XYZprinting Open Source NFC key calculator online: www.nfckey.xyz

Something went wrong. Code generated by https://nfckey.xyz/ for tag 044EE092784D81 (153BD15D) is not appropriate.
http://soliforum.com/i/?rHPhJWz.jpg
http://soliforum.com/i/?G9rNAYO.jpg
http://soliforum.com/i/?DeZsrxm.jpg