Giter Club home page Giter Club logo

memtypetool's Introduction

MemTypeTool

MemType Tool - New GUI For managing the MemType Offline password keeper:

Documentation

The documentation for the MemType can be found here: http://www.area0x33.com/documentation/memtype.html

Linux

Under release folder download linux64.tar.gz for a 64 bit linux.

Extract the contents:

tar xvfz linux64.tar.gz

And execute the launcher.

If no device is found when running the GUI, check the usb permissions. For ubuntu users there's a udev rules file with the right permissions:

sudo cp 99-MemType.rules /etc/udev/rules.d/
reboot

Windows, MacOSX & Others.

There is a virtualbox Lubuntu image with MemType GUI preinstalled that runs in any OS where virtualbox can be run.

  1. Install VirtualBox and the Extension pack. https://www.virtualbox.org/

  2. Download and extract (using 7-Zip) the Lubuntu image: https://github.com/oyzzo/MemTypeTool/releases/download/1.0.1/Lubuntu.17.04.64bit.vmdk.7z

  3. Create a new Linux (Ubuntu) 64bit Machine in VirtualBox, when asked for the disk open the extracted Lubuntu vdk image.

  4. Run it and add the memtype device (Devices --> USB) to the virtual machine.

NOTE: The password for the virtualmachine user is same as the user name: memtype.

Done!

Compiling

Compiling the sources is super easy!.

  1. Install QT-Creator with QT5.5 or above. http://www.qt.io/download-open-source

  2. Download and extract the sources: https://github.com/oyzzo/MemTypeTool/archive/master.zip

  3. Open the MemtypeManager project in QT-Creator.

  4. Click the build and run green play button!

You'll find the compiled binary inside a build folder.

Keyboards

Using the GUI you can change the MemType keyboard layout to match your computer keyboard layout. The current available layouts files are located under keyboard directory.

About

memtypetool's People

Contributors

jim17 avatar oyzzo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

memtypetool's Issues

[C++ rewrite]

If in Set PIN action, the new and old PINs are the same, don't do anything. Save time :)

Add utf-8 support

Add support for utf-8 characters that will need several key presses.

Test on windows

Make it work on windows for god sake! (if it doesn't alerady)

GUI add user feedback

Notify use after setPin or setKeyboardLayout or writeCredentials has finish (maybe a text can be added on the console).

German keyboard issue with < | >

The with German keyboard layout the three characters < | > are not working. They are on key position 45 of a 102 or 106 key keyboard https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.keyboardtechref/doc/kybdtech/Key.htm
The current codes are not generating any character. I tried on Ubuntu 16.4 and Windows 10.
Current DE-keymap is:
"<" = 3
"|" = 67
">" = 131

From other codes about German keymap for Arduino I found that the "<" key has code 0x64 = 100 (like in original code), but this generates a "{".

Implement the "Set PIN" functionality.

Implement the Set PIN functionality so the user can change the default PIN.
Take care or let know the user: reading, encrypting with the new key and writting or everything will be lost.

Solve graphical issues.

Test the GUI on different resolutions and Operating Systems to see how Qt shows everything and solve all the graphical issues.

Add encryption for export/import file

I need a way to securely store/backup the passwords encrypted too. Thus I would like to propose to add e.g. GPG encryption or any other suitable method to the export and import file buttons.

[C++ rewrite] Check PIN on GUI actions.

Add PIN checks on (encryption) write and (decryption) read.
Also on set PIN and set keyboard layout functionalities.

Perform actions if PIN is not correct.

Memory corruption when trying to read 2 or more entries

I can read and write one entry, but not two, then I get:

*** Error in `/home/jens/linux64/./MemTypeManager': malloc(): memory corruption: 0x000055f15de96500 ***
Followed by a whole lot of rows.

Even if I can only read one entry, I can write many. The test is performed on Mint 18.1 with credentials that only uses a-z, \t, \n. I have tried with two different sticks sticks. The software used is from the precompiled folder linux64.

GUI crashes if >90% memory used

If I create lots of credentials (memory is > 90% occupied) then GUI would crash if I try to upload.
This happens in Ubuntu 17.04.
In Puppy Linux works fine.

Crashes as soon as it finishes reading (Ubuntu 16.04)

I enter the correct pin, click on the read button, it goes up to 99% and crashes, with this error message:

*** Error in /home/user/Downloads/MemTypeTool/release/linux64/./MemTypeManager': malloc(): memory corruption (fast): 0x00005628592ae500 ***

I got the linux64 folder by doing tar xvfz MemTypeTool-1.0.0-linux_x64.tar.gz, and I ran MemTypeManager.sh

Add PIN validation

When asking for the PIN for decrypting or encrypting the data, validate it and let it know if it's wrong instead of using it to encrypt or decrypt and get unusable data.

[C++ Version] Clear PIN after every transaction.

I compiled the C++ version of this and have been testing it out for my new memtype (just got it today :) ) and have noticed that when entering a PIN into the textbox it stays there as long as the window is open. This seems quite risk to just leave it and could lend the risk of someone click the show button and finding your pin.

I think it would be best to clear the textbox every time an action which requires is done, reads, writes, exports, etc

Changing PIN makes the software crash.

Changing the PIN from 0000 to something else makes the software crash. If restarting the program and then trying the new PIN does not work, but the old 0000 works. When reading and 100% is reached the software crashes again.

If setting the PIN again in the same way as above, it crashes again, but this time it starts writing before crashing, and if then starting the software again it is possible to use the software with the new PIN and the database is readable again.

Adding Keyboards

Its says on hackaday.io "Easy to generate keymaps, edit the example file and generate the one for your keyboard map and language."
How do we do this?

New credentials dialog appears behind mainWindow

Sometimes When pressing the "+" icon, no dialog appears. IT turns out that it is hidden behind mainWindow. Restarting the software does not help. The dialog will not appear in front of the mainWindow until it is moved there manually, but after that it will stay in front even when restarting the software. This is not a great issue, but it took me some time to figure out the first time it happened.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.