masterzorag's Activity

Thursday, January 12, 2017

bf_new, open

Simpler, faster (about 30M/sec on my junk), minimal, portable and more advanced:
bruteforge is being rewritten from scratch, but this time goes live, in the wild.

I'll use repo's included wiki to spot some notes or howtos, meanwhile 💟 it.

Tuesday, February 23, 2016

Ride on java Application Servers

I'm an opensource entusiast, we can test everything for free, you just need background and skills

want to digg into the Java Application Server(s) world? Just test/run two of them:
* Red Hat developed JBoss AS, currently Wildfly;
* free solutions exists like Apache Tomcat.


My Host machine is a Gentoo x86_64 and I don't want flood my setup with tons of dependences, so just fire up Oracle Virtualbox and setup a minimal Virtual Machine to install Fedora 23



Here I have assigned just 768 MB of RAM and installed the Server flavour
This VM it's bridged to my wlan1 gentoo host and:
* can be accessed via RDP by VirtualBox itself on guest network issue
* can be accessed via sshd, running by default
* it have Docker service disabled by default

Apache Tomcat
* installed directly on guest OS via dnf
* adjusted config
* deployed a sample
Tomcat is running on port 8080



This time to test the "Docker images and container stuff" then, run JBoss AS in a container!

* disabled new firewalld default service and back to iptables
* enabling service
* building an image with JBoss AS with management console
* deployed a sample



Wildfly is running on port 8090



 Of curse, the issue in this proof of concept test IS that:
"I'm running Docker container into a Virtual Machine."

more about Docker concept


Sunday, May 3, 2015

X-BitMap fonts

Was looking at a raw C way to print to screen painting by pixel (to raw framebuffers) when, evaluating conversion from TrueTypeFont to a well suited, handy format I faced X-BitMaps images.

So, I've spended some bytes writing a script that convert an ASCII code range of ttf labels into xbm glyphs: genXBMfonts uses ImageMagick's convert tool to write single 16x16 pixel, 1bpp XBM images, as C header of 32 chars.

xbm_dump called by genXBMfonts, (XBM is an image)
After that, I can copy my definition header in my project, and without the need of external library to include I can address text to glyph bits[], decode back (bit)checking and print text addressing the destination pixel:
 
When painting on raw framebuffer we have control on color, as well.
initiated public repository: https://github.com/masterzorag/xbm_tools

About portability, this is a sample psl1ght app including the same C header definition, running on the ps3:

Tuesday, August 6, 2013

vaapi on fglrx

Just to test if we can get finally some sort of hardware accelerated decoding on AMD/ATI, I've tested a H264 video without any issue, here some from /var/log/Xorg.0.log:
[ 26.252] (II) Module fglrx: vendor="FireGL - AMD Technologies Inc."
[ 26.274] (II) Module fglrxdrm: vendor="FireGL - AMD Technologies Inc."
[ 26.274] (II) AMD Proprietary Linux Driver Version Identifier:12.10.05
[ 26.274] (II) AMD Proprietary Linux Driver Release Identifier: 12.104
[ 26.274] (II) AMD Proprietary Linux Driver Build Date: Mar 28 2013 21:07:22
[ 27.273] (--) Chipset Supported AMD Graphics Processor (0x9802) found
[ 27.277] (II) AMD Video driver is running on a device belonging to a group targeted for this release
[ 27.282] (II) AMD Video driver is signed
[ 27.302] (II) Module fglrxdrm: vendor="FireGL - AMD Technologies Inc."
[ 27.308] (**) fglrx(0): AMD 2D Acceleration Architecture enabled
[ 27.308] (--) fglrx(0): Chipset: "AMD Radeon HD 6310 Graphics" (Chipset = 0x9802)
[ 27.589] (II) fglrx(0): Adapter AMD Radeon HD 6310 Graphics has 2 configurable heads and 1 displays connected.
[ 27.591] (II) fglrx(0): doing swlDriScreenInit
[ 27.591] (II) fglrx(0): swlDriScreenInit for fglrx driver
[ 27.591] (II) fglrx(0): [uki] DRM interface version 1.0
[ 27.591] (II) fglrx(0): [uki] created "fglrx" driver at busid "PCI:0:1:0"
[ 27.591] (II) fglrx(0): [uki] added 8192 byte SAREA at 0x2000
[ 27.592] (II) fglrx(0): [uki] mapped SAREA 0x2000 to 0xb65bd000
[ 27.592] (II) fglrx(0): [uki] framebuffer handle = 0x3000
[ 27.592] (II) fglrx(0): [uki] added 1 reserved context for kernel
[ 27.592] (II) fglrx(0): swlDriScreenInit done
[ 27.592] (II) fglrx(0): Kernel Module Version Information:
[ 27.592] (II) fglrx(0): Name: fglrx
[ 27.592] (II) fglrx(0): Version: 12.10.5
[ 27.592] (II) fglrx(0): Date: Mar 28 2013
[ 27.592] (II) fglrx(0): Desc: AMD FireGL DRM kernel module
[ 27.592] (II) fglrx(0): Kernel Module version matches driver.
[ 27.592] (II) fglrx(0): Kernel Module Build Time Information:
[ 27.592] (II) fglrx(0): Build-Kernel UTS_RELEASE: 3.10.4
[ 27.592] (II) fglrx(0): Build-Kernel MODVERSIONS: yes
[ 27.592] (II) fglrx(0): Build-Kernel __SMP__: yes
[ 27.592] (II) fglrx(0): Build-Kernel PAGE_SIZE: 0x1000
[ 27.592] (II) fglrx(0): [uki] register handle = 0x00004000
[ 27.592] (II) fglrx(0): OpenGL overlay is disabled on non-FIREGL Board.
[ 27.602] (II) fglrx(0): Static shadow buffer initialized.
[ 27.611] (II) fglrx(0): DRI initialization successfull
[ 27.628] (II) fglrx(0): FBADPhys: 0x10600000 FBMappedSize: 0x00816000
[ 27.645] (II) fglrx(0): Initialized in-driver Xinerama extension
[ 27.782] (II) fglrx(0): GLESX enableFlags = 848
[ 27.783] (II) fglrx(0): GLESX is enabled
[ 27.814] Loading extension AMDXVOPL
[ 27.814] Loading extension AMDXVBA
[ 27.827] (II) fglrx(0): UVD feature is enabled(II) fglrx(0):
[ 27.831] (II) fglrx(0): Enable composite support successfully
[ 27.832] (II) fglrx(0): X context handle = 0x1
[ 27.832] (II) fglrx(0): [DRI] installation complete
[ 27.833] (II) fglrx(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[ 27.987] (WW) fglrx(0): Framebuffer compression is disabled by the driver: Video Ram = 262144 kByte
then libva, output of vainfo:
libva info: VA-API version 0.33.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.33 (libva 1.1.1)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0
vainfo: Supported profile and entrypoints
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
last, vaapi-mplayer
play:
./mplayer -vo vaapi ../h264_1080p_hp_4.1_40mbps_birds.mkv
MPlayer SVN-r36265-4.6.3 (C) 2000-2013 MPlayer Team

Playing ../h264_1080p_hp_4.1_40mbps_birds.mkv.
libavformat version 55.13.102 (internal)
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
VIDEO: [H264] 1920x1072 0bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s)
Load subtitles in ../
libva info: VA-API version 0.33.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 55.20.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
Audio: no sound
Starting playback...
[VD_FFMPEG] Trying pixfmt=0.
[VD_FFMPEG] XVMC-accelerated MPEG-2.
Movie-Aspect is 1.79:1 - prescaling to correct movie aspect.
VO: [vaapi] 1920x1072 => 1920x1072 H.264 VA-API Acceleration
[VD_FFMPEG] XVMC-accelerated MPEG-2.
[VD_FFMPEG] Trying pixfmt=0.
[VD_FFMPEG] XVMC-accelerated MPEG-2.
[VD_FFMPEG] XVMC-accelerated MPEG-2.
Movie-Aspect is 1.79:1 - prescaling to correct movie aspect.
VO: [vaapi] 1920x1072 => 1920x1072 H.264 VA-API Acceleration
xvba_video: XVBA_DestroySurface(): status 2


Exiting... (Quit)

Video plays flawless (over compiz!), CPU is offloaded from decoding


With Mesa 9.2 we can test also the radeon kernel module + gallium instead of fglrx with libva, but I've not tried yet.

Friday, October 26, 2012

Priorities

busy with many stuff, random list:
no ps3, no OpenCL
no code, no bruteforge
badblock, e2fsck, mkfs.ext4, dumpe2fs and a couple of HDD to recover
OpenCL:
code aes-cbc-256
test AMD E2-1800 and E350/ATI6310
Meanwhile...
laptop become headless: recover work and use it as a server
ssh, sshfs, x11 forwarding, rdp
PPC64:
virtualization

* Here is how I've recovered a corrupted HDD and use it as EXT4 *

# unmount device, at first
umount /dev/sdc1

1*
# read about checking program
e2fsck
...
-v verbose
-d debugging output
-c call badblocks to add newly badblocks to blacklisted list
-k When combined with the -c option, any existing bad blocks in the bad blocks list are preserved, and any new bad blocks found by running badblocks(8) will be added to the existing bad blocks list.

e2fsck -v -d -c -k /dev/sdc1
# this method should work, but I'm used to do my own, so go deeper:

2*
# know the blocksize and pass it at every tool, here 4096

# read and write the badblock list, get total
dumpe2fs -b -o blocksize=4096 /dev/sdc1 > badlist
wc -l badlist

# scan for badblocks, skipping already known in badlist
badblocks -b 4096 -s -v -o badblocks.out -i badlist /dev/sdc1

# manually add badblocks
e2fsck -B 4096 -v -d -k -l badblocks.out /dev/sdc1
# verify
e2fsck -B 4096 -v -d -f /dev/sdc1

# badblocks count should reflect wc output:
dumpe2fs -b -o blocksize=4096 /dev/sdc1 > total_badblock
wc -l total_badblock

# format passing the badblock list, large_file needs CONFIG_LBDAF into kernel
mkfs.ext4 -l total_badblock -b 4096 -m 0 -O dir_index,extent,large_file,sparse_super,flex_bg -v /dev/sdc1

# (manually excluding large_file and huge_file can be done at format time as this:)
# mkfs.ext4 ... -O ^large_file,^huge_file ...

# once you've done, mount your device.
# as usual, reading man pages can help you a lot!

Tuesday, July 3, 2012

time to make us questions

would be useful analyze some kind of wordlist to know some statistics, for example:
how many times is used this char? and this one?
which is the most frequent character used?
and again, for example:
in word of 8 chars how many times is used this character? minimum/maximum times?
how many times comes abc, abcd, abcde...? and how much is the minimal/maximum consecutive recursion of the same character?
averages?
and in word of 32 chars length?
analyzing some kind of hashes which will be the results? which are the most frequent characters?
knowing some analysis result we could target better words

analyze some billion of words will be time consuming, we could program something, but parallelizing with OpenCL would be great!

blackhole has support for sqlite database and OpenCL yet, lately we can melt this new analyze feature into.
I've just write a few lines, now I'm planning how to store variables in a better way.

Monday, June 4, 2012

bruteforge gets updates!

Here some news, I've updated our custom wordlist generator to 0.70r03, listing changes:
. bigger changes at option parsing:
added support to comments on CONFIGFILE, easier comment one line instead of cancel it directly, but also useful leave comment in it.
this surely leads to confusion playing with the last line, where Locked mode uses # to set changing characters, so...
. no more sixth line to use the Locked mode, just use the cli with -L '#exampl#'.
. added hidden -T switch to start the Tutorial mode, it pauses generation when a skip will be performed.
. added -G to generate a default CONFIGFILE to start from, it is also full commented, so read it, edit or take it as a template. When selected an interactive prompt will ask for a file name to write to.

Every character in charset has two variables (lines two and three):
maximum uses and Pattern lenght, it's from 0.70 that I've implemented a single Pattern length for each character, now I'm working on the new variable!

Hardcoded rules is: can't never be a triple in word, so when getting aaa it skips to aab; this happens for each character.
I'm working to set this limit for each character as the new variable, something like: maximum number of consecutive same character;
user can use this to use max 4 'd' globally per word, AND '3' to generate word with max consecutives 3 'd', something like:
dddafdee, aabcddde...
or to bypass the hardcoded limit, to say something like:
use max 4 'a', but max '2' consecutive 'a' in word,
use max 2 'b', but max '1' consecutive 'b' in word,
use max 3 'c', but max '2' consecutive 'c' in word,
use max 4 'd', but max '3' consecutive 'd' in word...
to get
aabaabcc
aabaabcd
aabaabdc
...
This is a work in progress, but it's easy to implement; while awaiting this new feature, feel free to try my latest 070r03 there on the right!
if you get any issue, leave a comment below.

EDIT:
go directly for 070_r04 and use -G to generate default CONFIGFILE, I'll use this method to keep uptodate changelog/instruction/rules througth comments!

Every revision prints out its updated instructions now, avoiding confusion

yes, in the example I've forgot that abc will be skipped... eheh
./bruteforge advanced3 -q
daccdabdaac, 11 chars, attempt #1000000
bdaddcacacda, 12 chars, attempt #2000000
dcbdcbdadccb, 12 chars, attempt #3000000
adbcbcbadadac, 13 chars, attempt #4000000
bdabdcbdcdacb, 13 chars, attempt #5000000
cbdcbaacdbaab, 13 chars, attempt #6000000
dbcaccacdadad, 13 chars, attempt #7000000
abaacacdbdcdbc, 14 chars, attempt #8000000
acddabdccbaadb, 14 chars, attempt #9000000
baccababdccdab, 14 chars, attempt #10000000
bccbdaacaacddd, 14 chars, attempt #11000000
caacdbddcbadab, 14 chars, attempt #12000000
cbdadbcacbaacd, 14 chars, attempt #13000000
cdcadcacbaabdd, 14 chars, attempt #14000000
dbcbccaadbabdc, 14 chars, attempt #15000000
ddbdcdaaccbacb, 14 chars, attempt #16000000
abdbdccabadcbda, 15 chars, attempt #17000000
acdcdcdabaadbcb, 15 chars, attempt #18000000
bababddcaddccac, 15 chars, attempt #19000000
badddcadbccbcab, 15 chars, attempt #20000000
bccdadaabdbdacb, 15 chars, attempt #21000000
bdccdabaacdbdba, 15 chars, attempt #22000000
cadbdbadbcacdcb, 15 chars, attempt #23000000
cbdcabacadcbdba, 15 chars, attempt #24000000
cdbabdaccacdbad, 15 chars, attempt #25000000
dacdcacabdbacdb, 15 chars, attempt #26000000
dbddbcaababadcc, 15 chars, attempt #27000000
ddbccbcabdabaac, 15 chars, attempt #28000000
abdcbdcaacdbadcb, 16 chars, attempt #29000000
adbcbcbdadcdcaba, 16 chars, attempt #30000000
baccbcbdaadbdacd, 16 chars, attempt #31000000
bcbcadacbaddadbc, 16 chars, attempt #32000000
bdbdccbdaabdcaac, 16 chars, attempt #33000000
cacdbdabdccbabda, 16 chars, attempt #34000000
cbdcadddabacbcab, 16 chars, attempt #35000000
cdbdccbdcaabdaab, 16 chars, attempt #36000000
dbadccbcbadabdac, 16 chars, attempt #37000000
dcdababaacddbccb, 16 chars, attempt #38000000
Reached max word's length of 16 chars, last word 'dddcdccbcbababaa', attempt #38463782

this is with 4 characters, doing -o you'll get your targeted wordlist

Friday, March 30, 2012

developing bruteforge 0.70

after 20 revisions the code was cleanup and improved, here I'll try to explain the core changes:

. no more one unique global pattern_length for all character set (no more -p swich)
we can set now a pattern_lenght for every char, this can lead to user confusion, so I'll try to eleborate more:
the third line on CONFIGFILE is now readed as single pattern_lenght for the respective char listed at first line (the character set), so we can now exclude patterns like: abcd, tu, mnopq, xyz... but include abc, mnop, xy
user can get the same effect of old default -p 3 by feeding the third line with '3' for all the chars listed at first line.

. added a simple, but useful tutorial mode
this mode let user check what's goin'on when a skip will be done stopping generation of word (until user input), user can read output to understand how bruteforge is doing a jump into bruteforce generation flow, to help understanding how setup CONFIGFILE about second and third line, maybe the hardest to get by user;
this mode it's only useful to understand! (yes, understand: that's seems very important)

. shifted variant will be a mode
I've never added this mode due generation of duplicated, who want skip useless words but reelaborate something agaist duplicated records?
so I've thinked to add this features as -F (the Filter mode), where user must pass an existent unique wordlist to perform word shifting on STDOUT, but validating every shifted variant over criteria!
user will be warned about duplicated words, so user should filter later them out with some other technique, that's seems finally the right implementation to this mode!

. linking gmplib static by default, and some bug (buffer overflow) were fixed, memory accesses are optimized (I've to test if I got improvement also on ppc)

. new skipping rules can be easily added (if you have some ideas, leave a comment below)

UPDATE
here the new bruteforge 0.70r02, x86 ELF 32-bit executable, statically linked and stripped, for free!
post your question, user
I've to update documantation aswell.

UPDATE #2, early 2017
bruteforge is being rewritten

Tuesday, March 6, 2012

bruteforge 0.6r19

. Added -c 0 to skip all couples of char
. Added missing -h option
. Cache Fixedset_index into P array instead of calling idx_in_item everytime: speedup
. Cosmetic changes
. Compiled static against gmplib

Grab i386 binary from here

Thursday, February 16, 2012

libgmp.so.10: cannot open shared object file

To everyone having this issue... bruteforge binary is linked with only one shared library:
You have to locate the library:
# find / -name libgmp.so
/usr/lib/libgmp.so
...
1. if you have no output you have to install gmp (gmplib.org), ask your package manager about;
in my system is located in a usual place such as ‘/usr/local/lib’ or ‘/usr/lib’, so bruteforge can load in memory the library and run!

2. If the library is not located in one of these directories it must be added to the load path.
The simplest way to set the load path is through the environment variable LD_LIBRARY_PATH.
Anyway, get a look at here and use your mind.

3. If you have a different version of that library, try to update the symbolic link, letting point libgmp.so.10 to your installed version, for example now I have this:
# ls -ln /usr/lib/libgmp.so*
lrwxrwxrwx 1 0 0 16 Feb 16 15:41 /usr/lib/libgmp.so -> libgmp.so.10.0.4
lrwxrwxrwx 1 0 0 16 Feb 16 15:41 /usr/lib/libgmp.so.10 -> libgmp.so.10.0.4
-rwxr-xr-x 1 0 0 399968 Feb 16 15:41 /usr/lib/libgmp.so.10.0.4
first two rows are symbolic links to the real library libgmp.so.10.0.4, watch also file dimensions...

4. If you can't resolv this issue, grab this static version of bruteforge and you'll get it running!

Wednesday, January 25, 2012

OpenCL + PS3: Improvements!

To anyone follow this story, here some things to see!
I'm doing Pairwise Master Keys with all 7 compute units on a PS3 via OpenCL, check out my three kernel's output:
This is always pyrit related, but it works alone (for now), porting to a pyrit plugin will take the last step of my interests.
Was January 14, 2011 when I've told: "Correctly improve that is possible, we have tools." I was right, I've wrote the fastest implementation ever!
Now I need to improve more, there's again!

Tuesday, December 27, 2011

blackhole: added sha1_process variants

some of blackhole in action:

. removing old hashfile
. counting records in database
. listing computed pmk grepping the correct one
. exporting to a new cowpatty_hashfile
. run cowpatty attack over test libpcap capture file

cutted out cl computation, I've implemented a different vectorized sha1_process (I've two now).
results of this variant are poorly the same as first one on a 8400GS (need to check on the spus: they're the vector units).
this one needs more _private space to compute (need to stage some on _local), but I can set a larger NDRange.
thinking to write something about on Google Docs (need time).
good computation, good output.

Monday, December 5, 2011

"This is not hacking, it's crypto!"

I've wrote a single program called blackhole, it:
. Stores words,
. Computes pmk against an essid,
. Stores back results into a simple sqlite database,
. Exports computed pmks to a compatty hashfile to perform the attack later with aircrack-ng or cowpatty.

And here everybody'll say: "So why you should use this? Just use pyrit!"
Pyrit is NOT optimized to run on the Cell/BE , I'm doing this to improve the speed of computing pmks with all 7 Spe in a PS3.

Just to let you know that I'm back to work over the OpenCL code now!
I'm thinking to elaborate some of my idea, writing down to let you, interested reader, understand and maybe found better solutions;
Was Feb this year when I've got some speed improvements without knowing C, how can do the job without C basis?
Months spended reading and learning a lot of stuff, sources of aircrack-ng, stuff as genpmk.c, sha1-sse2.S, pyrit, threading, the sqlite library...
This is the power of open source, I was able to realize something I've in my mind, for free!
Don't miss my next new video "blackhole's evidence".

Thursday, November 10, 2011

What's up next?

Busy at the moment, but let me know you out there what's going on:
bruteforge will be updated adding the 'Shifted variant' mode set, Niclas already knows what it does!
blackhole is importing, computing pmk and exporting to cowpatty fie as pyrit/airolib-ng/genpmk does!
About computing, I'm using the CPU in one single thread; about exporting, results are the same: diff tells me that: binary files are identical!
Now I've to implement the OpenCL code, my vectorized one(!); I can skip the stock pyrit cl implementation now, I've got error checking with SSE2 or quering blackhole_sqlite database also!
Time to give power to the Cell, targeting my 'too long time idle' 7 SPU!

Monday, September 19, 2011

What (da fuck) I'm doing now?!

bruteforge does words, where store those? I'm writing blackhole.
blackhole is a database engine with import/export capability to/from an sqlite database, the third piece of code does pmk computation via OpenCL (I'm targeting the PS3 on all 7 SPE!), an optional fourth piece will export to a cowpatty table to externally perform the attack.
All is written in C, linking gmp, sqlite, openssl; OpenSSL? Yes, blackhole starts doing pmk hash using the CPU with SSE2, I'm using for my tests the SHA-1 SSE2 implementation (C) 2008 by Alvaro Salmador, (easy, I'm not spreading anything, same code was implemented in pyrit too...)
I've melt that code to get result checking, was a new stuff, as sqlite. Many useful thing to know, as ever.

So what? One single thread export from sqlite db, compute pmk and store back result into sqlite db doing a little more of 500 pmk/s.
Sounds good, now I'm thinking how store the pmk: a uchar[32], or better: 8 uint32, 32byte, let me better explain:
After doing the math the result is 8 uint32, 8*4byte = 32byte, by the way the hash output is obtained by reading as uchar (byte after byte) the same 32byte, so simply I'm thinking to store those 8 uint32 into 8 sqlite coloums, in this way sqlite will stores max 64byte per record using INTEGER type.
The fouth piece will then read computed INTEGER results with atoi(), stores into a 32byte before get written to a cowpatty table.
Why? uchar[32] can be full of NULL and friend... How to store an uchar[32] into sqlite coloumn using BLOB type?
Storing as hexadecimal string will be the same (64byte per record), but every uchar must be hexcoded importing and then hexdecoded while exported...
Storing as binary? New stuff to learn, anyone can point examples?

Monday, September 12, 2011

bruteforge 0.6r18, here comes a new rule!

my friend don't want more than N couple of same char in word, ex:
Valid:
02AE7AABF97
2BEFFA29151
Not valid:
00EE7ABBF97
we can now append -c 1 to let bruteforge compose with max 1 couple.
grab the latest binary here.

Wednesday, June 22, 2011

1UP

Base system is less than 800M, I've got one more spu.
In meantime I've wrote another tool to interface with bruteforge, more to come.

Thursday, May 5, 2011

missing ln -s

upgrading to IBM OpenCL Development Kit for Linux on Power 0.3, restarting F12 troubles...
Specs says tested on:
Red Hat Enterprise Linux 5.5, 5.6 and 6.0;
SUSE® Linux Enterprise Server 11 SP 1;
I test Fedora12, ppc ends at 12.

Install logs tells you that all went fine, but xlcl start script fails!
To update succesfully invoke this missing parts:
cd /opt/ibmcmp/xlc/opencl/0.3/etc/
ln -s xlc.cfg.rhel.gcc444 xlc.cfg.rhel12.gcc444
ln -s /usr/lib/libIBMOpenCL.so /usr/lib/libOpenCL.so

A voice in a loop: "... upgrade, patch your firmware, free another spe, unlock all... "!

Thursday, February 17, 2011

pmk, dissected

As seen, pyrit opencl does about 1200... i've wroted a kernel that grab data as seen here to get processed by kernel as uint4 vectors, theorically this should does x4, and it does!
What's the big news? Output data are verified with tested vectors against 8192 sha1 rounds, or better;
First 20 of 32 byte of pmk are good with mine implementation, I've now enough C/OpenCL basis to target the differents cl address spaces provided, made use of _local and async_worg_group_copy and maybe redesign the algo to do 20+12 in the same time!
I've gotta go now, this fucking work...

Friday, January 14, 2011

pause, read, start

Open the door to gameos means that some developers will start to know the Cell/BE and its architecture, we all know its potentials.
Of curse, we are seeking the return of linux, with one more spu for us.
Now that I've gain some C basis and finally nvidia-toolkit 3.2 can compile fine (the stock pyrit opencl kernel back to run on my cl_developing mobile 8400gs, I can't develop on PS3 only everytime) I'm back focusing to improve performance of OpenCL implementation of PMK hash on the Cell/BE, existing implementation computes 1200 pmk/s;
Correctly improve that is possible, we have tools.

Some stuff
WPA password cracking
fedora12-ps3 setup
Cell Architecture Explained
Hints from IBM forum
CUDA/OpenCL differences
OpenCL implementation of Sha1 hashing algo