Сейчас на форуме: asfa, Rio (+5 невидимых)

 eXeL@B —› Вопросы новичков —› How to program a tool to open pc game file with .WLD extension (worldfile)
Посл.ответ Сообщение

Ранг: 0.4 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 12 февраля 2014 17:50
· Личное сообщение · #1

What's the procedure in programming a small software to open a game file with .WLD extension ?
This file with .WLD file type (80 mb in size) is a data package which contains the 3D parts of the game and the textures. I don't know the exact filenames and extensions of those files packed in this .WLD filetype.
The written program should have the options of opening the file with .WLD extension, exporting/importing/deleting/replacing the files inside the mentioned data package with .WLD extension.

What I believe it's required to do is to disassemble some of the game files (the .WLD package or the executable), find out the extensions the files inside the package have and their exact filenames, and then start
programming in C or C++ the application. I use the filename and extensions of the files inside that .WLD data package to make this application display the files inside the.wld package with the respective filenames and extensions, and also program the various options mentioned (to manipulate the content of the package).

So, what's your procedure in writing such a program ?
Thank you.


dbd9_12.02.2014_EXELAB.rU.tgz - file.TIF



Ранг: 0.4 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 12 февраля 2014 19:37
· Личное сообщение · #2

Чтобы увеличить мои шансы на получение ответа ... переводится с переводом Google.

Каков порядок в программировании небольшой программа для открытия файла игры с расширением. WLD ?
Это файл с расширением. WLD типа файла ( 80 Мб размер ) представляет собой пакет данных , который содержит 3D части игры и текстур . Я не знаю точных имен файлов и расширений этих файлов , упакованных в этом . WLD типа файла.
Написанная программа должна есть варианты открытия файла с расширением. WLD , экспорт / импорт / удаление / замена файлы внутри указанного пакета данных с расширением. WLD .

То, что я считаю, что это необходимо сделать, это разобрать некоторые из файлов игры (. Пакет WLD или исполняемый ) , узнать расширения файлы внутри пакета имеют и их точные имена файлов , а затем начать
программирование на С или C + + приложения. Я использую имя файла и расширения файлов внутри, что . Пакет данных WLD сделать это приложение отображать файлы внутри the.wld пакета с соответствующими именами файлов и расширений , а также программировать различные варианты , упомянутые ( манипулировать содержание пакета ) .

Итак, что же ваша процедура в письменной форме такую ​​программу ?
Спасибо.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 12 февраля 2014 19:42
· Личное сообщение · #3

there is no need to translate in russian

you need to reverse engineering of your program, for understand how it accesses the file WLD
you can use OllyDBG or IDA+hexrays

| Сообщение посчитали полезным: Tudor

Ранг: 0.4 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 12 февраля 2014 19:53
· Личное сообщение · #4

Thank you. Greetings from Romania.



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 13 февраля 2014 03:56 · Поправил: unknownproject
· Личное сообщение · #5

Tudor пишет:
Thank you. Greetings from Romania.

+ If you wanna know about file structure you can additionally use hex editor.

http://forum.antichat.net/thread399485.html - My thread about "cdf" file structure for Mortal Kombat Special Forces.From byte-to-byte.

Let's see what inside .WLD:
Any file have full name with path like
Code:
  1. T:\MayaPrj\clou2\Clou_World\Clou2Wld_Marin\textures\Bankteppich.rif or TXPG\NEONTSERVER\Gfx\MayaPrj\clou2\textures\CharacterTextures\tex_5.tif

We have only 2 file types inside - rif and tif
For rif files [textures obviously]:
Code:
  1. 00 01 00 00 00 01 00 00 54 58 50 47 (9 byte start with "TXPG")

For tif files [textures too]:
Code:
  1. 00 00 00 00 00 00 00 00 46 52 41 4D (8 zero bytes + "FRAM")

and same array of bytes like for rif.

This is old Maya 3d texture files I think.

-----
TEST YOUR MIGHT


| Сообщение посчитали полезным: Tudor

Ранг: 0.4 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 13 февраля 2014 13:14 · Поправил: Tudor
· Личное сообщение · #6

Yes, but I found in the strings of the executable:

Code:
  1. Neo-Model Files|*.nmf|
  2. %[Copy %d]
  3. %[Copy %d] - %s
  4. ~temp%d.tmp
  5. Models|*.ma;*.x;*.obj;*.nmf|Maya-Ascii Files|*.ma|Neo-Model Files|*.nmf|X Files|*.x|Wavefront-Object Files|*.obj|All Files|*.*|



Code:
  1. .wld
  2. World Files|*.wld|All Files|*.*|
  3. Texture Files|*.iff;*.tga;*.tif;*.rif;*.bmp|TIF Files (*.tif)|*.tif|IFF Files (*.iff)|*.iff|Targa Files (*.tga)|*.tga|RIF Files (*.rif)|*.rif|BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*|


Most likely that big file with .wld format include the 3d models too, not just the textures.

The game was made by Rockstar Vienna (also known as "Neo Software"), Austria-based developer of video games, and a sub-division of Rockstar Games.
And we know Rockstar used to pack in gta games the textures and 3d models in a file with .img format.
(I think most of the pc games developers tend to pack the texures and 3d models in a file with a format created by them).

A german programmer recommended me to use Process Explorer and see which dll opens the |*.wld| file type and dissassemble that dll and find the file formats of the files inside the .wld package.
Fortunately there was no need to disassemble myself any file. Process explorer did the job.
Proc. Expl. has the option to show the strings of any file running. And in this way I found the files formats in the executable' strings.

| Сообщение посчитали полезным: unknownproject

Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 13 февраля 2014 19:01 · Поправил: unknownproject
· Личное сообщение · #7

Tudor пишет:
Most likely that big file with .wld format include the 3d models.

The game was made by Rockstar Vienna (also known as "Neo Software"), Austria-based developer of video games, and a sub-division of Rockstar Games.
And we know Rockstar used to pack in gta games the textures and 3d models in a file with .img format.
(I think most of the pc games developers tend to pack the texures and 3d models in a file with a format created by them).

A german programmer recommended me to use Process Explorer and see which dll uses the program and dissassemble that dll and find the file formats of the files inside the .wld package.
Fortunately there was no need to disassemble myself any file. Process explorer did the job.
Proc. Expl. has the option to show the strings of any file running. And in this way I found the files formats in the executable' strings.

For each file format you can use pattern for search with start bytes with header in your hex editor.
Copy array of bytes and save to another file.You will see what you want.Now you just need to create some class or function for read each file from archive, view those types in your programm and extract or repack into archive.It's simple cuz files inside is not crypted/obfuscated.

-----
TEST YOUR MIGHT


| Сообщение посчитали полезным: Tudor

Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

Создано: 14 февраля 2014 17:07
· Личное сообщение · #8

Maybe this will help you. It's a tool which uses simple scripting language for unpacking different game files. As i see there is no script for your game, but you can try to write needed script yourself.

http://aluigi.altervista.org/quickbms.htm



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 14 февраля 2014 22:56 · Поправил: unknownproject
· Личное сообщение · #9

JohnyDoe пишет:
Maybe this will help you. It's a tool which uses simple scripting language for unpacking different game files. As i see there is no script for your game, but you can try to write needed script yourself.

http://aluigi.altervista.org/quickbms.htm

Are you stupid ? He wants to create own tool for edit this game file.Nothing to say about file structure - go away.

-----
TEST YOUR MIGHT




Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 15 февраля 2014 06:15 · Поправил: unknownproject
· Личное сообщение · #10

Tudor пишет:
Tudor

Additionally, main exe file contain some images and models inside resource section.You can view them by Resource hacker programm.He can read size of each file and show you start and end address in hex [byte map].It would be helpful for your research.Main exe file also contain some menu like this:
Code:
  1. 1202 MENU
  2. LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN
  3. {
  4. POPUP "File"
  5. {
  6.          MENUITEM "New World",  32835
  7.          MENUITEM "Load World...\tCtrl+L",  32792
  8.          MENUITEM "Save World As...",  32793
  9.          MENUITEM "Save World\tCtrl+S",  32825
  10.          MENUITEM SEPARATOR
  11.          MENUITEM "Import World...",  32939
  12.          MENUITEM "Import Updated World...",  32987
  13.          MENUITEM "Import Model...",  32777
  14.          MENUITEM "Import Texture...",  32797
  15.          MENUITEM "Update Modellist...",  32916
  16.          MENUITEM "Accumulate Textures",  32942
  17.          MENUITEM "Encode Dialogs.txt",  33032
  18.          MENUITEM SEPARATOR
  19.          MENUITEM "Start Game\tF12",  32823
  20.          MENUITEM "Exit",  32771
  21. }
  22. POPUP "Edit"
  23. {
  24.          MENUITEM "Cut\tCtrl+X",  32907
  25.          MENUITEM "Copy\tCtrl+C",  32816
  26.          MENUITEM "Delete\tDel",  32818
  27.          MENUITEM "Add Macro...\tCtrl+M",  32821
  28.          MENUITEM SEPARATOR
  29.          MENUITEM "Select All\tCtrl+A",  32889
  30.          MENUITEM "Inverse Selection\tCtrl+I",  32946
  31.          MENUITEM SEPARATOR
  32.          MENUITEM "Hide Selection\tCtrl+H",  32819
  33.          MENUITEM "Show All\tCtrl+Shift+H",  32820
  34.          MENUITEM SEPARATOR
  35.          MENUITEM "Snap to Grid/Locators\t1",  32900
  36.          MENUITEM "Snap to Grid-Level\t2",  32901
  37.          MENUITEM "No Snapping\t3",  32902
  38.          MENUITEM SEPARATOR
  39.          MENUITEM "Record Camera\tCtrl+R",  32947
  40.          MENUITEM "Set Camera Range",  32948
  41.          MENUITEM "Show Camera",  32949
  42.          MENUITEM "Delete Camera",  32950
  43.          MENUITEM SEPARATOR
  44.          MENUITEM "Edit AttackPoints...",  32996
  45. }
  46. POPUP "View"
  47. {
  48.          MENUITEM "View World-Tree",  32837
  49.          MENUITEM "View Model-List",  32784
  50.          MENUITEM "View Model-Tree",  32778
  51.          MENUITEM "View Texture-List",  32796
  52.          MENUITEM "View Texture-Manager",  32838
  53.          MENUITEM "View Material-Manager",  32885
  54.          MENUITEM "View Object-Properties",  32977
  55.          MENUITEM SEPARATOR
  56.          MENUITEM "Top View",  32804
  57.          MENUITEM "Side View",  32805
  58.          MENUITEM "Front View",  32806
  59.          MENUITEM "Perspective View\tF4",  32807
  60.          MENUITEM "World Ground View\tF5",  32808
  61.          MENUITEM "Model View\tF6",  32809
  62.          MENUITEM "Model Ground View\tF7",  32810
  63.          MENUITEM "Object Editor\tF8",  32811
  64.          MENUITEM SEPARATOR
  65.          MENUITEM "Backface Culling\tCtrl+B",  32887
  66.          MENUITEM "Textures\tCtrl+T",  32892
  67.          MENUITEM "Lighting\tCtrl+G",  32925
  68.          MENUITEM "Shadow Maps\tCtrl+P",  32941
  69.          MENUITEM "Fog",  32983
  70.          MENUITEM "Fog Properties...",  33016
  71.          MENUITEM "Render Inner Groups",  32984
  72.          MENUITEM SEPARATOR
  73.          MENUITEM "Sun\tCtrl+N",  32926
  74.          MENUITEM "Lights\tCtrl+J",  32940
  75.          MENUITEM SEPARATOR
  76.          MENUITEM "Light-Flares",  32995
  77.          MENUITEM "Light-Objects",  33017
  78.          MENUITEM "Sun Properties...",  32971
  79.          MENUITEM "Ambient Properties...",  32972,  GRAYED
  80.          MENUITEM "Adjust Clipping Plane...",  32992
  81. }
  82. POPUP "Help"
  83. {
  84.          MENUITEM "About",  32772
  85. }
  86. }


Pattern for search some image and texture formats:
extension - [hex bytes] [plain text]
Code:
  1. .jpg - [FF D8 FF E0 00 10 4A 46 49 46] [яШяа..JFIF]  
  2. .tga - [54 52 55 45 56 49 53 49 4F 4E 2D 58 46 49 4C 45] [TRUEVISION-XFILE.]      
  3. .bmp - [42 4D 36] [BM6]
  4. .png - [89 50 4E 47] [‰PNG]
  5. .tif - [49 49 2A 00] [II*.]
  6. .dds - [44 44 53] [DDS]


Note. Not printable characters in plain text for jpg and tiff replaced by dots [Formated copy].

Good luck.

-----
TEST YOUR MIGHT


| Сообщение посчитали полезным: Tudor
 eXeL@B —› Вопросы новичков —› How to program a tool to open pc game file with .WLD extension (worldfile)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати