Working on v0.8

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Avatar of Vengeance
Avatar of Vengeance
Posts: 2576
Joined: Thu 1998.01.01, 00:00
Honor: 3093
Points: 2423439254.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Working on v0.8

Postby KAMIKADzE » Wed 2017.05.24, 23:08

Currently planned:
  • Full external FEX integration.
  • Projects bug fixes and minor changes.
Also might add:
  • Clipboard tool (basic stuff, but it will be expanded in the future).



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Avatar of Vengeance
Avatar of Vengeance
Posts: 2576
Joined: Thu 1998.01.01, 00:00
Honor: 3093
Points: 2423439254.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Re: Working on v0.7c

Postby KAMIKADzE » Fri 2017.06.09, 17:39

v0.7b5 contains some changes that I've made for v0.7c related to External FEX integration. The only part which is left - UI for External FEX. After I'm done with that I plan to move on catching all of the critical bugs related to Projects. I doubt that I'll catch all of the bugs out there, due to the amount of complexity and support for legacy stuff and support for the future changes related to improving speed of merges, extraction and force patching, which in their turn will bring even more bugs due to the nature of that improvement (old slow and safe way will remain after that as an option in settings, moreover it will remain as default one for some time after initial introduction of the fast way), I'll type more on that in the future, when I'll be working on those speed improvements.
I have no idea when I'll move on adding UI for the Projects creation, so with the release of v0.7c I'll try to explain shortly the available functionality, which you'll need to put in your Projects with trial and error method, based on one of my Projects shipped with Launcher. I'll try to help all of the early Projects creators, but you should understand that I'm not an expert on writing Projects in text file (my projects are generated by the hidden button in Launcher, there's no UI for the projects creation at all at the moment), so you should be mentally prepared for errors and stuff even with my guidance.



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Avatar of Vengeance
Avatar of Vengeance
Posts: 2576
Joined: Thu 1998.01.01, 00:00
Honor: 3093
Points: 2423439254.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Re: Working on v0.7c

Postby KAMIKADzE » Thu 2017.06.29, 20:58

Not directly related to v0.7c, but decided to post my finding here. Spent a little bit over an hour today working on Launcher, and this is what I've done so far:
If you're unaware TW and JP translation was moved to encrypted file. I've finally looked close into it and it seems like they're using similar encryption method to internal files, so I've successfully decrypted it, now I'll need to add a reverse function to encrypt it back.

That's not all though, I'll need to try and test how Pmang updater checks the file size, because it won't load the game if the file will be of a wrong size, and it will be. The problem is I'm still not sure what few things mean and if it will start updating client if the checksum of the file containing following will change:
59 52 53 c2 0b 3c 90 64 59 53 6d 12 08 ee a7 fc 00 00 00 00 00 00 00 00 00 00 81 a4 00 00 00 00 00 00 00 00
03 8b d8 d8
6a b5 e6 37 46 fe db 50 f9 1c 99 08 a9 10 ff 51 fe aa f7 76
00 17 61 64 73 2f 6c 61 6e 67 75 61 67 65 64 61 74 61 5f 6a 70 2e 6c 6f 63 00 00 00
57 ca 5a 0f 13 c7 6b f0 57 cc e0 1d 0e 31 45 f8
00 00 00 00 00 00 00 00 00 00 81 a4 00 00 00 00 00 00 00 00

Where Green is the file name, and Red seems to act as a separator. Cyan is the file size. What I'm interested in is if there's file checksum, and whatever else is in Orange, so if anyone want to help me with figuring that out - feel free to do so.

Also IDK if there's similar thing in TW yet, so we will have to figure that out with someone as well.

That's it for now.

P.S. I've added testing Encryption and it has passed successfully, a 100% match to the original file. Now only the deal with Pmang updater left, that I'll do sometime later. Not sure if I'll have time to work on it tomorrow (also I'll be out of reach for almost a whole day), but I'll try to release next Launcher version with Decrypt/Encrypt data v2 buttons.



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Avatar of Vengeance
Avatar of Vengeance
Posts: 2576
Joined: Thu 1998.01.01, 00:00
Honor: 3093
Points: 2423439254.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Re: Working on v0.7c

Postby KAMIKADzE » Fri 2017.06.30, 09:23

As promised I've released Launcher update today.

Correcting file size is not enough to bypass Pmang updater checkup, so probably I guessed correctly that there's also checksum of the translation file at the very least, maybe even the file containing the info. Anyway - all of that I'll figure out when I'll have some time, probably that won't happen today as I'll be out of reach almost to the end of this day, most likely I'll finish the day with answering questions on the new functionality and that will be it.



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Avatar of Vengeance
Avatar of Vengeance
Posts: 2576
Joined: Thu 1998.01.01, 00:00
Honor: 3093
Points: 2423439254.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Re: Working on v0.7c

Postby KAMIKADzE » Sun 2017.07.02, 15:43

I haven't figured out what method they use to create hash from the loc file (probably there's some salt), yet, nor what the rest of the numbers mean, so meanwhile I've added Auto-Patcher for JP client (Launcher v0.7b11). If I'll make any further discoveries on this case then I'll post about it here. As for the TW updater, from reports that I received - it is not triggered at all as of now.



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Avatar of Vengeance
Avatar of Vengeance
Posts: 2576
Joined: Thu 1998.01.01, 00:00
Honor: 3093
Points: 2423439254.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Re: Working on v0.7c

Postby KAMIKADzE » Sun 2017.07.16, 20:38

If you've installed Launcher v0.7b12, then you already know that I'm working on File Cryptor, also I'm slowly working on Clipboard Inspector and CheckSum tools. I'll explain what *WHAT* are those and we'll move to my main work related to v0.7c.

File Cryptor - a basic tool that can securely encrypt/decrypt any file. The UI is rather simple - 2 fields for passwords of any length and complexity + button to encrypt + button to decrypt.
What would be the use case for it? - /whatever you want, for example You enter both of the passwords press encrypt, then send your file to your friend using any file sharing site, messenger or whatever and give him passwords through some other messenger or 2 other messengers or whatever other way, making it nearly impossible for 3rd party to get a peek on what you were sending over, unless they can get their hands on all of the required stuff (e.g. file + 1 password + 2 password). Or you can store your secret files on your PC in this way, just don't forget your passwords =D
How secure is it? I won't disclose all of the backstage in this post, nor in the future posts, nor in the File Cryptor description, so that it will be even more secure. First of all those 2 passwords are not the only thing that is used to encrypt the file, moreover even with exactly same file and exactly same passwords each encryption will result in a unique file, so in order to have any descent chance at decrypting the file, the person that will want to do so will firstly need to figure out that it was produced by Launcher, so that he/she can crack Launcher in order to lookup the encryption method, otherwise the chance of figuring out what method was used in encryption is extremely small. Launcher actually does add a special extension to encrypted file, for the ease of use, so that actually is a kind of trace, but you can simply rename it to any other extension to remove that trace + you can encrypt over and over again multiple times if you're super paranoid =D .
Let's imagine that a person with malicious intent somehow figured out that it was created via Launcher and cracked Launcher, will it be easier to decrypt the file with such knowledge? Of course it will be easier - now it all narrows down to your passwords, that said - this person won't be able to figure out what that file is before decrypting it, which will require a great computational force if you used a descent passwords, so unless they have one of the supercomputers (at which point you should be worried about something else, and you should've encrypted it over and over again multiple times with different passwords in the first place), that's probably not going to happen any time soon. In other words - decently secure.
I have a perfectly working implementation of it for files below 3.something GB, currently figuring out a good way to overcome certain limitations + overcome limitations of small RAM size for a huge files, if I won't figure that out in some near future then I might impose hardcoded limitation to 3GB max and release it as it is now, we will see. The reason why I'm not releasing it as it is now - you won't be able to decrypt older files when the improved version will appear.
More options and various encryption methods might be added in the future.

Clipboard Inspector - a rather straightforward name, an inspector of Windows clipboard. The functionality for it will be added over time, and I'm not sure what will be added at its release yet. Few things that will definitely appear at some point in time - check out what's inside Clipboard at this point in time, clear Clipboard, and the main feature - check which programs read Clipboard (can be used to detect if there's any suspicious program reading your clipboard content), also I might add "Clipboard history", but not entirely sure about that one yet.

CheckSum - checksum of a file and probably a text as well. At start I'll add SHA1, SHA256, SHA384, SHA512, MD5, CRC32, CRC64, elf32, RIPEMD160 (already implemented those). A whole lot more will be added in the future. UI is still a subject of consideration, so if you have any suggestions - feel free to post those.

And finally moving to the main work on v0.7c - External FEX is almost finished, I just need to add refresh of the advanced tab UI related to it (other than that it works fine, just requires Launcher restart at this point in time) and check if I haven't missed anything with other servers, as obviously I'm testing it only on JP one. Once that will be done I might release it as v0.7bXX if anyone will ask for it.
Meanwhile here's an example of External FEX:

Code: Select all

{
  "FEX": {
    "JP": {
      "JP Watermark": {
        "PackedFileName": "ui_texture/new_ui_common_forlua/widget/watermark/screenshot_watermark01_japan.dds",
        "RAWDestinationFileName": "\\ui_texture\\new_ui_common_forlua\\widget\\watermark\\screenshot_watermark01_japan.dds",
        "SupportedStyles": "Force"
      },
      "KR Watermark": {
        "PackedFileName": "ui_texture/new_ui_common_forlua/widget/watermark/screenshot_watermark01.dds",
        "RAWDestinationFileName": "\\ui_texture\\new_ui_common_forlua\\widget\\watermark\\screenshot_watermark01.dds",
        "SupportedStyles": "Force"
      },
      "EU/NA Watermark": {
        "PackedFileName": "ui_texture/new_ui_common_forlua/widget/watermark/screenshot_watermark01_northamerica.dds",
        "RAWDestinationFileName": "\\ui_texture\\new_ui_common_forlua\\widget\\watermark\\screenshot_watermark01_northamerica.dds",
        "SupportedStyles": "Force"
      },
      "RU Watermark": {
        "PackedFileName": "ui_texture/new_ui_common_forlua/widget/watermark/screenshot_watermark01_russia.dds",
        "RAWDestinationFileName": "\\ui_texture\\new_ui_common_forlua\\widget\\watermark\\screenshot_watermark01_russia.dds",
        "SupportedStyles": "Force"
      },
      "TW Watermark": {
        "PackedFileName": "ui_texture/new_ui_common_forlua/widget/watermark/screenshot_watermark01_taiwan.dds",
        "RAWDestinationFileName": "\\ui_texture\\new_ui_common_forlua\\widget\\watermark\\screenshot_watermark01_taiwan.dds",
        "SupportedStyles": "Force"
      },
      "SA Watermark": {
        "PackedFileName": "ui_texture/new_ui_common_forlua/widget/watermark/screenshot_watermark01_southamerica.dds",
        "RAWDestinationFileName": "\\ui_texture\\new_ui_common_forlua\\widget\\watermark\\screenshot_watermark01_southamerica.dds",
        "SupportedStyles": "Force"
      }
    }
  }
}

JP - server name (default External FEX will ship with examples for all of the servers out there).
JP Watermark - your /whatever name that will appear in advanced tab, and will be used via Projects, so make sure that every one of those are unique.
PackedFileName - destination used by the game client (more on that later).
RAWDestinationFileName - where the file will be extracted (it starts from Launcher\BDO\RAW\ServerName"Here goes your path").
SupportedStyles - supported patching methods (None, Safe, Force. E.g. in order to forcepatch you'll need to specify Force).

That is probably everything for now.



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Avatar of Vengeance
Avatar of Vengeance
Posts: 2576
Joined: Thu 1998.01.01, 00:00
Honor: 3093
Points: 2423439254.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Re: Working on v0.7c

Postby KAMIKADzE » Mon 2017.07.17, 20:40

I've been asked multiple times lately regarding "How people patch JP client without Launcher auto-patch" and "Have you figured out how to trick JP client updater?".

So first of all how people do that? Simply make translation file of exactly same size as the original one (depending on your translation you'll need to either append some text or remove some text), and that is it.
If you don't want to do that^ then your only option is BDO Patcher automatic patching, since JP client updater redownloads file that contains THAT info, each time you start it and on top of that it locks that file from changes while it verifies game files, so the only other option would be to feed "virtual" file to the JP client updater, tricking it to think that it changes something, but that ain't an easy task, will be even more complicated and you'll still need to do that each time when you start JP client updater, so I simply see no point in doing that (there's one more option of "rebuilding" updater, but at that point I might as well just create custom updater/launcher, which will quickly turn into a very time-consuming task without source code, which I obviously don't own).

Hopefully that answers your questions. Now I'll simply route anyone asking about it to this post, instead of answering it over and over again.



User avatar
LithStud
Creator
Creator
Knight
Knight
Posts: 237
Joined: Thu 2017.06.22, 16:35
Honor: 17
Points: 1596.70
BDO: Tamer
Gender: Male
: BDO RU Translator
Medals: 1

Re: Working on v0.7c

Postby LithStud » Tue 2017.07.18, 00:02

i am definetly interested in those FEX features :) as it will help me get closer to total english conversion of RU client =D

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Avatar of Vengeance
Avatar of Vengeance
Posts: 2576
Joined: Thu 1998.01.01, 00:00
Honor: 3093
Points: 2423439254.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Re: Working on v0.7c

Postby KAMIKADzE » Thu 2017.07.20, 21:38

LithStud wrote:i am definetly interested in those FEX features :) as it will help me get closer to total english conversion of RU client =D

THERE you have it, if you'll find any bugs let me know.



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Avatar of Vengeance
Avatar of Vengeance
Posts: 2576
Joined: Thu 1998.01.01, 00:00
Honor: 3093
Points: 2423439254.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Re: Working on v0.7c

Postby KAMIKADzE » Sat 2017.09.16, 17:39

Launcher v0.8 ALPHA (164 MB)

Serial key
DoTAirmFG39idflPeo34Kfee90a


Why would you use this over the other versions?:
-It'll help you if you're using BDO advanced tab to create KR patches.

Why it's not on the release thread?:
-There's no need for me to hear reports of BSS to XML and XML to BSS not working for all the .bss files out there.
-There's no need for me to hear reports of absent "Data v3" merge button.
-If I'll put it on official release page I'll be constantly answering on those^, instead of actually working on improvements.

Why I've released this?:
-On request.

How to use new features?
-Here is a step-by-step guide:
  1. Install that^ version of Launcher.
  2. Open BDO Patcher advanced tab.
  3. Get "BinLoc" RAW, or /whatever if you've renamed it.
  4. Navigate to "Launcher\BDO\RAW\KR\BinLoc\gamecommondata\binary" and copy stringtable.bss to /wherever.
  5. Press "BSS to XML" and select stringtable.bss.
  6. Press "XML to XLSM" and select stringtable.xml from previous step.
  7. Open it with Excel or other program and remove numbers with separator from all table names (alternatively you can do that with xml file in previous step, in case you don't have anything that can open xlsm). But don't forget to note them all down somewhere, or check them later in xml file.
    Example
    "-1111357657|GAME" => "GAME"
  8. Press "XLSM to XML" and select stringtable.xlsm from previous step (if you've replaced it in xml file instead - omit this step).
  9. Load modified stringtable.xml as Base.
  10. Load your previous Data v1 stringtable as translation.
  11. Merge String or Merge String except HTT.
  12. Load resulted file as Base.
  13. Load your previous Data v1 stringtable_cutscene as translation.
  14. Merge Cutscenes.
  15. Load resulted file as Base.
  16. Load your previous Data v1 symbolnostringtable as translation.
  17. Merge Symbols.
  18. Press "XML to XLSM" and select resulted xml from previous step.
  19. Remember step 7? Now you need to reverse it (alternatively you can do that in xml file instead).
    Example
    "GAME" => "-1111357657|GAME"
  20. Press "XLSM to XML" and select xlsm from previous step (if you've replaced it in xml file instead - omit this step).
  21. Press "XML to BSS" and select xml from previous step.
  22. Make sure that the result is named "stringtable.bss", in case it's not - rename it.
  23. Place the file in "...\Daum Games\Black Desert\gamecommondata\binary" folder and forcepatch it, either via BinLoc entry (then you'll need to place other extracted bss files from "Launcher\BDO\RAW\KR\BinLoc\gamecommondata\binary" there as well), or create a separate External FEX entry yourself and use that one instead.
This is just one of the approaches, you're free to merge and use it however you want.

-Why do you need to do step 7 and 19?
You don't need to if you don't want to merge it as a Data v1. You can also edit Data v1 scheme, and edit Data v1 table names, if you're into that.
Those numbers are required to create .bss file, and I haven't figured a better way to store them. I could store them in a scheme, but then if those numbers will change or there will be added 1 more table, then how you'll figure it out? In that case I'll need to add some button that will create that information from the file. In other words I thought that the approach I've chosen is faster and easier to understand, but if you have a better suggestion - I'm open to it, just let me know.

-Is it possible to merge new format with Data v2?
Yes it is. To follow the example of stringtable.bss - after converting it to xml/xlsm you can see this:
Data v3
-1111357657|GAME
Index ^StringFormatKey ~StringFormat
564253029 LUA_CHARACTERINFO_TXT_DESC_1 Casting speed increases with this
-2008726780 LUA_VILLAGETENT_FRIDAY_COLOR <PAColor0xff7d0084> Friday <PAOldColor>

stringtable.bss corresponds to table #37 in Data v2 format.
GAME table corresponds to this set of keys:
Keys in Data v2
Key1 Key2 Key3
1 0 0

Index is identical in both formats. ^StringFormatKey is absent in Data v2. ~StringFormat is identical to Translation column in Data v2.
E.g.
Data v3:
-1111357657|GAME
564253029 LUA_CHARACTERINFO_TXT_DESC_1 Casting speed increases with this

=

Data v2:
37
564253029 1 0 0 단계가 오르면 기술의 시전속도가 빨라집니다. Level this up to increase casting speed.

That said - there is no built-in converter as of now, there's no ETA for one either.




Return to “Launcher”

Who is online

Users browsing this forum: No registered users and 0 guests