Montag, 30. Dezember 2013

LAN Pong

Here comes the first version of my demo game, LAN Pong. For now only single player is done, but almost all game mechanics for MP are prepared, so next step will be including the SDK for MP



now on SVN...
greetz WV

Mittwoch, 25. Dezember 2013

well fine, my server has player and session list implemented, time to write a real demo game :) on SVN...

greetz WV

Dienstag, 24. Dezember 2013

Montag, 23. Dezember 2013

Universal Game Server SDK

following up to the previous post, I created a SDK for a universal gameserver. It will handle player authentication, stats, lobby chat and game listing. So f.e. an example game log into it and sees what other players and games are available. Once a hosting player starts a session, the other talk to him over p2p with the IP they got from this game server. The "protocol" are the packed variables from previous post. WIP and first stable version on SVN :D



here the example code for creating the test packet, convinient enough for me^^

public static void SendTestPacket()
        {            
            List<NetHelper.PackedVariable> l1 = new List<NetHelper.PackedVariable>();
            l1.Add(NetHelper.CreatePackedVar(1, -1)); 
            l1.Add(NetHelper.CreatePackedVar(2, (uint)0x1000)); 
            l1.Add(NetHelper.CreatePackedVar(3, 3.1415f));
            List<NetHelper.PackedVariable> l2 = new List<NetHelper.PackedVariable>();
            l2.Add(NetHelper.CreatePackedVar(5, l1));
            l2.Add(NetHelper.CreatePackedVar(4, "Hello World"));
            List<NetHelper.PackedVariable> l3 = new List<NetHelper.PackedVariable>();
            l3.Add(NetHelper.CreatePackedVar(5, l2));
            l3.Add(NetHelper.CreatePackedVar(2, (uint)0x1111));
            SendPacket(NetHelper.CreatePackedVar(5, l3));
            log.Write("GameClient : Test Packet Send", 5, Color.Blue);
        }


greetz WV

Sonntag, 22. Dezember 2013

Packed And Streamed Variables

Sometimes a picture explains alot more than text. I needed a way to send structured (nested) variables over network as streams of bytes, so I decided to go for blocks that can nest, and quickly implemented this (10 mins). Its a bit like binary xml I guess :)


greetz WV

Mittwoch, 13. November 2013

Samstag, 9. November 2013

So, ACTA, SEPA and what they are not all called, prevent me from circumventing any reverse engineering protections and also any copy protection? So loading my DVD in my player, which loads it into its memory for playing, is actually illegal? Or cant I actually just copy any digital code, sell it for less and claim mine, just add a little protection and the original owner cant legally bypass it and proof its stolen? Does it help to delay research into critical infrastructure, just because I could really find out how it works? sometimes...

greetz WV

Freitag, 25. Oktober 2013

5 hours in the making, using custom roms, adb only and this bricked smartbook surfer tablet lives again! I guess I saved it from the trash bin, the batterys are dead, but as you see, even the yt app works! Id call this a successful repair, lets hope my client is happy :P



greetz WV

Montag, 21. Oktober 2013

I cant count the many ways you can use this. Its pretty much a portable, anonymous, ssl and tor using, undectable and firewallproof server, you can set up at home. Take a bunch of these vms, a few home pcs with inet connection and you can host your own site for pretty much free! (just thinking about all the free wlan spots, but energy is still not free :P)

VM image taken from here:


greetz WV

Freitag, 18. Oktober 2013

Now that took long, 
a 12hr hackathon from 4 to 4 at morning, just to switch off the security at a friends HTC One M7, including rooting, SuperCID, MainVer fix, tamper fix and custom recovery! In the meantime I sometimes thought I bricked it and it didnt responded, but now 12hrs later, I got it!!! Also learned a SH!TLOAD of stuff on the way, including usb trace, adb shell fun, phone states, boot order, partition layout, linux commands in general and damn im reliefed I didnt bricked this (before fully working stock) 700 bucks phone, which isnt even mine!^^


HBOOT: 1.54.0000
MainVer before: 2.24.111.3
CID before: T-MOB01

greetz WV

Mittwoch, 9. Oktober 2013

today tried to build a psx memcard reader, but failed, I guess voltage is not stable, well...

http://www.gamesx.com/mccap/




greetz WV

EDIT: here an raw trace output, upper side out, lower side in, well looks like the card doesnt like to respond, nor ack any of my bytes (5) send... who knows



Montag, 7. Oktober 2013

Yippee, I compiled my first PSX game today. I followed this tutorial

http://www.psxdev.net/help/psyq_hello_world.html


and got this:





here a vid of it, recorded in an emulator:

http://www.youtube.com/watch?v=7l3tuVHm0dQ


I wish I could have done this back then...

greetz WV

Mittwoch, 2. Oktober 2013

Add FFX Explorer today, it can read textures for now and has a cleaned up class for reuse


greetz WV
What a lulz, I got "Reverse Engineering on a self choosed example, 50 pages" as my uni thesis topic. Hmm, where do I start...^^

greetz WV

Dienstag, 24. September 2013

More on ffx meshes...


greetz WV
riddle of the day, how does this conversation work? any hint is welcome

0x430 = 0x8030  0000 0100 0011 0000 = 1000 0000 0011 0000

0x1E1 = 0x803C  0000 0001 1110 0001 = 1000 0000 0011 1100
0x263 = 0x8048  0000 0010 0110 0011 = 1000 0000 0100 1000
0x2ed = 0x8054  0000 0010 1110 1101 = 1000 0000 0101 0100

I have the value on the right side of = and try to find the other side, after the hex version is the binary version for each value


ok, this is no conversion I found out, you take the value masked with 0x7FFF (v & 0x7FFF) and divide it by 3, now go so many entries back and take that index from list. this was the way ffx encoded its indices... wtf


greetz WV

PS:No I dont know the solution, but Ill post if I find out :P

Mittwoch, 18. September 2013

Dunno why I still work on this, but at least the most neccessary base for DLC editing codewise is done, added DLC TOCbin Updater today.




Also I found a cool way to make a RichTextBox transparent, so I can use the Form background with tiled images:

public class TransparentRichTextBox : RichTextBox
{
  [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
  static extern IntPtr LoadLibrary(string lpFileName);
  protected override CreateParams CreateParams
  {
   get
    {
CreateParams prams = base.CreateParams;
if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
{
 prams.ExStyle |= 0x020; // transparent 
 prams.ClassName = "RICHEDIT50W";
}
return prams;
    }
  }
}

greetz WV
Sometimes the smallest additions made the most work... phew^^ happy to be completely done


greetz WV

Sonntag, 15. September 2013

Added explorer for .Hack's (PS2 Game) BIN files. You can read them directly from the disc. It contains a few GZipped files, which in turn contain alot "blocks" as I would say, but it doesnt always work, also the counts never really match except in a few case where the ccs file contains only one texture for example. these blocks work like : 
{
int32 flags
int32 size
}
but size doesnt always match, there are blocks that have exceptions. Also notice size * 4 bytes to the next block, not size alone


greetz WV

Samstag, 14. September 2013

while(awake)
{
 if(!day && late)
 {
  try
  {
    sleep();
  }
  catch(interest i)
  {
    messagebox.show("damn");
    handle(i);
  }
 }
}

Freitag, 13. September 2013

Finally, some results, today I finished rough texture export for FFX, looks good so far, even with small errors :D



They use a 256 color palette, so one buffer holds different palettes a 1024 byte (argb, 4x256) and the other the entry byte for each pixel. The third buffer then tells which imagebuffer is used with which palette. After all that some color correction has to be done, so far I only multiply alpha channel by 2, but that obviously isnt all...

greetz WV

Donnerstag, 12. September 2013

Thank you, the internet, that I have a place to store all my weird creations :P



greetz WV

Mittwoch, 11. September 2013

if you happen to buy a TV in europe today, f.e. a great new flatscreener, with usb port, hdmi and all the fancy stuff, you actually bought a linux mainboard with an oversized screen output! Also it doesnt really matter what company sells you a tv, what name or brand is on them, its just variations of different mainboards from two main companys: Vestel and Beko. I dont wanna talk about the technical details here, as some are scary. But in principle you have a pc, running linux, with the same software and just change settings, or load packages as updates for the sw.

Now if you happen to get some firmware files they will contain some .bin files, some autorun script and/or maybe a pkg file. The bin files are like tree-structured ini-files that have parameteres and their value. For these files I wrote a tool called PCReader (ProfileCreator, the program these are made with) that can read these files, if someone needs it, I could probably add editing too...



Also two pins on either SCART or the VGA-cable are used to telnet into that linux machine, once I get a suitable device, im gonna try that out :P

greetz WV

Dienstag, 10. September 2013

how to read a swizzled / tiled texture as used in some consoles? here some C# snipped of mine

int[,] Image = new int[width, height];
int m = 16;
int n = 16;
for (int y = 0; y < height / n; y++)
 for (int x = 0; x < width / m; x++)
  for (int j = 0; j < n; j++)  
   for (int i = 0; i < m; i++)                                 
    Image[x * m + i, y * n + j] = ReadRGBInt(source);

greetz WV

Montag, 9. September 2013

The Exiled Realm of Arborea: Tera

someone asked me to make a reader for the gmp files of it, and here it is: 

decompressor and full browser:



on SVN...

greetz WV

sometimes I simply pick up a task and dunno why I did it, but this time was quick fun. Here the original post

http://www.gildor.org/smf/index.php/topic,1794.msg14258.html#msg14258

so here comes the Injustice: Gods Among Us xbox360 .xxx file decompressor and a rudimentary (only names table so far) browser for them


also on SVN^^

greetz WV


Next thing im workin on for a while now, is an ffm file viewer for Final Fantasy X. There was once a guy out there, yaz0r, that had the incredible skill to revert the format from the PS2 game executable and wrote the well know FFXViewer tool. Unfortunately he deleted all his stuff and the research about it. So I basically took his tool and decompiled it to pseudo C from asm, to get the structure of the file for it. put my research so far on SVN repo too



for more details follow here:
http://ffproject.net/FFXplorer/viewforum.php?f=7

greetz WV
Now for all coming tools, I created a SVN repo at SourceForge:
http://sourceforge.net/p/wvtools/code/

in the basefolder you can find now tools for Wipeout Fusion:

WOFExplorer

Get your PS2 game DVD, put it in the DVD drive and open the FILESYS.WAC file in WOF subfolder. Now you can browse the game content and extract files by double clicking on them (notice that it will ask for FILESYS.WAD where the actual data is stored)

MUNViewer

well MUN files are texture files, BGR encoded and swizzled/tiled with 16x16 tiles, this tool can display them. Also you will find "test.tga" after you opened a files in the exe's directory, which contains the image as tga format




greetz WV
Well first post should probably contain a link to my most known project:

and its forum:
http://me3explorer.freeforums.org/

theres also a wiki about the tech details:
http://me3explorer.wikispaces.com/

well thats actually it for my first post :P

greetz WV