Смердокрыл Posted April 5, 2016 Share Posted April 5, 2016 Hey! Through an unfortunate series of my stupidity, a giant amount of work was packed into an MPQ and then original files deleted (don't even ask how, I'm already ashamed enough). When I tried to get the files back, the only way was to extract them from the MPQ, which resulted into all of it being in the weird "FileXXXXXXXX.extension" form. So, I thought it would be possible to create a 010 tool, which would take the values from the "struct filename" thing, assign it as the actual name of the file, and also generate and place files according to the paths in "struct Textures". The rest I'll do by hand, since I remember the general structure. That is a wonderful idea, I'm sure, but I lack the skill to turn it into reality. Could someone help? I mean, not necessarily do it for me (just in case, I'm not saying I'm against it ), but at least describe the general way such things are done, or link a tutorial? or not Link to comment Share on other sites More sharing options...
Alastor StrixEfuartus Posted April 5, 2016 Share Posted April 5, 2016 1 hour ago, Смердокрыл said: So, I thought it would be possible to create tool, which would take the values from the "struct filename" thing, assign it as the actual name of the file, This already exists on my storage hard drive No matter how fast light travels it finds the darkness has always got there first and is waiting for it PATREON | TWITCH | MC.net | YOUTUBE | PAYPAL |BUY SOME OF MY 3D MODELS Star Citizen Referral Code : STAR-XNFS-HVL9 - Register using my code and recieve free 5,000 UEC Link to comment Share on other sites More sharing options...
Смердокрыл Posted April 5, 2016 Author Share Posted April 5, 2016 3 minutes ago, Alastor StrixEfuartus said: This already exists on my storage hard drive Good for you! Could you share? or not Link to comment Share on other sites More sharing options...
Alastor StrixEfuartus Posted April 5, 2016 Share Posted April 5, 2016 i wanted to make some short explanation video 1st but i put files here if you want them imidietly alastor_renamer.ex renames all files in actualy folder by its format (based on 4 bytes ) MD20 = .M2 but you need to mention all files in folder in pathlist.txt i want to make better version of this but since this is working and i havent used it in year or something like this it was putted to ice renamer.7z No matter how fast light travels it finds the darkness has always got there first and is waiting for it PATREON | TWITCH | MC.net | YOUTUBE | PAYPAL |BUY SOME OF MY 3D MODELS Star Citizen Referral Code : STAR-XNFS-HVL9 - Register using my code and recieve free 5,000 UEC Link to comment Share on other sites More sharing options...
Смердокрыл Posted April 6, 2016 Author Share Posted April 6, 2016 Hey! It crashes when I use it. There's an error, but it's in russian and I'm not sure how to translate it. Also, what exactly is supposed to be in patchlist? The current names of the files, e.g. File00000001.blp? or not Link to comment Share on other sites More sharing options...
Alastor StrixEfuartus Posted April 6, 2016 Share Posted April 6, 2016 when you donw load wod / legion it creates folder with all unknow files basicaly on type of file it creates extension for every file in list ) thats all that its doing No matter how fast light travels it finds the darkness has always got there first and is waiting for it PATREON | TWITCH | MC.net | YOUTUBE | PAYPAL |BUY SOME OF MY 3D MODELS Star Citizen Referral Code : STAR-XNFS-HVL9 - Register using my code and recieve free 5,000 UEC Link to comment Share on other sites More sharing options...
Skarn Posted April 6, 2016 Share Posted April 6, 2016 you could also in theory retrieve kind of filenames from m2s and some other things. Link to comment Share on other sites More sharing options...
Alastor StrixEfuartus Posted April 6, 2016 Share Posted April 6, 2016 possible result when oyu have M2 files you can for example use 010 editor .sc script to extract paths to textures | paths to models from WMOs etc ... No matter how fast light travels it finds the darkness has always got there first and is waiting for it PATREON | TWITCH | MC.net | YOUTUBE | PAYPAL |BUY SOME OF MY 3D MODELS Star Citizen Referral Code : STAR-XNFS-HVL9 - Register using my code and recieve free 5,000 UEC Link to comment Share on other sites More sharing options...
Смердокрыл Posted April 6, 2016 Author Share Posted April 6, 2016 1 hour ago, Skarn said: you could also in theory retrieve kind of filenames from m2s and some other things. That's exactly what I wanna do, I just need to write a script for that. Is your 010 tutorial enough to do that? or not Link to comment Share on other sites More sharing options...
Alastor StrixEfuartus Posted April 6, 2016 Share Posted April 6, 2016 What ? i dont have any 010 tutorial out here No matter how fast light travels it finds the darkness has always got there first and is waiting for it PATREON | TWITCH | MC.net | YOUTUBE | PAYPAL |BUY SOME OF MY 3D MODELS Star Citizen Referral Code : STAR-XNFS-HVL9 - Register using my code and recieve free 5,000 UEC Link to comment Share on other sites More sharing options...
Смердокрыл Posted April 7, 2016 Author Share Posted April 7, 2016 On 06.04.2016 at 9:39 PM, Alastor StrixEfuartus said: What ? i dont have any 010 tutorial out here I quoted Skarn, so I meant his 010 tutorial (one that's in Miscellaneous/Tutorials) or not Link to comment Share on other sites More sharing options...
Alastor StrixEfuartus Posted April 7, 2016 Share Posted April 7, 2016 Oh ok but when i read whats its his Tut i dont think thats it all you need to know well basicaly yes its good start but if you have no idea about programing that this is not an option No matter how fast light travels it finds the darkness has always got there first and is waiting for it PATREON | TWITCH | MC.net | YOUTUBE | PAYPAL |BUY SOME OF MY 3D MODELS Star Citizen Referral Code : STAR-XNFS-HVL9 - Register using my code and recieve free 5,000 UEC Link to comment Share on other sites More sharing options...
wungasaurus Posted April 8, 2016 Share Posted April 8, 2016 * take an existing listfile for live data to find modified-only files * it will probably contain files like map.dbc. Open it and find new map names. ** add all adt etc names to the listfile ** repeat for other dbcs * extract all adts and get texture and model filenames from them * extract all models and get texture filenames from them should be a one hour job when done manually. Link to comment Share on other sites More sharing options...
Skarn Posted April 8, 2016 Share Posted April 8, 2016 wungasaurus, do you know if there is some kind of MPQ unpacker that works from cmd? It would be possible to make a script that does all the procedures automatically. Link to comment Share on other sites More sharing options...
wungasaurus Posted April 8, 2016 Share Posted April 8, 2016 1 hour ago, Skarn said: wungasaurus, do you know if there is some kind of MPQ unpacker that works from cmd? It would be possible to make a script that does all the procedures automatically. No, I do not. Link to comment Share on other sites More sharing options...
Смердокрыл Posted May 3, 2016 Author Share Posted May 3, 2016 WoW can read patches without a listfile. How does that work? And since it is, obviously, possible, can't we use that? or not Link to comment Share on other sites More sharing options...
Skarn Posted May 3, 2016 Share Posted May 3, 2016 That's the same technique that is used for decrypting patches. Find known files by headers (DBC), there you can get names for maps (not only), so you already know how the path to WDTs, so you read them and find out what ADT files you have. From ADT files you can get the list of used M2s and WMOs. Inside WMOs you also get a list of M2s and Textures, Textures in M2s and so on and so forth. It is a step by step process. It would be relatively easy to code in 010 editor if there was a commandline MPQ unpacker that works with custom listfile information, but there is none. Anyway it would not be a very serious task for a decent programmer who can use Stormlib and make some standalone tool. And that is, by the way, the same method that people use for stealing listfile-free patch content, so it turns that way of protection into some kind of cure against noobs. For real protection, one would need something more complicated, and there are better ways actually. Link to comment Share on other sites More sharing options...
wungasaurus Posted May 3, 2016 Share Posted May 3, 2016 Protection of content that is supposed to be opened but not opened can't work by definition. Just stop trying everyone. People who want to steal will be able to. Link to comment Share on other sites More sharing options...
Skarn Posted May 3, 2016 Share Posted May 3, 2016 1 hour ago, wungasaurus said: Protection of content that is supposed to be opened but not opened can't work by definition. Just stop trying everyone. People who want to steal will be able to. You are right. The thing that matters is who would be able to open those patches. I have no doubt that you, me and many other experienced guys would do that without any problems but usually those who actually want to steal the content from some server are noobs who can't create something themselves or just stealing some retroporting work. Against those something harder than listfile breaking works like a charm. Link to comment Share on other sites More sharing options...
Смердокрыл Posted May 3, 2016 Author Share Posted May 3, 2016 8 hours ago, wungasaurus said: Protection of content that is supposed to be opened but not opened can't work by definition. Just stop trying everyone. People who want to steal will be able to. 7 hours ago, Skarn said: You are right. The thing that matters is who would be able to open those patches. I have no doubt that you, me and many other experienced guys would do that without any problems but usually those who actually want to steal the content from some server are noobs who can't create something themselves or just stealing some retroporting work. Against those something harder than listfile breaking works like a charm. Actually, it is not a linear proportion, more like a curve. Yes, people who want to steal will always find a way to, but there is a certain point the protection becomes so advanced, that those people who can bypass it are skilled enough to produce content themselves, and, therefore, do not need to steal. or not Link to comment Share on other sites More sharing options...
Skarn Posted May 3, 2016 Share Posted May 3, 2016 1 minute ago, Смердокрыл said: Actually, it is not a linear proportion, more like a curve. Yes, people who want to steal will always find a way to, but there is a certain point the protection becomes so advanced, that those people who can bypass it are skilled enough to produce content themselves, and, therefore, do not need to steal. That's exactly what I meant in other words, thanks. Link to comment Share on other sites More sharing options...
Смердокрыл Posted May 3, 2016 Author Share Posted May 3, 2016 16 minutes ago, Skarn said: That's exactly what I meant in other words, thanks. You're welcome) or not Link to comment Share on other sites More sharing options...
wungasaurus Posted May 3, 2016 Share Posted May 3, 2016 The only chance to obfuscate archives is to break parsing with third party editors. By design that's the end. Also, if there is any archive that is valid but not parsed, Ladislav and the usual people will fix their tools. Without modifying the client there is no way to obfuscate anything to a level that it can't be automatically reversed. And if you do modify your client to do further obfuscation, that's either specific to your one project and your project us irrelevant enough, or it will be reversed as well. I understand why people want to do it, but it just won't even turn out useful or nice. No matter what you invent, someone will crack it within a few days if you're relevant enough. Just stop it. This is entirely lost effort. it is a flawed idea. Link to comment Share on other sites More sharing options...
Смердокрыл Posted May 4, 2016 Author Share Posted May 4, 2016 1 hour ago, wungasaurus said: The only chance to obfuscate archives is to break parsing with third party editors. By design that's the end. Also, if there is any archive that is valid but not parsed, Ladislav and the usual people will fix their tools. Without modifying the client there is no way to obfuscate anything to a level that it can't be automatically reversed. And if you do modify your client to do further obfuscation, that's either specific to your one project and your project us irrelevant enough, or it will be reversed as well. I understand why people want to do it, but it just won't even turn out useful or nice. No matter what you invent, someone will crack it within a few days if you're relevant enough. Just stop it. This is entirely lost effort. it is a flawed idea. Well, there is a way of preventing stealing that's both a better use of time and good for the modding community - create so many advanced tools that it will be easier to create what you want rather than stealing it) or not Link to comment Share on other sites More sharing options...
Skarn Posted May 4, 2016 Share Posted May 4, 2016 8 hours ago, wungasaurus said: The only chance to obfuscate archives is to break parsing with third party editors. By design that's the end. Also, if there is any archive that is valid but not parsed, Ladislav and the usual people will fix their tools. Without modifying the client there is no way to obfuscate anything to a level that it can't be automatically reversed. And if you do modify your client to do further obfuscation, that's either specific to your one project and your project us irrelevant enough, or it will be reversed as well. I understand why people want to do it, but it just won't even turn out useful or nice. No matter what you invent, someone will crack it within a few days if you're relevant enough. Just stop it. This is entirely lost effort. it is a flawed idea. It is not hard to do. Just rename all the DBC files to something else and change their header. Do the hex edit of the wow.exe. That would cut down a huge part of usual patch stealers because they do not know things more complicated than adding a listfile from WoW. And skilled people who actually are capable of cracking it no matter what you do are usually not interested in stealing. So, that works perfectly and is really fast to do. 7 hours ago, Смердокрыл said: Well, there is a way of preventing stealing that's both a better use of time and good for the modding community - create so many advanced tools that it will be easier to create what you want rather than stealing it) I agree, but in reality it probably won't happen because there is an extreme lack of motivated and interested programmers. Link to comment Share on other sites More sharing options...
Listfile generator 010 based
By Смердокрылin Miscellaneous
Recommended Posts