Kết quả 1 đến 7 của 7
-
13-06-24, 03:51 PM #1
Full source code VBNet - Unpack pak, Cần ae phát triển thêm
Như tiêu đề code
[Only registered and activated users can see links. ]
Code:'https://www.clbgamesvn.com/diendan/showthread.php?t=314825 Imports System Imports System.Collections Imports System.IO Imports System.IO.Compression Imports System.Linq.Expressions Imports System.Runtime Imports System.Text Imports System.Text.RegularExpressions Imports UclCompression Module Program Public br As BinaryReader Public input As String <Obsolete> Sub Main(args As String()) If args.Count = 0 Then Console.WriteLine("Tool UnPack - 2CongLC.vn :: 2024") Else input = args(0) End If Dim p As String = Nothing If IO.File.Exists(input) Then br = New BinaryReader(File.OpenRead(input)) Dim signature As String = New String(br.ReadChars(4)) ' Offset = 0, Length = 4 Dim count As Int32 = br.ReadInt32 ' Offset = 4, Length = 4 Dim index As Int32 = br.ReadInt32 ' Offset = 8, Length = 4 Dim data As Int32 = br.ReadInt32 ' Offset = 12, Length = 4 Dim crc32 As Int32 = br.ReadInt32 ' Offset = 16, Length = 4 Dim reserved As Byte() = br.ReadBytes(12) 'Offset = 20, Length = 12 Console.WriteLine("sig : {0}", signature) Console.WriteLine("count : {0}", count) Console.WriteLine("index : {0}", index) Console.WriteLine("data : {0}", data) Console.WriteLine("crc32 : {0}", crc32) br.BaseStream.Seek(index, SeekOrigin.Begin) Dim subfiles As New List(Of FileData)() For i As Int32 = 0 To count - 1 subfiles.Add(New FileData) Next p = Path.GetDirectoryName(input) & "\" & Path.GetFileNameWithoutExtension(input) Directory.CreateDirectory(p) For Each fd As FileData In subfiles Console.WriteLine("File ID : {0} - File Offset : {1} - File Size : {2} - IsCompress : {3}", fd.id, fd.offset, fd.size, fd.isCompressType) br.BaseStream.Seek(fd.offset, SeekOrigin.Begin) Dim buffer As Byte() = br.ReadBytes(fd.size) Dim temp As Byte() = Nothing ' If fd.iscompressType = 1 Or fd.iscompressType = 32 Then ' Console.WriteLine("UnCompress Size : {0}", fd.compressSize) ' temp = Ucl.NRV2B_Decompress_8(buffer, fd.compressSize) ' Else temp = buffer ' End If Dim ext As String = GetExtension(buffer) Using bw As New BinaryWriter(File.Create(p & "//" & fd.id & ext)) bw.Write(buffer) End Using Next Console.WriteLine("unpack done!!!") End If Console.ReadLine() End Sub Class FileData Public id As Int32 'Length = 4 Public offset As Int32 'Length = 4 Public size As Int32 'Length = 4 Public compressSize As Int32 'Length = 3 Public iscompressType As Byte 'Length = 1 Public Sub New() id = br.ReadInt32 offset = br.ReadInt32 size = br.ReadInt32 Dim len As UInt32 = 0 len = len Or CUInt(br.ReadByte) len = len Or CUInt(br.ReadByte) << 8 len = len Or CUInt(br.ReadByte) << 16 compressSize = len iscompressType = br.ReadByte End Sub End Class Public Function Hash(ByVal fileName As String) As UInt32 Dim id As UInt32 = 0 Dim index As Int32 = 0 For Each c As Char In fileName If (AscW(c) >= AscW("A")) AndAlso (AscW(c) <= AscW("Z")) Then id= (id + (++index) * (AscW(c) + AscW("a") - AscW("A"))) Mod &H8000000BUI * &HFFFFFFEF Else id = (id + (++index) * AscW(c)) Mod &H8000000BUI * &HFFFFFFEF End If Next Return (id Xor &H12345678) End Function End Module
Khách viếng thăm hãy cùng GameDev24 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
Các thành viên gởi lời cảm ơn đến GameDev24 vì bài viết này !
trananh88vt (13-06-24)
-
13-06-24, 11:17 PM #2
- Ngày tham gia
- Jun 2011
- Đang ở
- ████████
- Bài viết
- 1,486
- Thanks
- 99
- Thanked 448 Times in 192 Posts
Ðề: Full source code VBNet - Unpack pak, Cần ae phát triển thêm
cái đoạn ' If fd.iscompressType = 1 Or fd.iscompressType = 32 Then ' Console.WriteLine("UnCompress Size : {0}", fd.compressSize) ' temp = Ucl.NRV2B_Decompress_8(buffer, fd.compressSize) ' Else temp = buffer ' End Iflà bạn tự thêm ' vào hay chủ source họ thêm vào thế?
1 x 9 + 2 = 11
12 x 9 + 3 = 111
123 x 9 + 4 = 1111
1234 x 9 + 5 = 11111
12345 x 9 + 6 = 111111
123456 x 9 + 7 = 1111111
1234567 x 9 + 8 = 11111111
12345678 x 9 + 9 = 111111111
123456789 x 9 +10= 1111111111
-
14-06-24, 03:12 PM #3
Ðề: Full source code VBNet - Unpack pak, Cần ae phát triển thêm
Khách viếng thăm hãy cùng GameDev24 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
15-06-24, 10:55 AM #4
- Ngày tham gia
- Jun 2011
- Đang ở
- ████████
- Bài viết
- 1,486
- Thanks
- 99
- Thanked 448 Times in 192 Posts
Ðề: Full source code VBNet - Unpack pak, Cần ae phát triển thêm
Thử sửa thành đoạn này xem If fd.isCompressType = 1 Or fd.isCompressType = 32 Then Dim uncompressSize As Integer = fd.size Console.WriteLine("UnCompress Size : {0}", uncompressSize) temp = Ucl.NRV2B_Decompress_8(buffer, uncompressSize) Else temp = buffer End If
--- Chế độ gộp bài viết ---
Cái thằng clb giờ sao nó ngu vậy không biết, cái khung trả lời mất hết bbcode, viết xuống dòng thì cứ dính vào với nhau. Cải lùi thật.1 x 9 + 2 = 11
12 x 9 + 3 = 111
123 x 9 + 4 = 1111
1234 x 9 + 5 = 11111
12345 x 9 + 6 = 111111
123456 x 9 + 7 = 1111111
1234567 x 9 + 8 = 11111111
12345678 x 9 + 9 = 111111111
123456789 x 9 +10= 1111111111
-
22-06-24, 03:37 PM #5
- Ngày tham gia
- May 2006
- Đang ở
- nơi đây hóng Jx2
- Bài viết
- 265
- Thanks
- 17
- Thanked 113 Times in 50 Posts
Ðề: Full source code VBNet - Unpack pak, Cần ae phát triển thêm
Khách viếng thăm hãy cùng dragonwall xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
22-06-24, 04:00 PM #6
- Ngày tham gia
- Sep 2021
- Bài viết
- 17
- Thanks
- 2
- Thanked 10 Times in 2 Posts
Ðề: Full source code VBNet - Unpack pak, Cần ae phát triển thêm
Unpack source C++
Code:{ if (path.length() < 5) { printf("Unpack file pak"); return -1; } if (path.substr(path.length() - 4, 4) != ".pak") { printf("Unpack file pak"); return -1; } FILE* _pBinFile = fopen(path.c_str(), "rb"); if (!_pBinFile) { return -1; } string _FileListBuff; RWFile::LoadFile("list.txt", _FileListBuff); char currentDir[MAX_PATH]; GetCurrentDirectory(MAX_PATH, currentDir); string unpackDir = string(currentDir) + "\\unpack\\"; ::MakeSureDirectoryPathExists(unpackDir.c_str()); fseek(_pBinFile, 0, SEEK_END); UINT _FileSize = ftell(_pBinFile); fseek(_pBinFile, 0, SEEK_SET); if (_FileSize < sizeof(XPackFileHeader)) { fclose(_pBinFile); return -1; } XPackFileHeader Header; if (fread((void*)&Header, sizeof(Header), 1, _pBinFile) != 1) { fclose(_pBinFile); return -1; } if (*(int*)(&Header.cSignature) != XPACKFILE_SIGNATURE_FLAG || Header.uCount == 0 || Header.uIndexTableOffset < sizeof(XPackFileHeader) || Header.uIndexTableOffset >= _FileSize || Header.uDataOffset < sizeof(XPackFileHeader) || Header.uDataOffset >= _FileSize) { fclose(_pBinFile); return -1; } vector<XPackIndexInfo> kIndexs(Header.uCount); fseek(_pBinFile, Header.uIndexTableOffset, SEEK_SET); if (ftell(_pBinFile) != Header.uIndexTableOffset) { fclose(_pBinFile); return -1; } if (fread((void*)&kIndexs[0], sizeof(XPackIndexInfo)*Header.uCount, 1, _pBinFile) != 1) { fclose(_pBinFile); return -1; } int count = (int)Header.uCount; long lCompressType = TYPE_UCL; unsigned int uSize = 0; unsigned int uDestLength; string _Buff; string _RawBuff; char fileName[MAX_PATH]; if (!_FileListBuff.empty()) { int lineIdx = 1; string line; char* p = (char*)_FileListBuff.c_str(); }
Lần sửa cuối bởi nhatminh3110, ngày 24-06-24 lúc 11:06 PM.
Khách viếng thăm hãy cùng nhatminh3110 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
Các thành viên gởi lời cảm ơn đến nhatminh3110 vì bài viết này !
GameDev24 (25-06-24)
-
25-06-24, 01:42 PM #7
Ðề: Full source code VBNet - Unpack pak, Cần ae phát triển thêm
Đoạn code vbnet xuất được danh sách file ra rồi. Cái id nó dùng hash để mã hóa tên với đường dẫn tệp tin.
Đang mắc ở đoạn lấy size để giải nén cho kiểu ucl compress.
Xem ở code cũ thì giải nén được ucl nó bảo lỗi ko giải nén được.
Đoạn c++ bạn gửi đầy đủ chứ kia là mấy dòng kiểm tra điều kiện chứ có phải code chính đâuKhách viếng thăm hãy cùng GameDev24 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Các Chủ đề tương tự
-
Tổng hợp code vbnet unpack game steams. Dùng để tham khảo unpack game
Bởi GameDev24 trong diễn đàn ReleasesTrả lời: 1Bài viết cuối: 06-06-24, 12:38 PM -
[JX] Share source code VBNet - Unpack file Pak jx1, jx2, kiếm thế, phong thần 3 b
Bởi GameDev24 trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)Trả lời: 0Bài viết cuối: 01-06-24, 04:54 PM -
Chia sẻ lại các tool mã hóa giải mã các webgame cũ được code = VBNet
Bởi MrChuCong trong diễn đàn CHUYÊN ĐỀ WEB GAMESTrả lời: 2Bài viết cuối: 15-05-20, 11:48 PM -
[JX] Ai có phần mềm unpack file pak và phần mềm xem chỉnh sửa file SPR thì cho em xin
Bởi heodat139 trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 0Bài viết cuối: 25-05-15, 08:43 PM -
UNPACK dữ liệu spr.pak hay image.pak = thủ công
Bởi Čħīċķėň trong diễn đàn Guides - Kho Lưu trữTrả lời: 21Bài viết cuối: 23-10-10, 09:27 PM