|
Message-ID: <20110717085607.GG26541@openwall.com> Date: Sun, 17 Jul 2011 12:56:07 +0400 From: "(GalaxyMaster)" <galaxy@...nwall.com> To: john-users@...ts.openwall.com Subject: Re: jtr for android Guys, I'm sorry that it took so long, I obviously had no spare time during the last couple of weeks. Anyway, I've uploaded the Android binary of John to the Wiki (http://openwall.info/wiki/john/custom-builds#Compiled-for-Android). On Fri, Jun 24, 2011 at 09:19:09PM +0300, kalgecin wrote: > Yeah I'll test the app. I'm also a dev so could help with some stuff The uploaded binary is the "generic" build of JtR, so you shouldn't expect it to squeeze the maximum of your Android device. I've tested it on my Samsung Galaxy S (rooted) with Gingerbread (2.3.4) and got the following benchmark results (this was taken with CPU running at 1Ghz): === Benchmarking: Traditional DES [32/32 BS]... DONE Many salts: 63239 c/s real, 77667 c/s virtual Only one salt: 60748 c/s real, 74047 c/s virtual Benchmarking: BSDI DES (x725) [32/32 BS]... DONE Many salts: 2174 c/s real, 2667 c/s virtual Only one salt: 2162 c/s real, 2624 c/s virtual Benchmarking: FreeBSD MD5 [32/32 X2]... DONE Raw: 1062 c/s real, 1306 c/s virtual Benchmarking: OpenBSD Blowfish (x32) [32/32 X2]... DONE Raw: 28.0 c/s real, 34.1 c/s virtual Benchmarking: Kerberos AFS DES [24/32 128K]... DONE Short: 17033 c/s real, 22285 c/s virtual Long: 42308 c/s real, 52906 c/s virtual Benchmarking: LM DES [32/32 BS]... DONE Raw: 803500 c/s real, 984570 c/s virtual Benchmarking: dummy [N/A]... DONE Raw: 7804K c/s real, 9421K c/s virtual === If anybody wants to compile John for Android, you will need Android NDK and the following two files: ===[ Application.mk ]=== APP_PROJECT_PATH := $(call my-dir) APP_MODULES := john === and ===[ Android.mk ]=== LOCAL_PATH := $(call my-dir)/src include $(CLEAR_VARS) LOCAL_MODULE := john LOCAL_SRC_FILES := DES_fmt.c DES_std.c DES_bs.c DES_bs_b.c \ BSDI_fmt.c \ MD5_fmt.c MD5_std.c \ BF_fmt.c BF_std.c \ AFS_fmt.c \ LM_fmt.c \ dummy.c \ batch.c bench.c charset.c common.c compiler.c config.c cracker.c \ crc32.c external.c formats.c getopt.c idle.c inc.c john.c list.c \ loader.c logger.c math.c memory.c misc.c options.c params.c path.c \ recovery.c rpp.c rules.c signals.c single.c status.c tty.c wordlist.c \ unshadow.c \ unafs.c \ unique.c include $(BUILD_EXECUTABLE) === Then, you create a standard Android project in Eclipse (or you can just create a project directory under the NDK tree, check the sample to see the directory structure), create the 'jni' directory under your project's root and unpack JtR sources there, then put 'Application.mk' into your project's root and 'Android.mk' into the jni directory. After the above is done you are almost ready to compile John for Android with the ndk-build script (included in NDK). However, there is one obstacle -- the arch.h header file is usually generated during the build process (the detect binary is compiled and then it populates the mentioned header file with values), but this won't work with NDK. As a workaround, change directory to 'jni/src/', then execute 'make generic' -- this will build a generic version of John for your system. Save generic.h file somewhere outside the src directory, execute 'make clean', then copy the saved 'generic.h' file back to src directory under the arch.h name. That's all, you are now ready to compile John for Android by launching 'ndk-build' from your project's root (I'm usually adding V=1 to make the script more verbose). Once the build process finishes, grab the binary from libs/armeabi/john and upload to your Android device (along with the run directory from JtR distribution). You will need to put the 'john' binary to /system/xbin/ on your Android device since /mnt/sdcard is usually mounted with noexec. I hope this was of any help to somebody. -- (GM)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.