Pages:
Author

Topic: aVanityGen Alpha v0.2: Vanity address generator for Android. [UPDATED 1/11/12] (Read 11412 times)

sr. member
Activity: 378
Merit: 250
Links are broken, i can't download it, my personal computer is broken, so i need to generate my addresses with my smartphone, please op, can you re-upload the normal version?
legendary
Activity: 1470
Merit: 1001
Use Coinbase Account almosanywhere with Shift card
Link to sources work, plus, always better to build from source. As for updates, well I was pretty clear that there was no interest in the project so I have not worked on it at all.

Well almost no interest. Is this also affected but the now corrected random number bug in android?

legendary
Activity: 2912
Merit: 1060
of course use
vanitygen -X 48
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
So I can run a vanity gen on windows for ltc your saying?
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
But there's already a Windows one of which this one was BASED on
Exactly! In fact, I've borrowed the main loop from VanityGen by samr7, and glued the code to Android via JNI, I've also borrowed from BitcoinJ, but most of the Java code is mine. It isn't explicitly mentioned, but I am not much of a copyright person, anyway, it's open source so...

I hadnt seen a ltc one just btc.
The program has had LTC support for some time now. Just look at the screenshot on the first page what it says https://bitcointalksearch.org/topic/avanitygen-alpha-v02-vanity-address-generator-for-android-updated-11112-101612
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
But there's already a Windows one of which this one was BASED on
Exactly! In fact, I've borrowed the main loop from VanityGen by samr7, and glued the code to Android via JNI, I've also borrowed from BitcoinJ, but most of the Java code is mine. It isn't explicitly mentioned, but I am not much of a copyright person, anyway, it's open source so...

I hadnt seen a ltc one just btc.
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
But there's already a Windows one of which this one was BASED on
Exactly! In fact, I've borrowed the main loop from VanityGen by samr7, and glued the code to Android via JNI, I've also borrowed from BitcoinJ, but most of the Java code is mine. It isn't explicitly mentioned, but I am not much of a copyright person, anyway, it's open source so...
legendary
Activity: 2912
Merit: 1060
But there's already a Windows one of which this one was BASED on
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
I assumed you would understand I would be looking for a version for windows based on what I said.
legendary
Activity: 2912
Merit: 1060
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
Link to sources work, plus, always better to build from source. As for updates, well I was pretty clear that there was no interest in the project so I have not worked on it at all.

If you were to add a windows gui for it with all the different coins then I would kick in 1 btc. I want a faster way to get a ltc vanity address.
Erm, this is for Android, so I am not sure how a Windows(Microsoft?) GUI would help here.
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
Link to sources work, plus, always better to build from source. As for updates, well I was pretty clear that there was no interest in the project so I have not worked on it at all.

If you were to add a windows gui for it with all the different coins then I would kick in 1 btc. I want a faster way to get a ltc vanity address.
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
Link to sources work, plus, always better to build from source. As for updates, well I was pretty clear that there was no interest in the project so I have not worked on it at all.
legendary
Activity: 978
Merit: 1001
legendary
Activity: 2912
Merit: 1060
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
OK, been a long time, sorry for the delay. I have not worked on the application for a very long time.

Here are the sources https://mega.co.nz/#!SMlxlZDA!bqrtjn5ofRJ1Y16ePrLGvWFDolwuBm_iMTPB2lF81zc they depend on PCRE and OpenSSL(the SO bundled are OpenSSL 1.0.1c and pcre)

Meanwhile, I'd like you all to know that this was my first Android application, and first involvement with Java. Most of the initial code I wrote on my phone. Overall, as a programmer, I am not very good, my understanding of Bitcoin is that of any new person who has never heard of it, but I still attempted this project.
If you feel like the code is written horribly, which I am sure it is, feel free to fork it.

And if you find ANY problems with the code which might make the application produce insecure keys, please do patch it, and I will update my post with the changed application. I was told that by default OpenSSL uses /dev/random for getting it's entropy, but I've heard in a lot of places that /dev/random might not exist under Android, so this should be looked into.

If by chance it does produce insecure keys, do remember I've said it's in Alpha stage and you shouldn't really use the private keys produced.
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
Err, no. I indeed got the calculation wrong... I since rewrote some of the code and got some real speed/s figures this time. I also added Java-side verification of Privkey->Address. Slows down Single address generation, but well worth to ensure that what you see is what you get. The main change is that I use the PCRE library which further increased the size, however it's also native code so should be faster than Java side.

And no, address generation is DEFINITELY not rigged. The only problem I saw however was that Android might not have /dev/random or /dev/urandom sources of entropy where OpenSSL got it's seed from on Desktop Unix/Unix-like systems, but I've asked on Stackoverflow and they've assured me it exists and is being used(no real way to verify other than to use the cryptographically strong entropy from Java side and pass it onto JNI).

Anyway, I haven't had much time to work on it seeing as it was barely "popular". My goal was to add apart from Multi-chain setups,but also Mini private keys(I already wrote the java implementation myself) and other features you'd see today in Desktop applications. I plan to release the source code when I am confident it doesn't suck as much Tongue.
Looking at the casascius client, there are very good features concerning encrypted private keys(passphrases) and whatnot.

Ah yes, trust me or not..it's using ludicrous amounts of RAM. The per-process limit is 16-24 megabytes, and mine is already using well over 11. I cannot find the problem, the emulator is fine though... My only guess is the UI elements.

EDIT:Currently, on my SGSII I get about ~7500 keys per second. The pattern 1abc(anywhere in the address) took about 45 seconds. Give or take a few since I had to count myself. Another took around 20 seconds(lucky). Timer needs to be fixed..fffuuu.

And if you have time, do analyze the memory dump http://www.filedropper.com/work_3...I am dying to know what's causing the insane amount of RAM usage.
sr. member
Activity: 448
Merit: 254
moreover: What i do not understand: Why do people here worry about that the app may send the priv key to a server when the app does not have any android permissions at all (neither internet permission, nor permission to write to sd card...)?

Tinfoil hat on:  It could instead have a rigged "random" number generator so that the creator can re-generate (or pre-generate) the same sequences of keys.  No network access involved.
sr. member
Activity: 278
Merit: 251
Bitcoin-Note-and-Voucher-Printing-Empowerer
feedback to the app (honeycomb 3.0.1)
1) It takes too long because it misses many hits! Example: I search for "^1a.*" --> I should expect that 1 in 58 addresses matches this pattern (because of base58 alphabet there are only 58 possibilities for the first character after the leading "1"), but it takes many 100s (sometimes 1000) tries before the search algo stops. Hence there is something fundamentally wrong.
2) false positives: sometimes it stops without having found a match. E.g. I search for "abc", and it stops at an address that has abc nowhere inside the string. Hence there is something else fundamentally wrong.
3) printing the number of searches continuously is a nice GUI feature but slows down the search process a lot. there should be the possibility to switch it off, or it should only print that number once every full 100 searches or so!

moreover: What i do not understand: Why do people here worry about that the app may send the priv key to a server when the app does not have any android permissions at all (neither internet permission, nor permission to write to sd card...)?
Pages:
Jump to: