Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Point Blank (Piercing Blow) (https://forum.zone-game.info/forumdisplay.php?f=204)
-   -   [Point Blank] String.i3pack encoding/encryption (https://forum.zone-game.info/showthread.php?t=42772)

just_me 24.11.2017 16:34

String.i3pack encoding/encryption
 
Вложений: 1
just dump string.i3pack (Garena PBID GAME VER : 1.15.42.171114007) file to edit some text and found it was encoded/encrypted, if someone more familiar or experienced can tell what kind of encoding/encryption uses so it can read as plain text, that would be a big help

file attached:

Sojang 24.11.2017 17:02

Re: String.i3pack encoding/encryption
 
https://forum.zone-game.info/showthread.php?t=39792


This should help you.

Awiion 24.11.2017 17:45

Re: String.i3pack encoding/encryption
 
just_me,
Code Link

just_me 24.11.2017 20:29

Re: String.i3pack encoding/encryption
 
Цитата:

Сообщение от Sojang (Сообщение 429066)

Цитата:

Сообщение от Awiion (Сообщение 429070)
just_me,
Code Link

thanks to both of you guys
took me a couple hours to understand, but it's worth it :)

https://i.imgur.com/syiepJ0.png

just_me 25.11.2017 00:03

Re: String.i3pack encoding/encryption
 
ok i admit it... i need more help :redlol:
i'm too exited, but please "bear with me", im here to learn

i change my last code and use this
code:
Свернуть ↑Развернуть ↓


hoping it would be faster than the last one, but same result and most of the times it freeze my computer if i open bigger file, googling for hours and can't find an answer (wrong keyword perhaps)

any advice is greatly appreciated,

just_me 25.11.2017 18:44

Re: String.i3pack encoding/encryption
 
UPDATE : save it as a file is more efficient rather than read it straight from console :D

PROGRAMMATOR 26.11.2017 01:09

Re: String.i3pack encoding/encryption
 
Try like this:

private static void Unshift(IList<byte> data, int start, int length, int bits)
{
    var to = start + length;
 
    if (data.Count < to) to = data.Count;
 
    var last = data[to - 1];
 
    for (var i = to - 1; i >= start; i--)
    {
        var current = i <= start ? last : data[i - 1];
 
        data[i] = (byte) ((current << (8 - bits)) | (data[i] >> bits));
    }
}
 
Code: C#

And try:

// ...
Unshift(bin, i, 2048, 3);
// ...
 
Code: C#

Goods_Indonesia.txt was proceed during 0,0524851s.

just_me 26.11.2017 13:34

Re: String.i3pack encoding/encryption
 
...

just_me 26.11.2017 21:32

Re: String.i3pack encoding/encryption
 
Вложений: 1
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 429080)
Try like this:

^thanks for the update

so i decide to share it here in case someone need it, add some "cosmetic" just to make it look more user friendly

virus scan : VirusTotal

Lang 27.11.2017 20:48

Re: String.i3pack encoding/encryption
 
thanks for the tools :D

just_me 28.11.2017 13:12

Re: String.i3pack encoding/encryption
 
@PROGRAMMATOR or anyone else who know this better, can you explain the process to pack/unpack the files back to i3Pack ext ?

here's what i have done
- unpack string.i3pack with i3pack tool
- decode and save all the files to local disk for read as plain text
- edit some text (eg: remove some item name to get the id without removing item description, just to match it with
packet 523,525,527 from piercing shark)
- encode it back using shift method describe here
- pack it back to single files using method
SPOILER:
Свернуть ↑Развернуть ↓


at first i think im done but when i try to replace the original files with mine the game give error (AICharacter_xxx.txt) and close, but if i just replace the .txt using i3pack tool with the file i encoded, game run without any problem

did i miss something here ?

PS: i know i3pack tool is all you need for file editing, but i just want to challenge my coding skills before step to next level (fixing or working/writing server), i dont want to spam questions about server without knowing the basic :)

legendofcr33d 09.03.2020 18:12

Re: String.i3pack encoding/encryption
 
Цитата:

Сообщение от just_me (Сообщение 429110)
@PROGRAMMATOR or anyone else who know this better, can you explain the process to pack/unpack the files back to i3Pack ext ?

here's what i have done
- unpack string.i3pack with i3pack tool
- decode and save all the files to local disk for read as plain text
- edit some text (eg: remove some item name to get the id without removing item description, just to match it with
packet 523,525,527 from piercing shark)
- encode it back using shift method describe here
- pack it back to single files using method
SPOILER:
Свернуть ↑Развернуть ↓


at first i think im done but when i try to replace the original files with mine the game give error (AICharacter_xxx.txt) and close, but if i just replace the .txt using i3pack tool with the file i encoded, game run without any problem

did i miss something here ?

PS: i know i3pack tool is all you need for file editing, but i just want to challenge my coding skills before step to next level (fixing or working/writing server), i dont want to spam questions about server without knowing the basic :)

Can you share a debug build sir for encoding the txt file again?

sasukex 28.07.2021 21:00

Re: String.i3pack encoding/encryption
 
can't decode


Текущее время: 10:53. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot