UPDATE 20100102: As there seem to appear some unsatisfied fuckup-folks, read this first:
UPDATE 20090921: ZIP with sources is NOT corrupted. Please use 7-Zip archiver (ver >= 1.59)
Some time back, I was asked by Emi Abramzon and Gustavo Rubacha from http://www.ideasforiphone.com if I could do some freelancing for an effect of water waves for iPhone. Though I didn’t get into that project, I wanted to do some demo.
Spent one weekend on this. Not very astonishing, but still was an interesting task :). Algorithm is not mine. It is based on “DSAqua project”.
I just integrated everything into the iPhone OpenGL ES skeleton of the cube.
Also, previously provided the sources to Tony Konstant from mousehog.com (btw he has some nice ideas) - he was interested in this effect, but unfotunatelly couldn’t any application related to this on this site.
Download iPhone OpenGL Demo - Water Waves Effect Source
Enjoy!
UPDATE 20100102: As there seem to appear some unsatisfied fuckup-folks, read this first:
UPDATE 20090921: ZIP with sources is NOT corrupted. Please use 7-Zip archiver (ver >= 1.59)
UPDATE: Sources iPhone OpenGL ES Cube 3D with texture (Some reported archive corruption. Seems to work well with 7-Zip 4.5x, 4.6x for Windows)
This is a demo video showing my humble achievements in the direction of OpenGL ES 1.1 for iPhone, using some texture and light experiments. It is of course not intended as a working program, it’s rather a demo concept snippet of code.
The binary:
- source written in objective-c
- compiled as native application with iPhone toolchain under cygwin
- ran on iPhone 1.1.2 OOB
The acknowledgements go to:
- AJW - for great iPhone OpenGL startups
- ZeusCMD - for great OpenGL ES tutorials
- nullriver - for posts and links
Here is the binary available for download:
iPhone OpenGL ES Demo binary
Instructions:
- GLTextureCube to be put into /Applications and given proper permissions (755 to dirs and files will suffice)
- zveriu.raw to be put into /private/var and given at least read permission (444 will suffice)
- you can replace zveriu.raw with your own image data, given you follow the constraints:
– 128 by 128 pixel - sorry, had to hard-code to speed-up the working demo 
– raw data, i.e. no headers, compression, etc - ![]()
– 1 (one) byte per color, color scheme RGB
– basically it is a 24bit BMP, with no header, just raw data
_________
- to obtain such a raw file, you can:
– get a 128 by 128 24 bits BMP file with your texture
– open it with IrfanView
– make sure you have IrfanView plugin named Formats
– save as the BMP with RAW file type, instructing irfan view to make it 24 bits RGB (not BGR!) and interleaved, meaning bytes follow as RGBRGB…RGBRGB and not RRRRRR…GGGGGG…BBBBBB
_________
- basically, to check that zveriu.raw (case sensitive!) you have created is right, file size should be 128 (width) * 128 (height) * 3 (bytes for RGB ) = 49152 bytes exactly
Hope you enjoyed this post.
I have some more ideas to test on iPhone - hope to overcome all the limitations (including time-constraint
). And by the way - the USRP is solved, need to get GNUradio working on one of the boxes (cygwin refuses to get me wxPython right for GNUradio - will stick to Ubuntu for the moment!)
Tags: iPhone OpenGL OpenGL ES OpenGLES Demo Cube Cube3D Texture USRP GNUradio
I think it is pretty amazing, since as far as I know and searched, it seems that it is the first face detection app to be running on iPhone itself.
Regarding comparison with iFace and iPhoto - it looks like these apps snap the picture and send it to a central server for processing and etc. (I am not going to go in a detailed description and comparison of all these apps features though)
Also, it seems like hotels far away from home may act as energy and ideas boosters. One year back once setting up my site, I proposed myself to make the code portable and run on as many platforms, including iPhone which I got at that time. One year of delaying and finally few days of hotel lock-up and I have it working for the iPhone.
Feeling of satisfaction is unbeatable.
Few notes:
TODOs:
Stay tuned…
In an older post I have been trying to figure out how to make the T-Mobile’s Sidekick prepaid plan to work with iPhone - without success, but with some useful info.
Now, basically it’s reportedly possible to have Sidekick plans (both prepaid and contract) on iPhone, given the following are satisfied:
Now, how to know a Sidekick device’s IMEI or IMEI pattern (just for informational/education purposes on topic of IMEIs):
WARNING: Changing IMEI is illegial (at least the claims are like this - learn your country LEGALese language) in many countries. Check your country if you are “elligible” too. Do this on your own risk. I am not responsible on what you do with IMEI of your phones/iPhones.
DISCLAIMER: this post is intended purely for research and educative purposes. Any use of this information is sole responsibility of the reader/user and the author is not to be held liable for any miss-use of the above informative technical details.
At present, the only iPhone exploit software I have seen that supports IMEI change function is ZiPhone.
I wasn’t quite interested in actually changing my IMEI, but rather in seeing the way it is done.
First, I have backed-up my original IMEI (and all other stuff displayed in Settings->General->About) and then tried simply:
Code:
ziphone.exe -i 0101010101010101 |
The IMEI “0101010101010101″ above is just illustrative example, in practice I have used a valid IMEI. You can also try searching for Advanced IMEI Generator.
After several times of retrying, it didn’t work and I wanted to see why. Basically, what I have found in ziphone.cpp is that this command-line argument simply sends the following command to the zibri.dat ramdisk environment:
Code:
setenv imei 0101010101010101 |
The same result you could have achieved by:
Code:
nvram imei="0101010101010101" |
However, this (NVRAM or flash) is just a temporary location in the environment where the IMEI is stored and from where it is taken for subsequent phases of the ZiPhone ramdisk.
So this is why just using the “-i 0101010101010101″ command is not enough for changing IMEI (or is it because my iPhone was already unlocked and subsequent phases
Now, the ZiPhone ramdisk has a profile.sh script, which mainly does this:
Code:
#if [ "`/usr/bin/nvram unlock 2>/dev/null|/bin/cut -f 2`" == "1" ] ; then /bin/echo "Unlock pass 1..."; /zib/gunlock2 /zib/secpack /zib/ICE04.02.13_G.fls `/usr/bin/nvram imei 2>/dev/null|/bin/cut -f 2`; fi | |
#if [ "`/usr/bin/nvram unlock 2>/dev/null|/bin/cut -f 2`" == "1" ] ; then /bin/echo "Unlock pass 2..."; /zib/gunlock3 /zib/secpack /zib/ICE04.03.13_G.fls `/usr/bin/nvram imei 2>/dev/null|/bin/cut -f 2`; fi | |
if [ "`/usr/bin/nvram unlock 2>/dev/null|/bin/cut -f 2`" == "1" ] ; then /bin/echo "Unlocking 114..."; /zib/gunlock4 /zib/secpack114 /zib/ICE04.04.05_G.fls `/usr/bin/nvram imei 2>/dev/null|/bin/cut -f 2`; fi |
It has 3 gunlock files, which are likely geohot’s gunlock.c modifications, but without any source distributed (Zibree - gunlock.c was released by geohot with GPL - release the sources!)
I am having iPhone OTB 1.1.2 with BL 4.6, and it was unlocked by geohot’s original gunlock (using iClarified tutorial and repository, even though it can be done manually given you have binary gunlock - see attached zip archive), so I was interested first in gunlock2 and gunlock2.c source code (which is nowhere to be found… Zibree - release the GPLed sources!)
Spent one day, got an approximation of gunlock2.c by reverse engineering it and parallel comparison with gunlock.c. Happily, gunlock2.c (and perhaps gunlock3.c and gunlock4.c) are based on geohot’s original gunlock.c and is not very much modified, so execution blocks and logic can be compared even in disassembled views.
Basically, for 1.1.2 OTB BL 4.6 the steps to change IMEI without ZiPhone would be (use at your OWN risk and responsability, since gunlock2 as stated in gunlock2_zveriu_RevEng.c has potential problems):
Code:
/bin/chmod 777 /usr/bin/gunlock2 | |
/bin/chmod 777 /usr/bin/ICE04.02.13_G.fls | |
/bin/chmod 777 /usr/bin/secpack | |
/bin/launchctl unload /System/Library/LaunchDaemons/com.apple.CommCenter.plist | |
/bin/sleep 5 | |
/usr/bin/gunlock2 /usr/bin/secpack /usr/bin/ICE04.02.13_G.fls <16digitsIMEI> | |
/bin/sleep 10 | |
/bin/launchctl load /System/Library/LaunchDaemons/com.apple.CommCenter.plist |
WARNING: Changing IMEI is illegial (at least the claims are like this - learn your country LEGALese language) in many countries. Check your country if you are “elligible” too. Do this on your own risk. I am not responsible on what you do with IMEI of your phones/iPhones.
:: Next Page >>
A deep dive into brain's curiosities
| Next >
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| << < | > >> | |||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | ||