Giter VIP home page Giter VIP logo

notecipher's Introduction

NoteCipher

A simple and secure note taking app previously known as notepadbot.

Showcase app for SQLCipher for Android and CacheWord.

 git clone https://github.com/guardianproject/notepadbot.git
 cd notepadbot
 git submodule update --init --recursive
 ./setup-ant.sh
 ant -buildfile app/build.xml clean debug
 ls -l app/bin/NoteCipher*.apk

Development Setup

Follow these steps to setup your dev environment using Eclipse:

  1. create a new Eclipse workspace in the root director of the repo.
  2. For Cacheword, import this directory external/cacheword/cachewordlib/, using "Import -> Android -> Existing Android Code Into Workspace":
  3. Then, "Import -> General -> Existing Projects Into Workspace" for the app/ directory.

License and Credits

This project is licensed under the Apache version 2.0 license

Copyright (C) 2013 Abel Luck [email protected] Copyright (C) 2011-2013 Nathan Freitas [email protected] Copyright (C) 2011 Hans-Christoph Steiner [email protected] Copyright (C) 2008 The Android Open Source Project Copyright (C) 2008 Google Inc.

notecipher's People

Contributors

abeluck avatar eighthave avatar kbsymanz avatar n8fr8 avatar uberspot 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notecipher's Issues

no option to open text file via NoteCipher?

importing a basic .txt file would be a great option to have for notecipher, and probably more useful than the current (working) image import option.

actually i thought that this feature was already built-in, but when selecting a .txt file from a file manager application like ASTRO or the built-in CM File Manager, notecipher doesn't appear to be able to receive that intent.

notecipher ignores existing notes on upgrade, then freaks out

On a Samsung Galaxy Note II running CM10.1, upgrading fails. I made a note store with the version in Google Play, then the current version didn't find it and asked me to set a new passphrase. Then it was crashy, so I think it was partially detecting the old note store. I'm using the latest nightly build from today.

Here's how to reproduce:

  1. install NoteCipher from Play
  2. set passphrase
  3. create a couple notes
  4. upgrade to this APK: https://guardianproject.info/builds/release-staging/NoteCipher-release.apk
  5. start app, (prompts to set passphrase)

app broke with new jars

The app works as normal but cannot retrieve any notes. After a very quick look I can see that the sqlite3 is throwing a DatabaseObjectNotClosedException when inflating NoteEdit. Looking deeper I can find no database in the /data/data/... folder. However the notes are in the listview. No time to dig deeper now...

NoteCipher force closes on Huawei Union

Model number: Y538
Build number: Y538C237B150
CPU: Quad core 1.1 GHz
RAM: 1.0GB
Internal storage: 292 MB free
8.00 GB total
Resolution: 480 x 854
Android version: 5.1.1
Android security patch level: Dec 1, 2015
Baseband version: 11306101
Kernel version: 3.10.49-gc9c3b8c
Android@localhost #1
Fri Dec 18 06:42:11 CST 2015

EMUI Version: EMUI 3.1
Hardware version: HL1Y538A1M

Enter passphrase

I use a bluetooth keyboard would be nice to be able to hit enter

F/Con start, D/L'd from F-Droid Repo on CM9

Simply put, closes immediately when opened with a message saying 'unfortunately, notecipher has stopped'. No visible interface at this point and no setup.

Using CM9 on a Samsung Galaxy S 2, fresh update of the official guardianproject f-droid repo (only 1 notecipher version appears).

Would love to get working, used to.depend on this when I was running stock rom!

Phone wiped. . recovered backup folders. . cipher doesn't find them: (

I am experiencing a similar scenario: My phone went missing(gallaxy noteII). After offering $20, waiting,.. nothing_.. then $200... suffice to say; some innocent street urchin managed, for his girlfriend.. to sell it back to us after a wld goose chase, for $20!

Anyways, aside the miracle story involving prayers to both the ascended self in time, as well as root coriographers of the universal construct... my phone had a recovey option from the factory reset boot window. Using recovery, we managed to salvage nearly all apps file folders on both the native; and ectended memory key. The .apks' themselves had to be recovered from the Google play repository. Most of the apps re-adopted the saved work folders on disk. Alas; NoteCipher has not as of yet been one of them.

When i reinstalled it.. did not re-adopt... even after entering the exact same password to spring it into action. I had half of a short novel started, and various synopsiss' for other works in those AES 256 encrypted files, and would so like to find them, and gain re-entry!

Lot of work in there ... hoping all is not lost. . . do they have a recogniseable file extention? Can anyone suggest a course of action to help us?

Change dialog titles for set p/w and enter p/w

Support configurable layouts for dialog box to differentiate between setting up p/w and entering one.

Probably don't need this type of feature in a simple sample application but would be nice to clean up.

Feature request: Remember font size changing between sessions

Qutting notecipher causes any font size changes to be lost.

It'd be nice if notecipher remembered the font size change between sessions or possibly per note.

Version info:
Notecipher: 0.0.7.1 from F-Droid
ROM version: cm-11-20141115-SNAPSHOT-M12-maguro (android 4.4.4)

Menu option(s) still available after failed p/w entry

It's still possible to select 'new note' even after a failed password entry. It would be simpler to just fully exit app on password failure - but we do need to account for some fat-fingering and inadvertent p/w failures.

NullPointerException: NotesDbAdapter.close(NotesDbAdapter.java:161)

java.lang.NullPointerException
at info.guardianproject.notepadbot.NotesDbAdapter.close(NotesDbAdapter.java:161)
at info.guardianproject.notepadbot.NoteCipher.lockDatabase(NoteCipher.java:331)
at info.guardianproject.notepadbot.NoteCipher.onMenuItemSelected(NoteCipher.java:424)
at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:993)
at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:156)
at android.widget.AdapterView.performItemClick(AdapterView.java:298)
at android.widget.AbsListView.performItemClick(AbsListView.java:1104)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2792)
at android.widget.AbsListView.onTouchEvent(AbsListView.java:3480)
at android.view.View.dispatchTouchEvent(View.java:7565)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2205)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1940)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2211)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1954)
at android.widget.PopupWindow$PopupViewContainer.dispatchTouchEvent(PopupWindow.java:1646)
at android.view.View.dispatchPointerEvent(View.java:7745)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3906)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3801)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3396)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3446)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3415)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3500)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3423)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3557)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3396)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3446)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3415)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3423)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3396)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5446)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5426)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5397)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5520)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:182)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:136)
at android.os.Looper.loop(Looper.java:197)
at android.app.ActivityThread.main(ActivityThread.java:5225)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)

user message

  • any of your apps I try to use are being breached by a dupe device w/my gmail using team viewer and be anywhere. just had bank app and accounts dipped as well.

FC on initial p/w setup

Tested the app this evening on a large variety of lab devices and got FC on every one except the trusty n1. The logcat info for the first device failure can be found here: http://pastebin.com/FS1zM8xw. I didn't logcat on any additional devices as the bug looks to be the same (at least on the surface).

ID-----Device_Type------------(ROM)
01-----mytouch 3g--------------(stock 2.2.1)
02-----htc magic-----------------(cm 6.1)
03-----moto droid---------------(stock 2.2.1)
04-----moto droid---------------(stock 2.2.2)
05-----htc_wildfire--------------(stock 2.2.1)

Problem with ant build??

So I just pulled from the repo, updated the project via the command line so I could build using ant:

android update project --name notepadbot --target 3 --path .

Compilation works just fine, but upon deployment I get the following error:

Added shared lib /data/data/info.guardianproject.notepadbot/lib/libstlport_shared.so 0x40635bf8
D/dalvikvm( 511): No JNI_OnLoad found in /data/data/info.guardianproject.notepadbot/lib/libstlport_shared.so 0x40635bf8, skipping init
D/dalvikvm( 511): Trying to load lib /data/data/info.guardianproject.notepadbot/lib/libsqlcipher.so 0x40635bf8
D/dalvikvm( 511): Added shared lib /data/data/info.guardianproject.notepadbot/lib/libsqlcipher.so 0x40635bf8
D/dalvikvm( 511): No JNI_OnLoad found in /data/data/info.guardianproject.notepadbot/lib/libsqlcipher.so 0x40635bf8, skipping init
D/dalvikvm( 511): Trying to load lib /data/data/info.guardianproject.notepadbot/files/libsqlcipher_android.so 0x40635bf8
D/AndroidRuntime( 511): Shutting down VM
W/dalvikvm( 511): threadid=1: thread exiting with uncaught exception (group=0x40014760)
E/AndroidRuntime( 511): FATAL EXCEPTION: main
E/AndroidRuntime( 511): java.lang.UnsatisfiedLinkError: Cannot load library: load_library[1108]: Library '/data/data/info.guardianproject.notepadbot/files/libsqlcipher_android.so' not found
E/AndroidRuntime( 511): at java.lang.Runtime.load(Runtime.java:390)
E/AndroidRuntime( 511): at java.lang.System.load(System.java:534)
E/AndroidRuntime( 511): at info.guardianproject.database.sqlcipher.SQLiteDatabase.loadLibs(SQLiteDatabase.java:93)
E/AndroidRuntime( 511): at info.guardianproject.notepadbot.Notepadbot.onCreate(Notepadbot.java:90)
E/AndroidRuntime( 511):

Is there anything needed explicitly? I can modify the source and use System.load("/data/data/..../libsqlcipher_android.so") and verify it's loaded, etc, but I still get an error leading me to believe that something is missing...

Making the text in a note smaller actually makes it larger.

When in a note, selecting 'smaller' causes the text in the note to be made bigger instead of smaller.

Selecting bigger makes the text bigger as expected.

Reproducible all the time even in a new note.

Version info:
Notecipher: 0.0.7.1 from F-Droid
ROM version: cm-11-20141115-SNAPSHOT-M12-maguro (android 4.4.4)

Latest Code?

It seems to me that the app that is hosted on the Play Store is more recent that the sources in Github. I say that because the android:versionCode in the manifest in the Play Store is 11 while on Github it is 10. Also, some behavior is different between the Play Store version and what I compile and run myself based upon the Github sources.

If this is the case, can the source code on Github be updated to the latest to match the Play Store? I would like to submit more pull requests but I want to be working with the latest code.

RuntimeException: Unable to resume activity

There have been about 30 of these reported on Android 4.x

java.lang.RuntimeException: Unable to resume activity {info.guardianproject.notepadbot/info.guardianproject.notepadbot.NoteCipher}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=0, data=null} to activity {info.guardianproject.notepadbot/info.guardianproject.notepadbot.NoteCipher}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2111)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1204)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4928)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=0, data=null} to activity {info.guardianproject.notepadbot/info.guardianproject.notepadbot.NoteCipher}: java.lang.NullPointerException
at android.app.ActivityThread.deliverResults(ActivityThread.java:3215)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2605)
... 12 more
Caused by: java.lang.NullPointerException
at info.guardianproject.notepadbot.NotesDbAdapter.fetchAllNotes(NotesDbAdapter.java:211)
at info.guardianproject.notepadbot.NoteCipher.fillData(NoteCipher.java:382)
at info.guardianproject.notepadbot.NoteCipher.onActivityResult(NoteCipher.java:547)
at android.app.Activity.dispatchActivityResult(Activity.java:5434)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3211)
... 13 more

RuntimeException: Unable to resume activity

There have been 42 of these reported:

java.lang.RuntimeException: Unable to resume activity {info.guardianproject.notepadbot/info.guardianproject.notepadbot.NoteEdit}: java.lang.IllegalStateException: trying to requery an already closed cursor net.sqlcipher.CrossProcessCursorWrapper@426b5850
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2764)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2793)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5168)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: trying to requery an already closed cursor net.sqlcipher.CrossProcessCursorWrapper@426b5850
at android.app.Activity.performRestart(Activity.java:5247)
at android.app.Activity.performResume(Activity.java:5270)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2754)
... 10 more

Here are some comments:

  • crash when sharing note via gmail
  • again crash...over over time crasinhg wish u luck to trobleshooting that bug...ha a nice Day www.twitter.com/Bocarte | about.me/pollakkamil ADD ME ALL I WANT BE CONNECT WITH U SEEYA LATER
  • note cypher has stoppedworking lg g2 e every time!!
  • Crash: Multitask, Reopen. Note10.1 gtn8000 4.1.2
  • I was copy pasting to Notecipher
  • Stopped when phone came out of standby
  • program stop every time screen locks
  • just running
  • when the screen shuts off you crash
  • o programa para sempre que eu saiu dele e tento voltar

security flaw: DoS attack possible by changing password

Reported via email:

Hello,

With regard to your note cipher app, it has a major security flaw which
allows for a major security breach.

Once the app is setup and your password is setup, you can exit out of the
app and re-enter the app as if you were someone who picked up your phone
and launched the app. When opening the app up, it asks for your passphrase.
You can just hit cancel out of that screen and press your native Android
key that displays menu options.

Once you do this, the menu options for the app pop up. One of the options
is to change the passphrase. You can easily choose that option, go through
the process of changing the passphrase and the app will actually change the
passphrase, even though the real master passphrase has never been entered,
thereby locking you out of your own app. Once you try to re-enter with your
initial passphrase (not the one someone else setup) it will not let you
enter.

Obviously, this is a major security breach that needs immediate attention.

Please notify me that you have received this.

Thank you very much.

[redacted]

Phone wiped. . recovered backup folders. . cipher doesn't find them: (

I am experiencing a similar scenario: My phone went missing(gallaxy noteII). After offering $20, waiting,.. nothing_.. then $200... suffice to say; some innocent street urchin managed, for his girlfriend.. to sell it back to us after a wld goose chase, for $20!

Anyways, aside the miracle story involving prayers to both the ascended self in time, as well as root coriographers of the universal construct... my phone had a recovey option from the factory reset boot window. Using recovery, we managed to salvage nearly all apps file folders on both the native; and ectended memory key. The .apks' themselves had to be recovered from the Google play repository. Most of the apps re-adopted the saved work folders on disk. Alas; NoteCipher has not as of yet been one of them.

When i reinstalled it.. did not re-adopt... even after entering the exact same password to spring it into action. I had half of a short novel started, and various synopsiss' for other works in those AES 256 encrypted files, and would so like to find them, and gain re-entry!

Lot of work in there ... hoping all is not lost. . . do they have a recogniseable file extention? Can anyone suggest a course of action to help us?

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.