Modify UI?

Results 1 to 7 of 7
  1. #1
    Valued Member ptr0x is offline
    MemberRank
    Feb 2011 Join Date
    BrazilLocation
    109Posts

    Modify UI?

    Hi,

    I need to create some new buttons in the UI of the game and I first thought of implementing a directx hook, but it could be done easier using the native game UI system.

    My question is simple: has the community already cracked (and published it) how the native UI system of the game works? I mean, which files are responsible for doing what and its structures.

    If yes, send me a link of a topic explaining the basics please, I couldn't find any using the forum's search engine.

    Thanks in advance.


  2. #2
    Newbie :) Pinkof is offline
    MemberRank
    Mar 2008 Join Date
    760Posts

    Re: Modify UI?

    All interface work like the custom interface check if mouse position is over the interface. The most hard to modify is the inventory all other is easy.

  3. #3
    Valued Member ptr0x is offline
    MemberRank
    Feb 2011 Join Date
    BrazilLocation
    109Posts

    Re: Modify UI?

    Quote Originally Posted by Pinkof View Post
    All interface work like the custom interface check if mouse position is over the interface. The most hard to modify is the inventory all other is easy.
    Do you know which files stores the UI informations like texture names, X/Y positions, etc?

  4. #4
    Proficient Member 007jodex is offline
    MemberRank
    Sep 2008 Join Date
    158Posts

    Re: Modify UI?

    Theres no file, at less on < season 6 versiones.

    All X/Y/Z Positions were hardcoded inside main.exe. Im totally agreed with pinkof about Interface position; webzen coded interface like layers. When User make some move on screen, there are some thread that are checking interface stares to print alpha or simple images every f*uking seconds.

    About Texture names and textures ID(at less based on webzen system) check Data\Interface on Mu Client Folder & Search those names on ollydbg to get ID and see some of calls to get positions. A lot of work, but simple to do.

    To much work for and old game...

  5. #5
    Enthusiast vankyy26 is offline
    MemberRank
    Mar 2010 Join Date
    48Posts

    Re: Modify UI?

    Guys, use IDA. Ollydbg and pure ASM is overkill when trying to understand the overall picture. Like @Pinkof said the Inventory and the items are hard, it's easy to draw panels, buttons and so on, but the items are harder. Trying to decompile the item drawing in S3EP1 at the moment.

  6. #6
    Valued Member ptr0x is offline
    MemberRank
    Feb 2011 Join Date
    BrazilLocation
    109Posts

    Re: Modify UI?

    Quote Originally Posted by 007jodex View Post
    Theres no file, at less on < season 6 versiones.

    All X/Y/Z Positions were hardcoded inside main.exe. Im totally agreed with pinkof about Interface position; webzen coded interface like layers. When User make some move on screen, there are some thread that are checking interface stares to print alpha or simple images every f*uking seconds.

    About Texture names and textures ID(at less based on webzen system) check Data\Interface on Mu Client Folder & Search those names on ollydbg to get ID and see some of calls to get positions. A lot of work, but simple to do.

    To much work for and old game...
    I see, will check that out. Thanks.

    - - - Updated - - -

    Quote Originally Posted by vankyy26 View Post
    Guys, use IDA. Ollydbg and pure ASM is overkill when trying to understand the overall picture. Like @Pinkof said the Inventory and the items are hard, it's easy to draw panels, buttons and so on, but the items are harder. Trying to decompile the item drawing in S3EP1 at the moment.
    Firstly IDA is a very expensive software (if you are going to use a cracked IDA good luck with worms and bugs). Secondly a lot of reversers do not (like me) do not like to use the IDA as a debugger. A nice general-purpose dbg for IA-32 and IA-64 is the x64dbg.

    I agree with you if you say people still using ollydbg are in a bad spot, but what you said about "pure ASM" and IDA doesn't make much sense.

  7. #7
    Enthusiast vankyy26 is offline
    MemberRank
    Mar 2010 Join Date
    48Posts

    Re: Modify UI?

    Actually I found cracked IDA 7.0 + Hex Rays without worms and never had issues. Saw it to crash only once with S12 GS .pdb as it's huge and the problem probably was my disk space. Pumped it up with some cool plugins and it's easy to recover structs and simpler classes. With that setup took me just 1-2 days to reverse the inventories and item drawing functionalities. I don't need to bump my head with so much ASM, IDA saves 50% of the research time, with some plugins maybe 60-70%. Once you recover most of the important structures it's in times easier to understand the whole picture and also to learn how WZ did some stuff. Now working on new in-game market interface, also already fixed regular stuff like the hp,mana,sd,bp bars, the damage, the zen limits of inventory & wh, added monster HP bars, items glow, custom jewels & wings and also resolution support up to 4K. All this for around 1 month. Still need to figure out something for the game interfaces low image quality. On 4K these images are too stretched and ugly, not a problem to fix the aspect ratio but their quality is too low. Doing this from scratch without IDA would take much more time. Also in that 1mo dev time I downgraded MUEMU from S4 to S3EP1 as there is no leaked S3EP1 server from WebZen and I don't like the projects like Exillium and Krono based on the old S2 emulator from DeathWay. Pushing all G->C packets into IDA and fixing the types helped a lot in recovering the character and viewport structs variable names. Once you replace the globally defined types, name properly the drawing related functions you have them everywhere and it's so easy to read the pseudo code. So once you invest a week into recovering structures, drawing logic and packets you can easily debug with IDA over the pseudo code so close to the Visual Studio C++ debugger. Yes it's still just a interpretation and you cannot escape from using ASM but it's easy as hell to add whatever you want in the game.



Advertisement