Greetings Dear Friends,:highfive:
This will be a short tutorial on (1) WHY? , and (2) HOW? , GREAT ROM developers (and software programmers in general) post the cryptographic file hash values, along with the download links to their files.
This can easily become a LaBrea Tarpit (pun, haha), if you get 'stuck' on the word Crypto. But the sense that the word Crypto applies to this tutorial, has absolutely NOTHING to do with encryption, and nothing to do with signing any files, and nothing to do with X.509, or SSL, or anything related to non-repudiation, authentication, or secrecy. The methods of verifying the hash values described in this tutorial, are but one small area within the much broader field of Cryptography. The algorithms used to derive the digest values (aka, checksums) , and they only refer to the techniques and algorithms, which are similar (and to an extend, to some of the data standards), between those activities, and the primary activity that this tutorial is concerned with, namely, determining the identity of a file copy, matches the identity of the original file it was copied from.
To put it another way, let me quote my friend Jim Bridgman here, "We have both SHA-512 and Md5 going on, on the Atrix2 [for example, in the signed bootloader]. I don't want people becoming confused and thinking that the fxz and roms are signed with a "pure" crypto SHA-3 hash, when it is a cheksum derived from a crypto style hash." --- so, before going any further, please understand that this is not the top-secret spy type of stuff. As Jim points out, the hash functions that create the hash values in this tutorial are used as just plain ol' "typical... checksum{s}, and not the secure signature that most think of and understand from things like SSL, and RSA in thier VPN software".
This OP here is perhaps already longer than it truly needs to be, but it will also perhaps grow over time. That is because I do not currently have easy access to an Apple Mac computer, so I will begin with instructions focused on Windows users, then Linux, and lastly the Mac platform (I'm sort of hoping someone will help me out by posting some original screen caps and some basic instructions for Mac Users). In order to keep this tutorial to within some reasonable length, I am not going to try and describe how a message digest algorithm works (actually, they all works slightly different). But for the truly hard-core nut, here are some links to make you happy, if you wish to know more:
http://en.wikipedia.org/wiki/Md5
http://en.wikipedia.org/wiki/SHA-1
http://en.wikipedia.org/wiki/CRC32
http://en.wikipedia.org/wiki/Checksum
http://en.wikipedia.org/wiki/Cryptographic_hash_function
Thus, let us begin then...
(1) WHY should this behavior separate the GREAT DEV'S :angel: from the CRAPPY DEV'S :cyclops: ? The answer to this question is 2-fold, and includes a technical answer, as well as a philosophical one. First, you WILL eventually come to understand that many technical factors can result in a file downloaded that is not a perfect copy of the original. Network congestion, ISP Nazi-Proxies, failure to use Google DNS, hard-drive and other hardware/wire intermittent instabilities, human error, and many other problems can corrupt or cause loss of bits and packets in files. A cryptographic hash, is a VERY reliable way to positively identify the file, as a nearly exact copy (as near you will ever need). If a dev is egotistical (enjoys posting as showing-off primarily), is slightly sadistic (enjoys causing frustration), lacks empathy (never sympathizes with others), or is just plain sloppy and error-prone (makes more mistakes), they are less likely to take the extra time and effort to post any hash values. If a dev is detail oriented, cares about others (that social investments come back), has integrity (takes the honorable route), and take pride in their work (wants to pursue excellence), they are more likely to post hash values. :victory:
==========================================================
WINDOWS USERS
(2) HOW: There are a number of software applications that are totally FREE, that can make it a trivial (easy) task to obtain the hashes of a file. The program I use most often is called "HashTab" and it can be found here. Hashtab essentially adds a tab to the 'properties' of files, inside Windows explorer.
STEPS: So after you install HashTab, then right-click any file, select 'properties' and then the 2nd or 3rd tab over will be a tab labeled "File Hashes", which you can open, and then right-click again on one of the 3 default hashes (the most commonly used hash algorithms, CRC, MD5, and Sha-1), and select "Copy All" as you see in the screencap below:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
TYPICAL HASH VALUES:
CRC32: 0ED8B0A6
MD5: 7F9790B04684DA66222A4EAFE323CB2E
SHA-1: F839029742F73E508557E7B0674C5CE0B06AD815
There are other ways to also click both files and then do a comparison, so by all means, feel free to experiment with other methods and/or other applications.
==========================================================
LINUX USERS
(below commands, and screen capture image, compliments of Jim Bridgman --- thanks Jim!!)
Above image illustrates checking the md5, by using the proper command like this:
Code:
$ md5sum system.img
f9a74ca080a8ea2badb09c6d06badc42 system.img
EXPLANATION: In the above screen image, you can see that Jim was in the directory listed to the left of the $ sign, which is his 'prompt'. So he typed "md5sum system.img" (without the quotes), and the operating system then returned the result of that, which was the digest (basically, the hash value or checksum), and the name of the file that hash value corresponds to, which was "system.img". It is obvious that Jim perhaps ran the ls command (equiv. to dir in *nix), or he already knew that the system.img file was there. The first part he typed, aka, "md5sum" is the keyword for the function (or program application) that runs the command, and in this case, accepted the 'argument' which was the name of the file whose identity (checksum) is being checked.
==========================================================
APPLE MAC LION USERS
(coming soon, I hope?... with help?)
(below are some basic screenshots, from the HashTab website, used in accordance with "Fair Use" principles for non-profit, educational use only):good:
Apple Mac File Hashes (menu selection)
Apple Mac File Hashes (computing)
Apple Mac File Hashe (values displayed)
==========================================================
Hopefully, I have cleared up a little bit of confusion for someone new to the scene, or who may simply have never had the time to really research and understand a bit more about these hash values and why they are used the way they are (or how).
Best Regards,
Paul
ps. For easy reference, if you want to find this post again in the future, you can simply go here: links.PJR.bz/HashTabTutorial
Awesome, thank you for the great explanation!
Glad this is a sticky.
Thank for the HashTab link, it's nice to have something integrated into explorer instead of having to open a program to get the hashes.
congrats on sticky! this is super easy in linux. it is all built in to ubuntu. look it up, there is a shell command.
Here's an interesting link along these same lines.
http://forum.xda-developers.com/showthread.php?t=1727796
Very nicely done indeed! Thanks for the easy-to-follow explanation, and for putting this all together for us. Your posts are helpful and appreciated! Keep up the good work, Paul. :thumbup:
Sent from my MB865 using xda premium
Related
If you have a QVGA Smartphone like the HTC Vox / s710, you know well enough that most existing games and other graphics-based Smartphone apps (Windows Mobile 6 Standard) out there only use a postage-stamp sized screen area. An example of this is PDAMill’s Flux Challenge, which, being designed for the traditional low-res (176*220) Smartphone resolution, only uses part of the available QVGA screen estate:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
There were no widely known solutions for the problem. Some developers announced support for QVGA devices (for example, that of Cell Doom – see announcement HERE), but the most (including PDAMill) didn’t.
Fortunately, an excellent White Russian coder has come up with a generic solution, which not only makes it possible to run MANY (but not all!) games at full screen, but, in cases, also lets for using real (!) QVGA resolution with some titles (for example, emulators).
Downloading, installing
Go to this MoDaCo thread and download the ZIP file attached to the first post. You’ll need to register as a forum user if you aren’t able to access it. If you don’t want to bother with it, I’ve also uploaded the file to my database back-end; it’s HERE.
After this, just unZIP it and start GxQvga Patcher.exe. Should you encounter an error message complaining about the lack of the .NET Framework 2, you will need to download it HERE (note that some stated it only requires 1.1. I haven’t checked whether they’re right. The latter is accessible HERE.)
Using
This patcher app runs on the desktop, NOT on the Smartphone. This means you must transfer the main EXE file of the game / emulator / app you’d like to make use of the QVGA screen to your desktop computer first. To do this, use for example Total Commander with the CE file system patch (see THIS for an explanation of installing it) or, if you don’t want to bother, just the “Explore” button of ActiveSync.
Transfer the main EXE files (but nothing else) of the apps / games you’d like to patch to the directory of where the above-mentioned, just decompressed GxQvga Patcher.exe resides.
Now, start GxQvga Patcher.exe. It will present you a dialog:
In there, click “Select exe file to patch...". Now, select the EXE file you’d like to patch:
After letting it go on, you’ll be presented a message telling you the patching was successful:
Now, all you need to do is:
Copy the patched EXE file back to your MS Smartphone, making sure you overwrite the original EXE file
Go to the QVGA subdirectory on your desktop (just under the directory where GxQvga Patcher.exe resides), and copy XG.dll to the same directory on your smartphone
Start the game / app to see whether it worked; answer Yes to the message.
If the game / app still only uses 176*220 (and not the full screen), exit it and go to the SCALE (NOT the previous QVGA!) subdirectory on your desktop, and copy XG.dll to the same directory on your smartphone and copy XG.dll to the smartphone, making sure you overwrite the previously copied QVGA XG.dll. Now, start the game on your Smartphone. Hope it’ll use the full screen. If it still doesn’t do this, then, nothing can help, I’m afraid.
Examples of the before-after cases
PocketHobbitSP2003 (as of the current, Alpha 11 version) doesn’t support QVGA devices. As can be seen in the following screenshot, without patching, it only uses a stamp-size screen area in Portrait mode on QVGA devices:
http://www.winmobiletech.com/062007C64Emus/c64EmuDefaultStamp.bmp.png
After the patch and using the QVGA DLL, it becomes much bigger and, what is even more important, makes use of the full horizontal screen reoslution – that is, 240 pixels, resulting in MUCH more readable text:
http://www.winmobiletech.com/062007C64Emus/PatchedSEQVGAP.bmp.png
Incidentally, with the SCALE DLL, it also fills in the entire screen horizontally, BUT only upscaling the original, 176*132 rendition resulting in a MUCH inferiour real resolution & readability:
http://www.winmobiletech.com/062007C64Emus/PatchedSPVersionScaleDLLQVGAPortrait.bmp.png
This is why I’ve emphasized you MUST give a try to the QVGA DLL first and only give a try to the SCALE one when the former doesn’t deliver any results.
Recommended link
This MoDaCo thread discusses the converter at length. A MUST!
Thanks for this!
I think your contributions should be published in the wiki.
Cheers
JockyW
As you said, it was already posted on MoDaCo ...
But great anyway.
jockyw2001 said:
Thanks for this!
I think your contributions should be published in the wiki.
Cheers
JockyW
Click to expand...
Click to collapse
I wish I had the time to edit the Wiki... the sole reason I don't publish it is that there would be a LOT of manual editing involved as I couldn't create an automated script to convert everything into the local Wiki format (I had special problems with linked images, which just didn't want to work).
Menneisyys said:
I wish I had the time to edit the Wiki... the sole reason I don't publish it is that there would be a LOT of manual editing involved as I couldn't create an automated script to convert everything into the local Wiki format (I had special problems with linked images, which just didn't want to work).
Click to expand...
Click to collapse
That's what I wanted to add, though this was originaly posted on MoDaCo, I like your thread too for the pictures .
What's the point with the wiki? What's the problem with linked pictures???
KevinSephiroth said:
That's what I wanted to add, though this was originaly posted on MoDaCo, I like your thread too for the pictures .
What's the point with the wiki? What's the problem with linked pictures???
Click to expand...
Click to collapse
I have no time to reedit my articles when crossposting - I do everything with automated scripts. Unfortunately, so far, I haven't been able to come up with a script that would convert my articles 100% to the XDA-Dev Wiki - I had problems with the image conversions. Asmy articles are FULL of images, both linked and inline, it'd require a LOT of work to edit them all before submitting. I wish I had the time for that...
UbuntuChroot + LXDE for WebOS
Travis Antonio Projects
Hello my friends!.
The July 17 I was testing Ubuntu Chroot, then I was testing some APPs like "Synergy-Foss", "Chromium-Browser", "VNC" and some others, then I just got a idea to put a GUI in the XServer, first I tried to put XFCE4 but it was a big fail because of the graphics then I tried twice but any ways was fail "not a big ".
The July 20 I tried to install LXDE but after install only was shown the Wallpaper desktop screen, nothing else, I though I was doing something bad but when I saw the log there was not xorg.conf, then I made one for generic drivers and I did put it on /etc/X11/xorg.conf, and the Desktop UI was fully functionally, then I tried Synergy through my Windows 7 and was like I dunno but was awesome!. =D
MY PALM PRE PLUS PHOTOS:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
There was some bugs after install LXDE:
-Chromium after started the XServer resets.
-LXDE Terminal does not work.
-Monitor settings does not work.
/-----------------/
Guide:
-Install Preware.
-Put testing feeds on Preware:
PLEASE READ THIS RULES BEFORE USE TESTING FEEDS: http://www.webos-internals.org/wiki/Testing_Feeds
Name: webos-testing-all
URL: http://ipkg.preware.org/feeds/webos-internals/testing/all
Name: webos-testing-armv7
URL: http://ipkg.preware.org/feeds/webos-internals/testing/armv7
-On Preware install next:
*Install Xecutah
*SDLTerminal
-Open SDLTerminal
-In SDLTerminal do the next:
Code:
cd /media/internal
dd if=/dev/zero of=ubuntu.img bs=1024 count=1048576
mkfs.ext3 -F -b 1024 ubuntu.img 1048576
mkdir /media/ext3fs
The next image will be 1GB(1048576) if you need more just multiply (1048576)*2= 2097152(2GB)
-mount -o loop /media/internal/ubuntu.img /media/ext3fs
-Open Preware again
-Install Ubuntu Chroot
-Start Xecutah
-Open XServer
-Open Ubuntu
-NOW TO ENJOY!. =)
Keymap
Shift = Mayus
Alt = SubKeys
CTRL= Gesture Area
\ "Sym+Q"
Home "Sym+E"
Up "Sym+R"
Left "Sym+D"
Right "Sym+G"
[ "Sym+Y"
] "Sym+U"
< "Sym+I"
> "Sym+O"
| "Sym+P"
~ "Sym+S"
` "Sym+L"
(") "Sym+Mayus+L"
Escape "Shift+Space"
Tab "Control+I"
Click to expand...
Click to collapse
Now you can install whatever you want, just using "apt-get
/-/-/-/-/-/-/
Adding a Desktop:
*This is your own selection but if you want to install other you will need to do a little of hacking*
Instead of putting direct links to the testing feeds in your post, please point people to the Testing Feeds wiki page (http://webos-internals.org/wiki/Testing_Feeds) so that they can read the rules that they need to agree to before using the testing feeds.
You should also mention that it is WebOS Internals that has developed all this software, and perhaps even put a link to the WebOS Internals donation page, so that people who benefit from this free open source software can contribute towards the costs of keeping the Preware homebrew ecosystem running.
http://donate.webos-internals.org/
-- Rod
rwhitby said:
Instead of putting direct links to the testing feeds in your post, please point people to the Testing Feeds wiki page (http://webos-internals.org/wiki/Testing_Feeds) so that they can read the rules that they need to agree to before using the testing feeds.
You should also mention that it is WebOS Internals that has developed all this software, and perhaps even put a link to the WebOS Internals donation page, so that people who benefit from this free open source software can contribute towards the costs of keeping the Preware homebrew ecosystem running.
http://donate.webos-internals.org/
-- Rod
Click to expand...
Click to collapse
Well it says incomplete , Don't worry about it.
HP veer
How can i do to install it on my Veer?
TravisAntonio said:
Well it says incomplete , Don't worry about it.
Click to expand...
Click to collapse
Maybe my English is not good enough to comprehend that line.. but you read the rules @ Internals, right?
Other than that.. I think you're presenting yourself and your work kinda..well.. let's just say: To me, it seems like you're actively developing for WebOS, but as far as my knowledge goes you're "just" using the tools, already provided by others, use them as intended and present the results as your work.. (refering to your "Windows-build" for WebOS..?)
I'm not saying what you're doing is bad.. but pls respect intellectual property of others, and if you're building your projects on top of others, give them proper credits for what they have done.. and respect their rules regarding distribution and such.
______________________________________________________________
Other than that: Good work so far, keep it up
Oh.. and maybe you've already seen the Ubuntu-Chroot-thread in the HP Touchpad section for further referance?
Puenos said:
Maybe my English is not good enough to comprehend that line.. but you read the rules @ Internals, right?
Other than that.. I think you're presenting yourself and your work kinda..well.. let's just say: To me, it seems like you're actively developing for WebOS, but as far as my knowledge goes you're "just" using the tools, already provided by others, use them as intended and present the results as your work.. (refering to your "Windows-build" for WebOS..?)
I'm not saying what you're doing is bad.. but pls respect intellectual property of others, and if you're building your projects on top of others, give them proper credits for what they have done.. and respect their rules regarding distribution and such.
______________________________________________________________
Other than that: Good work so far, keep it up
Oh.. and maybe you've already seen the Ubuntu-Chroot-thread in the HP Touchpad section for further referance?
Click to expand...
Click to collapse
Worse than all that is the act of copying information from official sources (instead of linking to them) and then not having the decency to keep that copy updated as the procedure changes.
For example, the testing feeds are no longer needed for this, and the instructions in this thread for the testing feeds are obsolete and intentionally no longer work due to the actions of posters like this.
-- Rod
that would be something I would do simply out of lazyness.. copying everything while you could just link to the informations needed.. well..
But in this particular case..
7) "They will never post the raw testing feed URLs or instructions anywhere, but will always refer others directly to this page using only the URL "http://testing.preware.org/""
That was the first line I jumped onto when I went to Internals after getting my TP, and yeah.. rules are rules..
I have by far not enough knowledge to get why testing feed procedures changed or whatsover, I simply believe contribution should be held as simple as possible, giving anyone the same chance to help and of course giving anyone proper credits.
Sticking to rules should be taken for granted I think
Yes, everything is my bad, so don't worry, everything can be fixed. (=
And sorry to all the people this thread caused troubles.
TravisAntonio said:
Yes, everything is my bad, so don't worry, everything can be fixed. (=
And sorry to all the people this thread caused troubles.
Click to expand...
Click to collapse
plz help me i am using now hp pre 3 there is 2 problems appcatalog not open and palm profile not creat plz tel me any solution
ravitejaravi745 said:
plz help me i am using now hp pre 3 there is 2 problems appcatalog not open and palm profile not creat plz tel me any solution
Click to expand...
Click to collapse
I think palm profiles do not work anymore, all you can do is go to open webos and use their temporal solutions but it will die too in some manner.
Brother
I would want to have Palm Pre OS on Fluo M.
Hi!
So, here it is, my first Android app
What does it do?
Upload images to 666kb.com
What's 666kb.com?
A very simple image hoster like picasa, yfrog and hundreds of others.
Check it out: http://666kb.com/
So why 666kb.com?
Because it's simple and basic. probably as simple, basic and bare as an image hoster ever will be.
- no login
- no html around the hosted images. (hence no spammy ads)
- hard to guess urls, and no ability to browse images, so the link is the only way to get the image
just try it out and you will see what I mean.
I have nothing to do with 666kb.com, I'm just a user, so please don't bother the maintainers of it with issues regarding the app.
And what does the app do?
have a picture, share it, select 666up!...
the image is scaled down (if >666kb) and uploaded to 666kb.com.
once done you can give it a title, copy the link to the image to the clipboard, share it with the usual android sharing facility or just leave it be.
a record of all uploaded images is saved on the phone for later use.
If you launch the app, you'll see a list of previously uploaded images.
What are the use cases?
- sharing images the easy way via gtalk or other IM services.
- sharing images via SMS/txt
where I live one usually gets about 1000 SMS per month for free, but they charge a lot for MMS. So it saves money (given the recipient has internet access on the phone)
Market link?
https://play.google.com/store/apps/details?id=org.qless.up666
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sounds interesting, may I have the source code?
of course you may, it's GPL'd:
https://github.com/qorron/666up
Anything else
Suggestions are of course welcome. I don't make any money with this. I developed it in my free time just because I felt the need for it. Oh, and this thread is the first form of advertisement for the app.
version history
2012-07-06: 0.4.1
- Fixed some Jellybean related issues.
- Reworked the image scaling/uploading code.
2012-07-02: 0.4
- Implemented Android Beam support (Image links can be beamed to other devices from the detail/edit page, 666up is not required on the target device). [4.0+]
- Rotate the image according to its exif data [2.0+]
- Links are now clickable
- Landscape Layout for the detail/edit activity
2012-06-30: 0.3
- ICS actionbar support
- Preferences! Only available option atm: What happens when an upload in the list is clicked
- bugsfix
2012-04-24: 0.2.2
- Allow to pick images from the gallery from within the app
2012-03-07: 0.2.1
- Holo theme on ICS devices
- Adaptive thumbnail size
- bugfixes
2012-03-03: Fixed broken apk
just realized that the apk I had on the market was broken.
Reason why it was broken:
I found a typo in the strings.xml file right after I uploaded a prior version.
I corrected the typo, exported an unsigned apk, signed it and uploaded it without testing (I know! I know!).
So, what happened was:
Eclipse somehow failed to generate those R classes and just packaged the apk without them. This is why the app failed to launch :-(
I didn't notice that because I kept using the version with the typo.
Sorry guys!
This surely qualifies as an epic fail .
New Version: ICS look, nicer thumbnails and fixed some FCs
well, 0.2.1 is out.
Whats new?
Using Holo theme on ICS.
Thumbnails are now generated according to your device's screen resolution.
Which means: nicer thumbnails on hdpi (or better) devices.
Finally got rid of all those FCs that could occur if the uploads failed and the screen is turned.
have fun!
this is great! thanks a bunch!! any possibility of adding other image hosts in the future? i usually use imageshack, and i'm sure other people have their own favourites as well. either way, this really makes it a lot simpler to post images online and you did a great job making this app fast, great looking, and most importantly, functional! looking forward to future updates - it can only get better from here
is the devil the sponsor for this app?
Well, not quite the devil. I adopted the name from the website. Which got the name from the size limit for the images. iirc, it started with 256kb.com and has meanwhile evolved to 666kb.com
But I can guarantee that the only sponsor of this app is my own curiosity about making an android app and the fact, that I felt the need for such an app and there was none. So no unholy stuff going on in the source code.. I leave this to my perl programs ;-)
I also did a small batch upload script in perl which resizes the images if they are too large, uploads them and prints the urls to the console. (I'll share it if someone is interested)
Thanks for the kind words, Bloodflame. I have multiple upload-site in mind, but most of the bigger ones already have apps. so there little need for another app unless of course all existing apps are bad and better one could be done. There is one for imageshack:
https://play.google.com/store/apps/details?id=com.codeminders.imageshackdroid
next in line is probably something to upload multiple images at once.
and I should address the issue, that the detail view is partly hidden when the device is held in a landscape position. maybe a scrollbar or a different layout for landscape.
Just released a new version
I've also transformed my second post into a version history post, please refer to this for details on changes.
I did a rather big change under the hood:
Including Android Beam support and exif based image rotation brakes compatibility with old android versions. So, I made 3 different APKs and uploaded them altogether.
One is specifically for Android 1.6.
Play store statistics say, there is exactly one install for this app on a 1.6 device.
So, if you have this app on a 1.6 device, I did about an hour of modification an testing just for you! ;-)
1.6 doesn't support the ExifInterface and it isn't available with the compatibility package. Therefore, no image rotation for you.
This also applies to Android Beam.
Another version for 2.0 to 3.2.
It is just missing the Android Beam feature.
And the last one for 4.0 and upwards.
I'm not yet sure how easy it is to maintain 3 versions of the app (even with git). So I'm not sure how the support of older devices will look like in the future. But I will try to keep this as backwards compatible as possible.
I have spent the last 3 or 4 days trying to find an generic image uploading app. Would you ever consider making a version that could post to a user configurable URL? And I guess a user configurable regex for the reply?
Perfect it's work fine
Thank you
weedy2887 said:
I have spent the last 3 or 4 days trying to find an generic image uploading app. Would you ever consider making a version that could post to a user configurable URL? And I guess a user configurable regex for the reply?
Click to expand...
Click to collapse
This is not as straight forward as it may look like in the first place because uploads are done via a POST request. Normal URLs indicate a GET request.
If you are curious what's going on, have a look at this source file:
https://github.com/qorron/666up/blob/master/up666/src/org/qless/up666/ImageUploader.java#L119
starting with line: 119
But I'm sure that I can do this. The regex is no problem of course.
I'm on vacation until Sept. so please have a little patience. If it's ok for you I'll write you a massage once I have hacked together something.
POST is fine, I have a 30 odd line python script that handles upload already for me. I just need a app that can post and that shows up in androids share drop down list.
bump
How was your vacation?
It was fine, thanks!
The app is not quite ready yet.
The upload mechanism accepts parameter for the url and all the additional post fields.
But there is no GUI yet to type it all in.
I'll contact you once it works.
So.. I've done it.
desclaimer: this poat addresses people with at least some background in webscraping and regular rxpressions.
the apk attaches here is not intended to be used by normal users. it contains bugs and maybe cause the world to end, so be careful.
hello weedy2887,
please excuse the long delay. I had a terrible car accident (which I luckily survived without any harm) and needed some time to recover and manage things and stuff..
I've attached the apk below.
there are some bugs and unfinished stuff in it, so please use it with caution!
bugs:
if you press the buttons in the actionBar in the upload-screen while the upload has not yet finished you will get an empty message or the app will crash.
some
unfinished:
there are no sanity checks or error handling regarding the configurable upload-site feature.
e.g. if you enter an invalid regex or something like that, the app will crash.
there is no "reset to defaults (666kb.com)" button.
limitations:
apk is for android 4+
here is a short description on how this works:
base url:
Code:
http://666kb.com/u.php
this is where the action= attribute of the form points to.
file param
Code:
f
this is the name of the file parameter
additional param:
Code:
MAX_FILE_SIZE 681984
submit Speichern
these are other static parameters that are submitted along the file.
parameter_name<space>data<newline(enter, return,..)>
note: the last line is:
submit<space><space>Speichern<space><newline>
the paraneters are being sent in the order they are written in this string.
duplicates are possible and are not collapsed into one.
regex
Code:
(\Qhttp://666kb.com/i/\E.*?)"
this is to find the url of the uploaded image.
it has to contain exactly one capture group which designates the exact url of the image.
these are all the site dependent parameters.
it works for the 666kb.com site.
I haven't had the chance to test it with an other site because the only other site simmilar to 666kb.com I knew (777kb.com[1]) seems to be down or gone completely. so there may be some things which I have forgotten.
[1] 777kb.com was a copycat of 666kb.com with the difference: 777kb max. image size. images are deleted after there was no access for 30 days.
★★☆Please Comment and make Suggestions for new features before Rating!☆★★
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
https://play.google.com/store/apps/details?id=burrows.apps.crypto
crypTo is a lightweight and powerful utility that calculates hashes from text or files stored on your device. You can calculate multiple hashes and file checksums at the same time to save time! Once you have calculated the checksums, you can easily click on them to copy them to the clipboard for use elsewhere! Hash your passwords and then Google the hash to see if it has been cracked! Hash downloaded files form the Internet, check if that hash matches the hash provided to prevent viruses/broken files!
crypTo features:
Hashing Algorithms: CRC32, GOST, MD2, MD4, MD5, RipeMD128, RipeMD160, RipeMD256, RipeMD320, SHA-1, SHA-256, SHA-384, SHA-512, Tiger and Whirlpool!
Other Encoding: Base64, Binary, Decimal, Hex
Encryption
✔ Hashing Strings
Decryption
✔ Binary, Base64, and MD5 Lookup
Passworded File Encryption
✔ AES 256 bit
Checksums
✔ Hashing Files (integrity of files)
Comparing
✔ Compare Hashes and Strings
FAQ:
What is a string?
✔ In computer programming, a string is traditionally a sequence or array of characters, either as a literal constant or as some kind of variable.
What is a hash?
✔ A hash is an encrypted string of letters or numbers by different encryption methods. Hashes are used in cryptography for creating strong passwords, data encryption and to check the integrity of files.
What is a checksum?
✔ A checksum is a generate hash of a file based on its contents.
Tested on the following phones:
✔ Droid
✔ Droid X
✔ HTC Inspire
Permissions requested:
✔ Internet: MD5 Reverse Lookup
Suggestions/Possible Future Updates:
– Text Encryption
– More Encryption Methods such as Adler-32 and Haval-128
Tags: hash encryption decryption Base64 Binary CRC32 GOST MD2 MD4 MD5 RipeMD128 RipeMD160 hash RipeMD256 RipeMD320 SHA-1 SHA-256 SHA-384 SHA-512 Tiger Whirlpool password security droid hack hacking encryption decryption hash hashes message digest algorithm secure cryptographic function checksum rom roms verifier MD5 checker Rivest comparison cyanogenmod cyanogen md5sum mand5 AES file encryption password
Very nice feature list. Will give it a go on my One X.
Sounds good!
Just downloaded it. I'll give it a go in a bit with a few file types and sizes then I'll jump back in the market and rate it.
Works great on my HOXL
Hello
Hello,
Thanks for the replies and feedback. Can you make an suggestion or any features you would like to see implemented in future releases?
The next release will show the timings of both the Checksums and File Encryptions as well as the file sizes.
Regards,
Now I'm using TC to check single file MD5. This app seems great and I'll give it a try later.
masterjb said:
Hello,
Thanks for the replies and feedback. Can you make an suggestion or any features you would like to see implemented in future releases?
The next release will show the timings of both the Checksums and File Encryptions as well as the file sizes.
Regards,
Click to expand...
Click to collapse
The only thing I'd really like to see is a more "vanilla" theme to the app. I'm really into my apps all looking aosp-ish. I'm perfectly fine with it either way, but it's just my personal input. Other encryption options would be great too. Maybe a custom key generator used to encrypt/decrypt? (similar to the option in truecrypt if you've used it to generate a private key by moving the mouse around)
whats the use of "MD5 reverse lookup"?
if thats not needed (to me), is it possible to have a version without the internet permission? (as this is a security-related app and having this permission makes me nervous.. 8)
Nice
mcmb03:
The only thing I'd really like to see is a more "vanilla" theme to the app. I'm really into my apps all looking aosp-ish. I'm perfectly fine with it either way, but it's just my personal input. Other encryption options would be great too. Maybe a custom key generator used to encrypt/decrypt? (similar to the option in truecrypt if you've used it to generate a private key by moving the mouse around)
Click to expand...
Click to collapse
Thanks for the feedback! You said aosp-ish, do you mean a light background? and a darker action bar? Also, you said other encryption, can you list some you would like to see?
iamelton:
whats the use of "MD5 reverse lookup"?
if thats not needed (to me), is it possible to have a version without the internet permission? (as this is a security-related app and having this permission makes me nervous.. 8)
Click to expand...
Click to collapse
This is a good question! If you have a MD5 string you would like to figure out what the hash is, you can find the reverse MD5 of it. (text to MD5, and back again). Also, the Internet permission is also used for the ads.
As for encryption maybe something like DES or TripleDES? And by aosp-ish I mean more of a ics/jb theme.
Sent from my HTC One X using xda premium
I'm installing now to try it out on my AT&T SGSII. I'll let you know how it goes.
Since I haven't tried it yet, not sure if this option is there. Would be nice to use the camera to "scan" a hash string and do a "reverse lookup" on it to see if it is already been posted to the internet. This would have been handy in a few previous conference challenges.
Scan?
You suggested a scan? Do you mean, scanning a Tag? or the actual string?
masterjb said:
You suggested a scan? Do you mean, scanning a Tag? or the actual string?
Click to expand...
Click to collapse
Scanning the actual string.
And although I haven't performed any extensive testing yet, this appears to be running just fine on my AT&T SGSII with AOKP ROM and Fluxxi kernel.
Your definition of hash is misleading. A hash is not an encryption. Encryption implies decryption, and hashes by design cannot be decrypted. They are asymmetric algorithms.
dumpydooby said:
Your definition of hash is misleading. A hash is not an encryption. Encryption implies decryption, and hashes by design cannot be decrypted. They are asymmetric algorithms.
Click to expand...
Click to collapse
You almost pulled that off. You are correct. If the developer is suggesting that a hash is encryption, he is incorrect. A hash is a one way algorithm. Asymmetric algorithms are used with encryption as in PKI.
vidkun.torvald said:
You almost pulled that off.
Click to expand...
Click to collapse
vidkun.torvald said:
You are correct. If the developer is suggesting that a hash is encryption, he is incorrect. A hash is a one way algorithm. Asymmetric algorithms are used with encryption as in PKI.
Click to expand...
Click to collapse
He says that a hash is "an encrypted string," which I'm sure you'll agree is misleading/incorrect.
masterjb said:
What is a hash?
✔ A hash is an encrypted string of letters or numbers by different encryption methods. Hashes are used in cryptography for creating strong passwords, data encryption and to check the integrity of files.
Click to expand...
Click to collapse
dumpydooby said:
He says that a hash is "an encrypted string," which I'm sure you'll agree is misleading/incorrect.
Click to expand...
Click to collapse
Hello,
Thank you for pointing this out, I am simply just trying to explain my application in layman's terms.
Regards,
dumpydooby said:
He says that a hash is "an encrypted string," which I'm sure you'll agree is misleading/incorrect.
Click to expand...
Click to collapse
I do agree. My point was that while pointing out his mistake, you then go on to call hashes an asymmetric algorithm here:
...and hashes by design cannot be decrypted. They are asymmetric algorithms.
Click to expand...
Click to collapse
This, too, is incorrect. I was simply trying to light-heartedly point out your mistake.
Hey buddy went the option of SMS Will be avialable
Sent from my GT-I9100 using xda premium
Hi People,
I wanted to merge the DVR footage from long trips and get a video file that is significantly sped up, and here's the crude result. Works for my T'eyes CC3, but should work for most FYT units.
Youtube video of resultant file
DashCam_Stitcher.zip <- Contains all executable and the Python script.
FFMPEG & FFPROBE need to be in your PATH for this to work
The program is a command line program, used in the format-> DashCam_Stitcher F 50
Where the source drive from the DVR is at F (in my case)
And the number of times the video footage is sped up is 50 (You can use 1, 2, 10, 100, or whatever)
Only for windows, and only for MP4. Hack my source if you want to change this.
That's the short version if you want to avoid my waffle below.
I driven my wife nuts trying to get this working, and so even though you might think you should thank me, if you do use this please comment with "Thank You Benja"
NOTE: This program will not automatically erase or fix any of your files. If that is needed, the program will prompt you with some helpful hints to fix yourself. I used someone’s demo program and was lucky I had a backup as it wiped my tf card.
Summary
I’ve used Python to script, FFPROBE to find all the corrupt files using a two-pass system, and you will be prompted to use FFMPEG to fix a few of those corrupt files (Or delete). And then automated FFMPEG creating sped up versions of each file in date time stamp order and FFMPEG merged them all into one big video file.
Waffle
If they don’t exist this program will create the following directories
C:\Users\[currentuser]\Videos\DashCam – Where the final merged file appear.
C:\Users\[currentuser]\Videos\DashCam\SpedUp – Where all the individually sped up versions of each file on your TF card will appear.
A sorted list of only the MP4 files is created
A first quick corrupt file check is done on each file using FFPROBE -hide_banner -v error eachfile.mp4. If bad MP4’s are found the program will stop, and ask you to fix them using FFMPEG -i xxxxx.mp4 -c copy xxxxxa.mp4 (or any method you can think of, including deleting the file).
Run dashcam_stitcher again to continue. If no bad files are found, a second much more thorough CPU intensive check is done. The second pass is because I have found files that slip though the first pass, and then kill the merge process at the end.
This second pass uses FFPROBE -show_entries stream=r_frame_rate,nb_read_frames,duration -select_streams v -count_frames -of compact=p=1:nk=1 -threads 3 -v 0 video.mp4
Which on a good file will show stream|25/1|299.000000|7475, but I have found some that cannot be repaired that read as stream|12000/1|131.160000|N/A or similar. If so, program stops again asking you to resolve as before.
Run dashcam_stitcher again to continue. If the video files get through both these checks, each file is then processed and put into the SpedUp folder. Then the program concatenates all the files together in order, and places a uniquely named (based on date and time) video file in the Dashcam folder.
Checking, encoding, and stitching the files together using this program will take a while, but much quicker than doing it by hand.
Again, if you can please comment with "Thank You Benja"
Very nice script.
However, I would use "-movflags faststart" to enable streaming (relocate the moov atom from the end of the file to the beginning of the file).
like
Code:
cmd = "ffmpeg -f concat -i "+concattextfile+" -movflags faststart -c copy "+outputmoviefilename
Of course: Youtube will do this automatically for you, but on your computer or from a server it will start streaming without the player first having to load the entire file
Edit: Sorry.
"Thank You Benja"
surfer63 said:
Very nice script.
However, I would use "-movflags faststart" to enable streaming (relocate the moov atom from the end of the file to the beginning of the file).
like
Code:
cmd = "ffmpeg -f concat -i "+concattextfile+" -movflags faststart -c copy "+outputmoviefilename
Of course: Youtube will do this automatically for you, but on your computer or from a server it will start streaming without the player first having to load the entire file
Edit: Sorry.
"Thank You Benja"
Click to expand...
Click to collapse
Thanks mate.
Links above have been updated to version 0.2. Your suggestion, and a minor change to file extension filtering.
If you can't get to the files. Big oops on my part.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Your file violates Google Drive's Terms of Service‘DashCam_Stitcher.zip’ contains content that violates Google Drive's Malware and Similar Malicious Content policy. Some features related to this file may have been restricted. If you think this is an error and would like the Trust & Safety team to review this file, request a review below.
Restricted file
Google claims it found a virus. But my system seems clean. Windows defender is not having problems??
mjcummins said:
View attachment 5718109 Google claims it found a virus. But my system seems clean. Windows defender is not having problems??
Click to expand...
Click to collapse
I don't find viruses in your files. However, you use portable executables (pe32+). They are a known source of malware. That is also why ffprobe.exe and ffmpeg.exe are both 117MB. Maybe you get false positives on these exe files as they do contain all libs and necessary files inside and Google can't access them.
Well, I did put in the "Review Request" to almighty Google.
Are the files currently accessible? I own them, so my testing access doesn't really count I think.
mjcummins said:
Well, I did put in the "Review Request" to almighty Google.
Are the files currently accessible? I own them, so my testing access doesn't really count I think.
Click to expand...
Click to collapse
I use Linux laptops and Chromebooks. I can download them on my systems. Of course I can't use the windows exes and I need to modify your python script to make it linux compatible (or more universal).
surfer63 said:
I use Linux laptops and Chromebooks. I can download them on my systems. Of course I can't use the windows exes and I need to modify your python script to make it linux compatible (or more universal).
Click to expand...
Click to collapse
More universal would be good. Bit more code required to be able to use multiple systems. I have seen some examples, but not a good example yet. I've still got a lot of relearning and learning to get back up to speed.
If your process uses Python & FFMpeg, etc. than simply create scripts for Windoze, Linux, etc. making sure any folders created are relative to the users starting location.
Then people can simply install the official ffmpeg for their OS, and use your scripts. No need to create non-portable executables.
pwood999 said:
If your process uses Python & FFMpeg, etc. than simply create scripts for Windoze, Linux, etc. making sure any folders created are relative to the users starting location.
Then people can simply install the official ffmpeg for their OS, and use your scripts. No need to create non-portable executables.
Click to expand...
Click to collapse
In line 37 to 40 you could use:
Code:
userDir = os.path.expanduser("~")
userVideoDir = os.path.join(userDir, r"Videos")
dashcamdir = os.path.join(userVideoDir, r"DashCam")
spedupdir = os.path.join(dashcamdir, r"SpedUp")
This would immediately make it compatible on every by python supported platform, no issues with forward/backward path separators: python will do it for you. (And I like the fact that you do use raw strings, but in this case it is all ansi characters and nothing weird in there)
The source dir (sys.argv[1]), and thereby source_folder, would be an issue as Windows is the only system in the world using drive letters.
But in that case source-dir should be omitted and "source_path" should be used which could be "D:\DCIM" or "<sdcard name>/DCIM" Or something else if some exotic dashcam breaks all ISO-standards and uses something else than DCIM.
Code:
if platform.system() == 'Windows':
do something windows
else
do something all other OSes
surfer63 said:
Code:
userDir = os.path.expanduser("~")
userVideoDir = os.path.join(userDir, r"Videos")
dashcamdir = os.path.join(userVideoDir, r"DashCam")
spedupdir = os.path.join(dashcamdir, r"SpedUp")
This would immediately make it compatible on every by python supported platform, no issues with forward/backward path separators: python will do it for you. (And I like the fact that you do use raw strings, but in this case it is all ansi characters and nothing weird in there)
Click to expand...
Click to collapse
Or slightly different to show the "automatic power" of python.
Code:
userDir = os.path.expanduser("~")
userVideoDir = os.path.join(userDir, r"Videos")
dashcamdir = os.path.join(userDir, r"Videos", r"DashCam")
spedupdir = os.path.join(userDir, r"Videos", r"DashCam", r"SpedUp")
But maybe the first code block is probably more clear to any reader what is mentioned.
And then finally:
Code:
spedupdir = os.path.join(os.path.expanduser("~"), r"Videos", r"DashCam", r"SpedUp")
But this makes it really untransparent for the unexperienced reader/programmer "where we came from".
I prefer the extra steps, also for myself not to get lost and make errors.