November 2009

You are currently browsing the monthly archive for November 2009.

Devs m0skit0 and ab5000 have been working on an eLoader for the MOHH exploit in the past months. Today, m0skit0 released an alpha version of his work, named “Half Byte Loader”. He mentioned that this is currently only useful for devs, as it doesn’t allow to run homebrew yet, but let’s hope this will lead to something good in the weeks to come.

An important point to mention is that it is the first open source eLoader that’s been released, in 4 years of PSP hacking. Many thanks for that :) This could probably become the base of future homebrew loaders, and this will at least be a useful source of information for lots of devs around here!

source and download: advancedPSP



If you own a PSP that you bought recently and haven’t been following the news lately yet are interested in unlocking your PSP, the whole PSP scene certainly looks like a huge mess to you, and you probably have no clue if your PSP’s hackable or not.

Things have been moving quite fast recently, so expect things to change soon, but here is the current state of PSP’s “hackingability” :

models

Below are details for each model.

PSP Phat and PSP2000 (except ta88v3)

If you own a PSP Phat (PSP-1000), or a PSP Slim (PSP 2000) that is NOT a Ta88v3, then your PSP, independently of its firmware, is 100% hackable with a pandora battery. It’s been the case for many months now, and it will not change as the exploit used for the pandora batteries is a hardware exploit and cannot be fixed with a new firmware.

PSP-3000 and TA88v3, Firmware 5.03 and below

If you are the unlucky owner of a “doomed” motherboard, but happen to have a firmware 5.03 or below, your PSP is “half-hackable” through the laughing man tiff exploit and the associated Homebrew Enabler, better known as “ChickHEN”. “half-hackable” means that your PSP can have all the features of fully hackable PSPs (homebrew, plugins, customizable themes, ISOs,…), but unlike fully hacked PSPs, if your hard-reboot your PSP, you’ll have to run the hack again. (For those who still don’t know, putting your PSP in sleep mode works fine and is the best thing to do to keep the HEN in Ram)

PSP-3000 and TA88v3, Firmware 5.50 and above

There is no “public” way to hack these PSPs currently. However lots of exploits have been made public in the past weeks, giving developers enough material to actually work on solutions for these models. A user exploit in the Game Archer Maclean’s Mercury exists up to firmware 6.10. A user exploit in the Game Medal of Honor Heroes (including Medal Of honor heroes 2) exists up to firmware 5.55. The Kernel exploit used in ChickHEN exists up to firmware 5.50, but (is not usable from a user exploit in a game). A Kernel exploit revealed by MathieuLH exists up to firmware 5.55. Team Typhoon revealed the existence of a kernel exploit up to at least firmware 6.10, but didn’t make it public. Technically, with the current public available info, these PSPs could be hacked up to firmware 6.10 for Homebrew through the Mercury Game, and up to firmware 5.55 for HEN (isos, plugins,…) through the kernel exploit revealed by MathieuLH

PSP Go

There is no “public” way to hack these PSPs currently. The PSPGo cannot technically use exploits in games. Well…it can, but as soon as a game is hacked, it gets patched. So either you own a hackable version of the game and can use it, either you’re screwed. The general idea is that we cannot use games as a “good” user exploit source for the PSPGo. Exploits still exist though, and most of the time kernel exploits valid for a given firmware will work on the PSPGo, so it’s only a matter of finding a user exploit in the XMB rather than in a game.

Vocabulary

Homebrew: User made (non official) applications. These include games such as Wagic, utilities, emulators…
ISO: In the PSP world, digital copy of a game, most of the time unencrypted, preventing it from running on an Official firmware. ISOs are often associated to game piracy.
plugin: Homebrews that are loaded in the Ram of the PSP to extend its functionalities. For example, the music plugin allows to play MP3s while playing a game or a homebrew on the PSP.
HEN: Homebrew ENabler. A program that patches the PSP Ram to allow running unsigned code (Homebrews). unlike eLoader, a HEN is in the Ram and therefore doesn’t require to be launched everytime you want to run unsigned code. To do this a HEN usually requires a Kernel exploit.
TA88v3 :A Model of Motherboard that was introduced on the PSP2000 in summer 2008. It fixes the vulnerability used by the pandora batteries. Several techniques exist to identify your PSP Motherboard. If you have a PSP 2000, the easiest way to identify if it has a “doomed” motherboard is to try a pandora kit (battery + memory stick) on it.

Note: Firmware 5.05 has been intentionally not mentioned as it was released to a very limited number of people.

If you own a PSP that you bought recently and haven’t been following the news lately yet are interested in unlocking your PSP, the whole PSP scene

certainly looks like a huge mess to you, and you probably have no clue if your PSP’s hackable or not.

Here is the current state of things:

Below are details for each model.

PSP Phat and PSP2000 (except ta88v3)
If you own a PSP Phat (PSP-1000), or a PSP Slim (PSP 2000) that is NOT a Ta88v3, then your PSP,

independently of its firmware, is 100% hackable with a pandora battery. It’s been the case for dozen

months, and it will not change as the exploit used for the pandora batteries is a hardware exploit and

cannot be fixed with a new firmware.

PSP-3000 and TA88v3, Firmware 5.03 and below
If you are the unlucky owner of a “doomed” motherboard, but happen to have a firmware 5.03 or below, your

PSP is “half-hackable” through the laughing man tiff exploit and the associated Homebrew Enabler, better

known as “ChickHEN”. “half-hackable” means that your PSP can have all the features of fully hackable PSPs

(homebrew, plugins, customizable themes, ISOs,…), but unlike fully hacked PSPs, if your hard-reboot your

PSP, you’ll have to run the hack again. (For those who still don’t know, putting your PSP in sleep mode

works fine and is the best thing to do to keep the HEN in Ram)

PSP-3000 and TA88v3, Firmware 5.50 and above
There is no “public” way to hack these PSPs currently. However lots of exploits have been made public in

the past weeks, giving developers enough material to actually work on solutions for these models. A user

exploit in the Game Archer Maclean’s Mercury exists up to firmware 6.10. A user exploit in the Game Medal

of Honor Heroes (including Medal Of honor heroes 2) exists up to firmware 5.50. The Kernel exploit used in

ChickHEN exists up to firmware 5.50, but (is not usable from a user exploit in a game). A Kernel exploit

revealed by MathieuLH exists up to firmware 5.55. Team Typhoon revealed the existence of a kernel exploit

up to at least firmware 6.10, but didn’t make it public. Technically, with the current public available

info, these PSPs could be hacked up to firmware 6.10 for Homebrew through the Mercury Game, and up to

firmware 5.55 for HEN (isos, plugins,…) through the kernel exploit revealed by MathieuLH

PSPGo
There is no “public” way to hack these PSPs currently. The PSPGo cannot technically use exploits in games.

Well…it can, but as soon as a game is hacked, it gets patched. So either you own a hackable version of

the game and can use it, either you’re screwed. The general idea is that we cannot use games as a “good”

user exploit source for the PSPGo. Exploits still exist though, and most of the time kernel exploits valid

for a given firmware will work on the PSPGo, so it’s only a matter of finding a user exploit in the XMB

rather than in a game.

Vocabulary
Homebrew: User made (non official) applications. These include games such as Wagic, utilities, emulators…
ISO: In the PSP world, digital copy of a game, most of the time unencrypted, preventing it from running on an Official firmware. ISOs are often associated to game piracy.
plugin: Homebrews that are loaded in the Ram of the PSP to extend its functionalities. For example, the music plugin allows to play MP3s while playing a game or a homebrew on the PSP.
HEN:Homebrew ENabler. A program that patches the PSP Ram to allow running unsigned code (Homebrews). unlike eLoader, a HEN is in the Ram and therefore doesn’t require to be launched everytime you want to run unsigned code. To do this a HEN usually requires a Kernel exploit.

Theme “Final Saga”  

We regularly get lots of brilliant user-made contents on the Wagic forums.

Sometimes, the result is not only brilliant, it is awesome. This is the case of the Theme “Final Saga” posted by Ilya B yesterday. I was amazed to see such a gorgeous and coherent theme. Pretty much all graphics have been redone, and the theme includes some really cool avatars. It’s not difficult to do better than the current default avatars in Wagic, but these ones are truly excellent. This is now the Theme I use on my PSP :)

How to install:

  1. Download the theme here and put it in your “WTH/Res/themes” folder
  2. Launch the game, and in the options > user, select the “Final Saga” Theme
  3. There is a bug currently with fonts in Wagic 0.9.1, so if you want the theme fonts (I highly recommend them), download this additional file and extract it into your Res/graphics folder

Don’t hesitate to say thanks to Iliya B for this awesome work. And use the opportunity to browse the forums for extra contents ;)

Freeplay released his exploit for the game Mercury a few hours ago. The reason is that the vulnerability has been patched in firmware 6.20, making any further work on this exploit useless. Sony also immediately updated the game on the PSN store so that it now requires firmware 6.20.

Matieuhlh, member of the team prometheus (the team who created the Pandora Batteries), and a respected hacker on the PSP scene, revealed that Freeplay actually stole the code from a private SVN. To prove this, Mathieulh released the original sources of the exploit, as well as the sources for a kernel exploit that has been patched in firmware 6.00.

Further development of these exploits will most likely lead to custom firmwares and/or HEN for PSPs up to the firmware 6.00. This is of course interesting only for owners of Ta88v3 and of PSP3000. Owners of PSPGo can still pray for a future XMB exploit, and owners of older models of PSPs can use pandora batteries, independently of their firmware. As usual, if you like homebrews, don’t upgrade. And avoid buying a PSPGo :P

People interested in working on these vulnerabilities (user and kernel) can download them here

Source:MForMature

This image is not hosted on wololo.net. All rights reserved Wizards of the Coast. wololo.net is not related to Wizards of the Coast. The terms Wizards, Coast, of, the, and Magic, are (c) Hasbro. Elves were invented by Wizards of the Coast, and have not been a part of popular culture for centuries. Treefolks are not a copyright infrigement of Tolkiens work. Its a different word.

This image is not hosted on wololo.net. All rights reserved Wizards of the Coast. wololo.net is not related to Wizards of the Coast. The terms 'Wizards', 'Coast', 'of', 'the', and 'Magic', are (tm) Hasbro. Elves were invented by Wizards of the Coast, and have not been a part of popular culture for centuries. Treefolks are not a copyright infrigement of Tolkien's work. It's a different word.

Rares, creator of MTGForge, recently received a DMCA notice asking him to remove some links to his game provided on his blog (hosted by google).

Why he received it is still unclear, but it seems his game is infringing some copyright owned by Wizards of the Coast (this needs to be confirmed).

Wizards of the Coast are well known for threatening lots of players, blog owners, and fan-made games.

MTGForge is a free, fan made java game that allows to play with a limited set of MTG cards against a limited AI. It doesn’t offer the same experience as any existing product sold by WotC, neither is it a competitor to their business. It brings attention to Magic the Gathering to a broader audience, and provides free promotion for MTG. WotC should make a difference between protecting their copyrights and attacking the people that help them.

Please do not hesitate to post this piece of news on your blog, or on forums dedicated to Magic The Gathering. Maybe if enough people talk about this bad behavior, Wizards will realize it can hurt their image to do a witch hunt against every fanmade game.

As far as I’m concerned, I believe that a game invented more than 15 years ago should be in the public domain, and WotC should create new games rather than relying on their cash cows (Magic and D&D). But that’s a different story.

I personally got threatened by WotC’s lawyers less than a year ago. Yet I regularly receive emails from people who’ve come back to Magic after playing Wagic, years after they stopped playing the original game…

I understand it’s a complex issue, and their lawyers are probably just doing their job. But in the end it’s all a matter of money. If it costs them more to insult their clients than letting us do our fan work in peace, they’ll stop. So spread the word, people.

PS: if Wagic or MTGForge have made you buy some WotC products (you hadn’t played the game in years and Wagic made you want more so you bought Zendikar cards and participated to an official draft event, or you own an XBox360 and wanted to try it out because the AI AI is a bit frustrating, etc…), please post your experience :)

I have been working on Wagic for more than 2 years now, and it’s become quite big for a homebrew game. In terms of gameplay and features of course, but also in terms of source code. I use a small application named CLOC to count the number of lines of code in Wagic, and I was amazed at how the source code for Wagic keeps on getting bigger with time.

Wagic now has 70’000 lines of code.

As a comparison, a “standard” Custom Firmware for the PSP has around 25’000 lines of code.

Out of curiosity, I ran CLOC on several open source projects of the PSP community and here are the results:

Project Name Lines of Code 3rd gen Equiv.
Wagic 70’000 (including 40’000 for JGE) 85’000
DSON PSP (DS Emulator) 37’000 (including 28’000 from the PC emulator) 32’000
CFW 3.10 OE 23’000 21’000
Battlegrounds 3D 0.4 (tank game in 3D) 12’000 10’000
PSP Mancala (Mancala Game) 3’200 2’500

(3rd gen equiv. Is CLOC’s attempt at comparing projects written in various languages. It assumes for example that one line of assembly code does way less than one line of C, itself doing less than one line of C++)

What does this show? Well, pretty much nothing, except that the number of lines of code in a project are not directly related to its popularity :P

A “standard” homebrew game with basic features, that is still more than a “proof of concept” will have between 2’000 and 10’000 lines of C/C++ code (I didn’t try any LUA game).

A basic rule of thumb is that a programmer alone can maintain around 20’000 lines of code. The number of lines of code in a program give no specific indication on the quality of the code itself, but there are two obvious things: Maintenance and bugs increase with the number of lines of code. I’m not saying that Wagic has 15 times more bugs than Battleground 3, but that it is highly probable that Wagic has 2 times more bugs than when it had only 35’000 lines of code.

Well, if we want a project to grow bigger, add more features, at some point we have to increase the code size. What are the solutions to deal with it?

  1. Version control. I can’t imagine a project with more than 10’000 lines of code that is not version controlled. We use SVN for Wagic, there’s a free service provided by google code for that. So far it’s great. Other projects use their own SVN servers (such as the PSP SDK at ps2dev). Other solutions such as Git exist. I don’t think any software project can expect to grow without at least a basic version control system
  2. Bugs tracking. I used to write down every single bug on a piece of paper. This works half well when you’re alone on the project, assuming it’s always the same piece of paper. Let me withdraw that: it doesn’t work. You end up forgetting things. Inputting the bugs in a system that will help you keep records is a great idea. I’m happy we progressively shifted to that in the Wagic project. Google code offers this service as well. There are alternatives such as mantis,…
  3. Automated tests. I gave up the idea of having human beings test every single feature in Wagic after the second release I think. There is no way you can get people test thousands of cards in an acceptable amount of time. Depending on the project, automated testing can be hard to implement. Unit tests are fairly easy to implement in languages such as Java, but I haven’t taken the time yet to implement unit tests in Wagic. Wagic does regression tests, which is basically a way of making sure that a new feature does not break old ones. We have lots of progress to do in this area
  4. Reduce the quantity of source code. One other thing I haven’t taken the time to do seriously yet. The best solution to reduce maintenance is of course to reduce the size of stuff to maintain. Wagic has lots of dead code, or code that could be optimized/refactored. We try to do some cleanup regularly, for example by removing hardcoded cards, and instead softcode them (which also improves the parser, that’s a good thing). Often, cleaning up the card codes doesn’t reduce the total amount of code though. But it allows us to code 50 cards when it was only possible to code 1 initially.

These are the four things we use on a daily basis to work on Wagic, and that proved efficient over the months to increase the quality of the game. It is far from perfect of course. We are experimenting with other things (such as a wiki) to improve documentation and communication between devs…we’ll see how it goes.

Stop Whining.  

The recent video posted by Team Typhoon about their “we won’t release it” HEN for the PSP Go has been generating lots of crap for the last few days. I’m pissed. I could write this on some forum and add to the hundreds of comments that can be found on MForMature, QJ, or PSPGen.

But I’ve got a blog which allows me to write, complain and whine with other people actually reading what I write, and my post not getting lost in hundreds of others. I rock, ’cause I’m better than you :P

I’ve read all the comments on the MForumature thread. Yes, all of them. At the time I write this, there are 189 of them. What can I say, I love dramas…

At first I was disappointed that team Typhoon decided not to release their hack, but I believe they have their reasons. As a fellow developer I’ve encountered many times users who treated me like sh#t, forgetting that they were getting hundreds of hours of my work for free. These people, that we can call “ungrateful users” always want more, insult you instead of giving constructive feedback, and are usually the reason devs quit doing their stuff after a while. There are lots of them.

I was then surprised at the reaction of one of the members of Team Typhoon, who basically insulted everyone in the thread, which more or less ruined the point of the whole thing. When you want to prove to others that they are assholes, a rule of thumb is to not act like one yourself.

This is when I realized the reason I have been working on Wagic for more than 2 years now. Even if there are lots of “parasites” in the PSP “scene”, there are also lots of great people. In the two years I’ve been working on Wagic, I’ve had the opportunity to work with dozens of very talented people, from various horizons, not necessarily devs. People who give feedback, ideas, help any way they can…

Granted, I’m not a genius hacker, I only code homebrew, there’s way less pressure than for people who work on hacks. But still, my point is that for 100 dumb users, there’s 1 cool guy who’s gonna change your life. And I believe that it’s worth working for that one guy.

Another thing that happens frequently in that kind of drama thread is people stating that “it was better years before”. Actually it wasn’t. There’s always been such drama in the PSP scene. Here’s a quote that I like from the libtiff mailing list . This was posted when the first tiff hack for the PSP was revealed, back in 2005:

If only these people spent as much time on actual good documentation and specification of facts and exact vulnerability, as they do on fighting amongst themselves in SMS type language of wannabee hackers, we’d have a chance to know what is actually going on.

That was the Noobz era back then, and apparently from an external point of view the PSP scene was already full of crap. Yes, there was probably a time when hacking the PSP was more fun and less drama. That was probably when the only way to get one was to be a huge geek with access to japanese imports… in other words, when the PSP wasn’t a mainstream product… like…for the 3 first months after it was out. If you don’t want drama, go to the openpandora. Oh, and stop thinking all the “good devs are gone”. Yes, lots of good devs have moved on. But lots of good ones appeared recently too.

Why is there so much drama in the PSP scene? Well my theory is that the PSP is the most active console in terms of underground. I ran a few funny google searches…note that everyone can use google to backup their claims, so these results are probably worthless, but they’re still interesting:

“psp homebrew” gives me more than 2.3 million results in google. “DS Homebrew” has less than half of it (if you look for “PSP ISO” or “DS ISO” though, the number of results are roughly equivalent :12 and 13 million). I was recently discussing with Magixien, webmaster of PSPGen, one of the biggest “console underground” website out there, who told me that no other console is close to what the PSP scene is in terms of activity.

It is also funny to see that the first results for “DS Scene” and “Wii Scene” in google are sites that promote pirated games downloads. “PSP Scene” gives links to more serious sites that talk about PSP releases, hacks, and homebrews. I won’t give names, try it by yourself. Does it mean that piracy is the main goal for hackers on all consoles but the PSP? Well I doubt it, but it’s still a strange result…

What’s my point you ask? I don’t know, I forgot while I was typing… I guess, it’s: stop whining. If you want hacks for piracy, just go to hell, we don’t like you. If you think the PSP scene was better 3 years ago, nobody’s asking you to stay, you’re spoiling the party. If you think you’re better than others because you’re a hacker or one of their beta testers, just learn humility, it won’t hurt you.

If you disagree with me, I have the power to erase your comments, I’m almighty, muahahahaha… meh, ok, you can post…

Team Typhoon, the guys who did the ChickHEN (your remember Davee, right ?), just posted a video showing a PSPGo running homebrews as well as a recovery menu and some features that can only be accessed through Kernel Mode.

It seems they found a user Exploit AND a kernel exploit on the 6.10 Firmware.

Bad news is, they don’t plan to release the exploit, for some reasons unknown yet (probably related to some other groups using their work for ISO Loading despite their strong requests not to do it).

CC by kanjiroushi

(photo CC by kanjiroushi)

I wanted to introduce properly the new Themes mechanism that is now available in Wagic, but things got a bit out of hand, and instead, some dedicated people managed to get a full Starwars MOD ready a few days after Wagic 0.9 was released.

As you may already now, Wagic is a computer card game which is highly customizable. I think we can almost say that with enough work, you can create an entire new game without any programming skills. This is what this starwars MOD is about. Several hundred new cards, new graphics, new sounds, but still the same principle of collecting credits to improve your decks and beat the AI.

This starwars MOD is unofficial for now, but depending on its success, it might become officially supported (this means improvements and bug fixes). So if you download this and enjoy it, please say it!

menu

This mod contains 4 sets of cards. 3 of these sets were created by Christopher French, aka Alacar Leoricar. The thread were he first released these sets can be found on MTGSalvation, I want to personally thank him for his enthusiasm about this small project, and I hope we’ll have opportunities to port more of his awesome sets to Wagic.

The fourth set was created by DarthGhadar and posted on our forums

The funny EBOOT picture was made by kanjiroushi

The mod initial design and theme is by Abrasax

A small team was able to create this mod in a matter of days with the latest Wagic version… I hope this will lead to More mods like this one. If you’re a fan of anime, or want to create your own graphics and universe, go for it! You can already check out some cool themes and custom sets on the forum.

shop

The package includes Wagic 0.9.3, which is basically Wagic 0.9.1 with a couple bug fixes. The purple screen issue is, unfortunately, still here, but remember there are ways to get rid of it most of the time :)

Enjoy Wagic’s first full MOD, download here.

A package with the images can be found here. Alternatively, you can find them on the MTGSalvation thread.

Please report bugs here for now

soldier

Wagic is 100% fan work, and is not related to or endorsed by Lucasfilm or WotC.

AI Deck contest!  

If you enjoy Wagic, but think you could teach us how to build better decks, or if you happen to have created a deck in Wagic that you want to measure against others, then this is for you! The first “AI Deck competition” was just announced on the forums.

There’s nothing to win, but the pride of showing your MTG deck construction skills. This is a very casual tournament, just for the fun of it.

You have 11 days to build a cool deck and submit it. The decks will then be automatically tested against each other through Wagic’s AI in several thousand matches. We will include the best performing decks in Wagic’s next release :)

Rules and subscriptions here, many thanks to Psyringe for organizing all this!

I’ve said it numerous times, finding crashes is the first step to finding exploits on the PSP (and on other devices as well, by the way. It is just easier on the PSP since we already have lots of tools to help us).

Crashes are usually the result of luck (bad luck if you were playing a game and forgot to save),  but there are ways to “force” your luck. One of them is called Fuzzing. I recently found an MP3 crash (which happened to be non exploitable) through this technique, and I was actually very proud of this “revolutionary” method of finding crashes, until I was told that this was a known technique in software testing :P .

Wikipedia tells us:

Fuzz testing or fuzzing is a software testing technique that provides invalid, unexpected, or random data to the inputs of a program.

Well that’s pretty clear. The idea is to feed our program with random data and see if it crashes. In my case, the “program” was the PSP mp3 Player, and the random data was a series of broken mp3 files.

This is all very good, but the main issue is that you’d need to be extremely lucky in order to find a crash this way. Except… that the PSP mp3 player allows us to test thousands of files extremely quickly with the usage of playlists.

Here’s what I did for the mp3 file: I first created a very short mp3 file with Audacity. I use audacity because it’s open source, but any audio manipulation software will do. I then created thousands of copies of this file, with only one bit changed for each of those files. I of course didn’t do this by hand, I used a script. I went with ruby, but here again, any scripting language will do (perl, php, python…I’m sure you can do it in Linux shell, or even in C/C++ if you like pain). Here’s what my script looks like (fe4r my Ruby skillz):

ruby

What this script tells is the following: open the file “a.mp3″ (my “source” regular mp3 created with audacity), and for i in 0..200, change the byte at position i with a value j, j varying between 0 and 255. In other words, I’m trying all the possible values for each single byte in the file. This generates thousands of files. For each value of i, I’m creating a new directory, so each folder will have 255 files. Note that I’m only doing this with the 200 first bytes because my 1GB memory stick got filled with those files, but nothing prevents us to actually create more (although I’d need to check if the mp3 player allows to have more than 255 subfolders in the mp3 directory). What I ended up doing is “sessions of 200″. I first tested the 200 first bytes, then 201 to 400, etc…

files

Once this was done, I copied all the generated files (still in their respective folders, the psp mp3 player doesn’t allow more than 999 mp3 files per folder anyways) on my psp, and started playing everything.

This takes time, but not mine: I don’t need to be around when the psp plays the mp3 files. if, when I come back, the PSP is off, it means a crash occured. I can then remove half of the files and try again, until I find the “culprit” through dichotomy.

That’s pretty much all there is to know about this technique. It worked for mp3s, and it would work for video files, as well as image files (through the slideshow feature), although I’m not sure how these two applications deal with playlists (let me know the outcome if you try it!). The whole point of this technique is to be able to test a very large number of files in a short amount of time. Even by testing thousands of files (my mp3 was 2048btes long, so thats 2048×255 = half a million files), we only test a very small percentage of all the combinations that could be fed to the software (what if I start changing 2bytes instead of 1 in my file? What if I use a different audio file as my source ? A wma maybe ? etc…). Well it’s good because everyone can try different combinations, but of course don’t expect too much results if the player only allows you to play 10 files in a row or something like that.

There are of course lots of other techniques to look for exploits in a system, but this one has several good points (when it is applicable!): it doesn’t require to be too clever (al you need is a little script, no specific knowledge about MP3s was required for my crash, at least for the first steps), and it takes very little time (as long as the system is nice enough to allow you to feed it thousands of inputs very fast).

I’m actually surprised I found a bug in the mp3 library of the PSP through this technique…One would think Sony use that kind of testing method on their firmwares.

I hope this will give inspiration to both people trying to secure their software, and those trying to free the world from the evil forces of DRMs :) Have fun hacking!

Fuzz testing or fuzzing is a software testing technique that provides invalid, unexpected, or random data to the inputs of a program.

We released Wagic 0.9.1 a couple days ago and got lots of feedback. There are a few issues that seem to bother lots of people, so I’ll attempt to give you solutions to the most common problems.

I’ll start with translation updates:

.

Translation Updates

Wagic 0.9 en Français/ Wagic French version

Here is a patch to translate wagic into French. Explanations on how to apply the patch are in the README.txt (in french, obviously)

Voici un patch pour traduire Wagic en Français. Lisez le README inclus dans le zip pour l’installation

Italian Translation Update

Icarus updated his Italian translation file. You can get it here. Then copy it in WTH/Res/lang/ and rename it “_lang.txt”

Wagic 0.9.2 (for people who need translations)

Wagic 0.9.1 has a problem with translations in the option menu. If you want your options in a different language than english, you can download Wagic 0.9.2 here (just rename it as EBOOT.PBP and overwrite the 0.9.1 EBOOT.PBP file). This update only fixes the translation issue and is not useful for people who play with the English version of Wagic. Moreover, it is not officially supported, so don’t report bugs for it. It is just here as a convenience for our international users :)

This version is included in the French patch so French users don’t need to download it, but people who want the game in Italian, Spanish, German might want to download this eboot.

Common issues in Wagic 0.9.1 (and how to solve them)

Purple Screen

If you get a screen that looks like this at startup (minus the text maybe):

This is a known issue. We didn’t find the root cause for this, and decided to release with the issue.

The easiest solution is to restart the game. In most cases, it should work after a few attempts. Another solution is to try to replace your EBOOT.PBP with the file included in Wagic 0.9.1 called “alternate.PBP”. If you still have issues, come and discuss on the forum

I can’t play during my opponent’s turn

Add the following line to your Res/settings/options.txt file:

interruptEndTurn=1

Alternatively, you can try one of the following keywords. Their meaning is generally obvious:

“interruptBeforeBegin”,
“interruptUntap”,
“interruptUpkeep”,
“interruptDraw”,
“interruptFirstMain”,
“interruptBeginCombat”,
“interruptAttackers”,
“interruptBlockers”,
“interruptDamage”,
“interruptEndCombat”,
“interruptSecondMain”,
“interruptEndTurn”,
“interruptCleanup”,
“interruptAfterEnd”

Hypnotic Specter doesn’t work anymore

It happens. We sometimes break cards. We try not to, we have systems that warn us when it happens. But it still happens, when you have more than 3500 cards to handle, some of them, even the most famous ones, can end up broken. I’m personally pissed about that. I love Hypnotic Specter, but hey, he’ll be back in next release…

Meanwhile you can fix it yourself. For example for the 10E edition of Hypnotic Specter, open the file Res/Sets/10E/_cards.dat with a text editor, and look for Hypnotic Specter.

It should look like:

[card]
text=Flying (This creature can’t be blocked except by creatures with flying or reach.)  Whenever Hypnotic Specter deals damage to an opponent, that player discards a card at random.
abilities=flying
id=129600
alias=1165
name=Hypnotic Specter
rarity=R
type=Creature
mana={1}{B}{B}
power=2
subtype=Specter
toughness=2
[/card]

Simply add the following line and save the file:

auto=@damaged(player) from(this):discard:1 opponent

So it should now look like:

[card]
text=Flying (This creature can’t be blocked except by creatures with flying or reach.)  Whenever Hypnotic Specter deals damage to an opponent, that player discards a card at random.
abilities=flying
id=129600
alias=1165
name=Hypnotic Specter
rarity=R
type=Creature
mana={1}{B}{B}
power=2
subtype=Specter
toughness=2
auto=@damaged(player) from(this):discard:1 opponent
[/card]

Note that this is not entirely how Hypnotic specter is supposed to work, but unless someone has the hypnotic Specter deal damage to its controller, it will do for now.

I hope this answers most of the important questions we got so far. Thanks for your support and have fun with Wagic :)