Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

more utils #6

Closed
iceman1001 opened this issue Nov 29, 2017 · 32 comments
Closed

more utils #6

iceman1001 opened this issue Nov 29, 2017 · 32 comments

Comments

@iceman1001
Copy link
Owner

During the short time I have had time to play with a chameleon mini, I noticed an sense of missing utils.

Its like PM3, most stuff is there but you need to know where they are. Not super clear but there.

With Mini its not there. There is a python client, which I still haven't used.
So where is all the dump-utils, you know, where you convert from different sources like MCT, PM3, LibNFC, all have EML, BIN, MFD which is kind of the same but with minor differences.
And which dump formats is supported?! For a device which uses dumps, I see very little usability for endusers.

  • dump converters
  • dump + key mergers
  • dump viewers

Some of these exits for PM3, which we can just copy over, but still..

Which utils are you missing?

@kevin2008-01
Copy link

Hi,

.dump to .bin or .eml converter please.

Just rename the file ?

Thanks

@kevin2008-01
Copy link

Here, is the software pack with my chameleon.

http://uptobox.com/gyk7l878jzd5 if you want see.

@iceman1001
Copy link
Owner Author

Great!
Still such a raw enduser experience. Coming from Proxmark3, I thought Chameleon Mini would be kinder

@kevin2008-01
Copy link

yes iceman. i explore mf detect... but no success.... how to ?

@iceman1001
Copy link
Owner Author

mf detect?

@kevin2008-01
Copy link

is't possible add to gui, increment -1 / +1 same original ? or script, or....

@kevin2008-01
Copy link

MF_DETECTION Fonction with reader attak

@iceman1001
Copy link
Owner Author

aha. I see. No idea, since I don't have acces to the GUI source code. :(

@kevin2008-01
Copy link

Here,

The original mini rev G gui software.
http://uptobox.com/dkr4dgwdmsbz

@iceman1001
Copy link
Owner Author

Some dump converters from proxmark3 repo. Would need dump2eml aswell.

db0e443

@kevin2008-01
Copy link

@kevin2008-01
Copy link

kevin2008-01 commented Dec 14, 2017

Tank you very much.

@WolfgangMau
Copy link

WolfgangMau commented Jan 20, 2018

I hacked me a little terminal-wrapper in golang
it's nothing special, but at least it should work on osx, linux & windows in the same way
the folder compiled contains precompiled binaries
tested on osx (sierra) & windows7

@iceman1001
Copy link
Owner Author

Unfair, golang is so much simpler ;)
Great addition, wasn't a terminal wrapper in python before?!

@WolfgangMau
Copy link

WolfgangMau commented Jan 20, 2018

don't know ... I was just bugged while switching between windows and osx ;-)
and I try to setup at less as possible on windows (e.g. pythons or buldchain)
so laziness wins and I choosed golang
did make me also a eml2mfd in golang :-D

@iceman1001
Copy link
Owner Author

I notice the tools from RevG is not here, lets see if we can add your repo also..
All those tools are commandline-based? I wonder if the GUI can be made in Go aswell?

ref:
https://github.com/emsec/ChameleonMini/tree/master/Software

@WolfgangMau
Copy link

WolfgangMau commented Jan 21, 2018

I've played around with go only for a couple of weeks, but have tried serval gui approaches .. all of this was not really satisfying, since when it comes to third-party bindings, like Qt per example, then
the 'works on my machine'-effect comes into place again.
Some people like to fake a 'gui' with web-server and webviews (in my eyes very ugly)
I like Go because of the static linked binaries and the 'easy-to-use' cross-compiler , which makes it very handy for small cli-tools.
Unfortunately I didn't found a cool & easy to use xmodem library .. would have that integrated too, like in the chamtool.py

the chamtool actually didn't work with the revE-rebooted ... could probably be adapted
because it works with the revG - thus should be easy for a python-guy to make this work ...
I should have learned python, so maybe a good point to start with ... looks not too complex :)
But honestly - I don't like python because of the headache with the versions, modules (pip helps here a lot - but still annoying) and all that stuff, that's needed to make it work for a little script ;)
again the 'works on my maschine effect' comes into place.
I'm a lazy guy, and like to get things done (often quick and dirty) - python always eats my time :-D
the clear advance of python is: there are modules for nearly everything 👍

a short look into the python-code made things clearer, why it was not working.

so, I

  • adjusted the USB_VID & USB_PID in__init__.py to what lsusb spits out
  • adjusted the commandset in Device.py (mostly appended the 'MY')
  • changed self.getSetCmd(cmd, self.SUGGEST_CHAR) to self.getSetCmd(cmd) in Device.py

now I'm over the Unable to establish communication on /dev/cu.usbmodem1411 👍
but I have only tested UPLOAD (-u) and SETTINGS (-s)
so, if I could do that without much python-knowledge, a real python-guy could fix the whole script easily

@WolfgangMau
Copy link

WolfgangMau commented Jan 21, 2018

if someone grant me branch-permissions, I could push it ;-) ^^

@iceman1001
Copy link
Owner Author

What pushing rights?? You should fork it, make changes, push it, make pull request.. It should work, no?

I think I have sen somewhere that you can add other repos into a repo.. I was thinking adding your repo like that. Notice how general terms I'm using, since I am not at all sure that it works. I think I saw it under Hydrabus repo... Do you or anyone else know how that works?!?
(https://github.com/hydrabus/hydrafw/tree/master/src) I think chibios was added like that..

@WolfgangMau
Copy link

WolfgangMau commented Jan 21, 2018

No, I don't know that much about github ;-)

I don't really want to collect forks in this account - I used to create feature-branches, which got merged, once they are finished, or deleted if they never got finished.
Otherwise I would have my account full of forks with minor differences at first, and getting into a rebase/merge-hell later on.
I don't like the pm3-fork-hell either - you always have to clone another fork, just to have a single feature ... maybe I'm wrong, but that sounds not that practical to me
if i need particular working plotting features, i have to use marshmellows fork, on legic mine, on new stuff yours ... and some of them even change the device enumeration ;-)
thats really uncomfortable, because no one really seems to takes care of a stable master-branch ... all have master-branches which are not stable at all and should be considered as testing-branches (not even development-branches).

but I can simply provide tar's or zip's with my changes and let others walk through the merging-hell as well - it would then not be traceable at all .. it's more like the sneaker-net back in the 80's/90's ;-)
chamtool.zip

@bogiton
Copy link
Collaborator

bogiton commented Jan 21, 2018

Good job @WolfgangMau.
I was playing with chamtool and chamlog a few weeks ago. The main reason it wasn't working was the "MY" extension of the terminal commands that the rebooted firmware has. I think that after I added that, it was working ok (for the supported commands at least).
I will test your version later tonight.

@WolfgangMau
Copy link

WolfgangMau commented Jan 21, 2018

it was a little bit more than just the commands - as I mentioned above ... you would see after diffing ;-)
now I'm working on a Chamgo-UI - but still have no glue how to get the up-/download getting to work since I found no suitable xmodem lib for golang ... al I found was not usable for us, since it was designed for networking instead of serial ... but we will see how far I can get ..

@iceman1001
Copy link
Owner Author

yeah.. that xmodem sure does take space on the device. In order to up/download, doesn't MF_DETECTION skip xmodem? Would be nice just to get rid of it.

@bogiton
Copy link
Collaborator

bogiton commented Jan 21, 2018

To be honest, I am not sure if Linux/OSX users would use a GUI instead of the command line tools.
Personally, I would go with a rebooted chamtool, since it is already there.

@WolfgangMau
Copy link

even if it's just for me - I would like to have a GUI ... since it's more comftable

@iceman1001
Copy link
Owner Author

... I saw others make a golang client for pm3 and the crosscompilation is amazing. You get support on so many OS's outof the box.

@bogiton
Copy link
Collaborator

bogiton commented Jan 21, 2018

Hmm, ok then we should give it a try :P

@iceman1001
Copy link
Owner Author

Well.. First we make windows GUI that we like and we are happy with.

Then someone who likes Go can do a GUI based on the Windows version :)

@WolfgangMau
Copy link

WolfgangMau commented Jan 21, 2018

the static go ui (libui) is very limited - so no fancy shit at all :-D
simple but working (mostly) ... more can I not achieve here with Golang
will not look much better than the existing gui

@WolfgangMau
Copy link

mostly working version for windows, linux & osx
due to my 'one man show' and missing knowledge about C, QT and Go ... the sourcode looks like crap - but it works ( at least for me on osx high sierra)
the mfke32v2 thingy works with a workaround, since I was not able to migrate the c-code to go-code and also I didn't get it to work which including the c-code (should be possible, but I didn't get it managed in a reasonable time)
windows (windows7 32 bit) & linux (debian 9.3.0 64bit) was tested on virtualbox
osx was tested on a native macbook

@iceman1001
Copy link
Owner Author

Nice!

@iceman1001
Copy link
Owner Author

closing since no action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants