emsec / ChameleonMini

The ChameleonMini is a versatile contactless smartcard emulator compliant to NFC. The ChameleonMini was developed by https://kasper-oswald.de. The device is available at https://shop.kasper.it. For further information see the Getting Started Page https://rawgit.com/emsec/ChameleonMini/master/Doc/Doxygen/html/_page__getting_started.html or the Wiki tab above.
Other
1.75k stars 392 forks source link

Tutorial for basic usage / commands #21

Open cons0l3 opened 8 years ago

cons0l3 commented 8 years ago

A few simple examples or step by step instructions would be wonderful:

  1. How to read and existing card and dump the data to a file (READER)?
  2. How to take a dump and upload it to a virtual card 1-8?
  3. How to clone a card from READER to directly to a virtual card?
  4. How to set random UID without using buttons?

[...]

emsec commented 8 years ago

Thanks for your constructive feedback ; however, ChameleonMini has so many use cases / things to explain that it is hard to create step-by-step instructions for every use case... the documentation is pretty complete and it took some time to write it... and it also contains a few step-by-step instructions. Getting known to Chameleon requires some "playing" I guess ; some additional examples such as uploading dumps, random UID are also in the kickstarter video (lab tests): Video. The reader function as in the current firmware is still - as announced in the kickstarter campaign - quiet basic, so advanced functions (via SEND or SEND_RAW) require an understanding of NFC commands / ISO14443. Easy functions such as IDENTIFY or DUMP_MFU to dump an Ultralight card are already provided (see here: Chameleon Commands ). For impementing tons of more reader functions we count on the open-source community: The firmware and documentation is only a starting point for everyone and you are welcome to add any new function / new card / new codec / tutorial / step-by-step infos / improved documentation etc. - we will gladly integrate it into the project.

rweijnen commented 8 years ago

First of all, the documentation is a good starting point and has clearly taken a lot of time to write. However the documentation is written as a programmers documentation, a reference guide if you will. It explains what commands do but not which commands would be required for a certain task.

So I agree with @cons0l3 a few more examples would be very helpful and could accelerate community to start working with the chameleon and start contributing!

cons0l3 commented 8 years ago

Yes, the documentation is a good starting point. But simple examples for someone who just starts with NFC, ISO14443A, etc. (like me)

You would not belief the big smile I had yesterday, when I got the UID from a card. 3 other near field type cards did not work. Reasons unknown. I use my android tablet with a "nfc reader" app to dig into the cards.

To study test cases is usually a good starting point to understand the usage of a "thing". So I am considering to write a few python test cases (for learning purposes) to a) test the firmware b) test the python clients So prepare and embrace yourself for incoming pull requests.

For myself, I have had a look at the firmware and was overwhelmed (for now). I will put some love into the python toolset.

gogobd commented 8 years ago

I second the proposal of a tutorial for some ste by staep procedures. It was easy to u derstand how to clone a UID, but dumoing a whole card to emulate it is not covered well in the current documentation.

dev-zzo commented 8 years ago

FWIW, I am putting together a tutorial here for my colleagues: https://gist.github.com/dev-zzo/88bd6e78dc62e2ed32616c4889151f8a Let me know if I can improve it in any way. :-)

grymoire commented 8 years ago

Suggested tip for Minicom/Linux users:

Turn on Local Echo (Control-A E) and Line Wrap mode on (Control-A W)

johanveen commented 7 years ago

First of all everyone the best wishes for 2017. I must agree that the documentation for basic usage can/should be better.

There are several video tutorials but none of them explain how you can extract the dump to the computer. They only show how to make some modifications and what the possibilities are of the card.

I can make a dump_mfu of a card and upload an example dump to the chameleon mini, but I cannot download a dump to the PC (OS Ubuntu 16.04 LTS).

So if someone could help me I would be grateful.

dev-zzo commented 7 years ago

@johanveen could you please explain in more detail the "cannot download" part? What happens when you issue the DOWNLOAD command?

zenroth1752 commented 7 years ago

Switch to Kali Linux - As all the NFC is set up. I have had issues with OS Ubuntu 16.04 LTS. It is a quick solution as I don't know much of the background.

johanveen commented 7 years ago

Thanks for the suggestion. I will give it a try. I will let you know if it was thesolution for me.

gr,

Johan

johanveen commented 7 years ago

Goodmorning Dmitry,

I appologize for my late response but I was out. I did first try a dump file from https://github.com/emsec/ChameleonMini/tree/master/Dumps. The file I tried to upload first was MifareUltralight.mfd

That went oke. So I tried to make a download from a MifareUltralight card. I set setting one to ISO14443A_READER and start reading the the card with IDENTIFY

Then I did a DUMP_MFU Next I used the DOWNLOAD command the get a DUMP file. But instead of getting the card I was reading, I just get the example dump file. So somehow I am not able to download the card I am trying to clone.

greetings,

Johan

dev-zzo commented 7 years ago

@johanveen I think I see the root cause behind your problem. The DUMP_MFU command only dumps the contents on the screen, nothing else; it does not read the contents into the onboard memory thus there is nothing to DOWNLOAD. You can simply save the output of DUMP_MFU and convert it from hex to binary for emulation later on.

manthis commented 7 years ago

Completely agree there should be a user documentation for those like me who are novice in this domain. I think what is mostly needed is how to dump and how to restore an image.

hamsik7 commented 6 years ago

@cons0l3 did u find a way on "How to clone a card from READER to directly to a virtual card?"

hamsik7 commented 6 years ago

@dev-zzo do you have a way on how to save the output of the DUMP_MFU ?

dev-zzo commented 6 years ago

@hamsik7 No, I am not aware of such functionality.

hamsik7 commented 6 years ago

@dev-zzo do you have any useful links or forums to help me familiarise with the use of Chameleon ?

ghost commented 6 years ago

@hamsik7 Have you already checked out https://rawgit.com/emsec/ChameleonMini/master/Doc/Doxygen/html/Page_GettingStarted.html

maxieds commented 6 years ago

Another Easy Method for Working with the Chameleon Mini Device ...

> do you have a way on how to save the output of the DUMP_MFU ?

There is also now an open-source Android app (ChameleonMiniLiveDebugger) [signed apk from here] available on the Play Store that makes getting started with the device much easier. All it requires is the Chameleon Mini, a Droid phone, and this usb adapter. [#159]

hamsik7 commented 6 years ago

@gtpy thanks for your answer ! but my problem is that i don't know how to clone a card and dump it into Chameleon :/

maxieds commented 6 years ago

You can clone one of the preloaded card configurations with the app by clicking on the appropriate button at the top of the tools menu. Seven of these defaults are implemented in the app.

hamsik7 commented 6 years ago

@maxieds ah cool thanks ! im gonna prepare a tuto on how to clone Mifare Classic 1k and dump it in cameleon so that those who don"t know will learn. I have another issue which is cloning Mifare DesFire ev1 any hints will help me alot 🗡 walrus

ghost commented 6 years ago

@hamsik7 I have the same issue with ev1 cards. If I find a practicable solution I'll tell you. If you find something out it'll be great to hear from you.

hamsik7 commented 6 years ago

@gtpy yeah of course ! once i find something useful ill tell u and make a tuto about it but its been really frustrating since i searched everywhere for a practical solution but the only thing that i found in order extract a dump/clone DesFire ev1 card was a hardware solution which is basically proximark3 :/

ghost commented 6 years ago

@hamsik7 where is the screenshot from? program? script?

Bild

Cheers

ghost commented 6 years ago

Ok I found it. It's from the Win GUI from bronken. I never seen this before - i'm normally working with Linux.

hamsik7 commented 6 years ago

@gtpy the screenshot is from GUI program for using chameleon Mini on Windows.

AndreasBujok commented 6 years ago

I see ongoing questions about an more "user friendly documentation". Therefore i've created a friendly command list of the Chameleon Mini.

Feel free to use, addapt the current version and add and adapt new items :-)

Cheers Andreas

https://github.com/AndreasBujok/ChameleonMini

@geo-rg Could be add to "External Contribution"?

@gtpy Thanks :-)

maxieds commented 6 years ago

@hamsik7 You can now download logs and the existing card data with the newest release (v0.1.6) of the app. See the attached screenshot below:

CBRRider commented 6 years ago

@dev-zzo You mentioned converting the DUMP_MFU from a hex to binary. How do you do this?

dev-zzo commented 6 years ago

@CBRRider I use 010 Editor a lot, and there it's just Edit -> Paste from -> Paste from Hex Text. Done.

geo-rg commented 6 years ago

@AndreasBujok Done. Thanks for it! :)

maxieds commented 6 years ago

You mentioned converting the DUMP_MFU from a hex to binary. How do you do this? If you use my android app ( https://github.com/maxieds/ChameleonMiniLiveDebugger) there's a button that will do this in the Export tab.

On Thu, Jan 25, 2018 at 6:13 AM, Georg Land notifications@github.com wrote:

@AndreasBujok https://github.com/andreasbujok Done. Thanks for it! :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/emsec/ChameleonMini/issues/21#issuecomment-360436823, or mute the thread https://github.com/notifications/unsubscribe-auth/AVI4uL72lFRVEii6PMEhUcwNUBiav5M0ks5tOGHbgaJpZM4KSGyk .

CBRRider commented 6 years ago

@maxieds So I just got my cable in but for some reason when I try and open the app on my phone it instantly closes. Any ideas? I'm using a rooted oneplus3 with oxgenos 4.5.1 with android version 7.1.1. Downloaded the app from the play store

CBRRider commented 6 years ago

Great, looks like the app opens now. So now I was able to run the dump_mfu and dump mfu tag to bin. However, when I try to upload card i'm getting error - invalid file size for the selected card. aborting. I switched to ultralight configuration. the file size looks to be 136 bytes. I've identified the card as a ultralight card. am i missing some step?

maxieds commented 6 years ago

Hello.

I believe that this is a formatting issue with the Chameleon Mini Live Debugger application. The upload / download card formats are what is directly transferred by the board using XModem. The identify / dumpmfu commands have a different format from this, which is to say that the dump mfu command saves (in binary) the response given by the board.

In terms of the conversion, I will say that it could be tricky to get the dumpmfu command to output the 8MB (or so) binary that the upload / download card expects. Namely, the Chameleon source is written in C / C++, where this application is on Java for Android. Not to say that this cannot be done, but this is probably the crux of the issue you are having. Have you looked at the NXP reader apps on play store? The formatting they give for things like the NTAG210 chips is probably more along the lines of what the Chameleon command is outputting. I'd be willing to include a patch to the source once this is clarified or fixed.

Maxie

On Thu, Feb 15, 2018 at 4:03 PM, CBRRider notifications@github.com wrote:

Great, looks like the app opens now. So now I was able to run the dump_mfu and dump mfu tag to bin. However, when I try to upload card i'm getting error - invalid file size for the selected card. aborting. I switched to ultralight configuration. the file size looks to be 136 bytes. I've identified the card as a ultralight card. am i missing some step?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/emsec/ChameleonMini/issues/21#issuecomment-366060669, or mute the thread https://github.com/notifications/unsubscribe-auth/AVI4uJPXNV6Z4XOQM4Iz-hWqTI4qqlzEks5tVJuEgaJpZM4KSGyk .

yaxax commented 5 years ago

I still do not know how i should go further when I have key a & b in the output of the chameleon mini reve. I also have many times read the data sheet but understand a little bit of it because is in english and my english is not so good. I still don't know how to put key & a & b on a card when I get key a&b from the chameleon mini reve.Can somebody help me out whit some advice .