Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Nostale
You last visited: Today at 13:23

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C++ Release] NOS Unpacker + Decrypter

Discussion on [C++ Release] NOS Unpacker + Decrypter within the Nostale forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2013
Posts: 154
Received Thanks: 166
[C++ Release] NOS Unpacker + Decrypter

Hi guys,
i open this thread for release the unpacker ( with decrypter ) for .NOS files ^^



Extractor function

Code:
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
				 System::IO::Stream ^myStream;
				 OpenFileDialog ^openFileDialog1 = gcnew OpenFileDialog;

				 openFileDialog1->InitialDirectory = "C:\\Program Files (x86)\\GameforgeLive\\Games\\ITA_ita\\NosTale\\NostaleData\\";
				 openFileDialog1->Filter = "File NOS|*.NOS";
				 openFileDialog1->FilterIndex = 2;
				 openFileDialog1->RestoreDirectory = true;

				 if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
				 {
					 if ((myStream = openFileDialog1->OpenFile()) != nullptr)
					 {
						 this->f_Name = System::IO::Path::GetFileName(openFileDialog1->FileName);
						 this->f_Path = System::IO::Path::GetDirectoryName(openFileDialog1->FileName);
						 //
						 msclr::interop::marshal_context context;
						 std::string f_Full = context.marshal_as<std::string>(this->f_Path + "\\" + this->f_Name);
						 listBox2->Items->Add(gcnew String(f_Full.c_str()));
						 //
						 FILE *f;
						 if((f = fopen(f_Full.c_str(), "rb")) != NULL)
						 {
							 unsigned int amount, file_num;

							 fread(&amount, 1, 4, f);

							 f_nos *f_Nos = new f_nos[amount];
							 
							 for (int i = 0; i < amount; i++)
							 {
								 fread(&file_num, 1, 4, f);
								 fread(&f_Nos[file_num].name_len, 1, 4, f);
								 f_Nos[file_num].name = (char*) malloc(f_Nos[file_num].name_len + 1);
								 fread(f_Nos[file_num].name, 1, f_Nos[file_num].name_len, f);
								 f_Nos[file_num].name[f_Nos[file_num].name_len] = 0;
								 //
								 listBox1->Items->Add(gcnew String(f_Nos[file_num].name));
								 //
								 fread(&f_Nos[file_num].name_end, 1, 4, f);
								 fread(&f_Nos[file_num].buffer, 1, 4, f);
								 f_Nos[file_num].content = (unsigned char*) malloc(f_Nos[file_num].buffer+1);
								 fread(f_Nos[file_num].content, 1, f_Nos[file_num].buffer, f);
								 f_Nos[file_num].content[f_Nos[file_num].buffer] = 0;
							 }

							 fclose(f);
						 }
						 else
						 {
							 MessageBox::Show("Could not open " + this->f_Name + " /rb");
						 }

						 myStream->Close();
					 }
				 }
			 }
Decrypter

Code:
// thanks to cryptic for help ^^
int decryptnosfile(unsigned char *cData, unsigned int f_buffer, unsigned char *cOut, unsigned int &nOut)
		{
		 static unsigned char table[] = { 0, 0x20,'-','.','0','1','2','3','4','5','6','7','8','9', 0x0d };

		 unsigned int i, offset, len;

		 unsigned char size, c;

		 len = f_buffer;

		 unsigned char *cBuffer;
		 cBuffer = (unsigned char*)malloc(f_buffer + 1);
		 memcpy(cBuffer, cData, f_buffer);

		 offset = nOut = 0;
 
		 while(offset < len
		 {
		 if(cBuffer[offset] == 0xFFu)
		 {
		 offset++;
		 *(cOut + nOut++) = 0x0d;
		 continue;
		 }

		 size = cBuffer[offset++];

		 i = 0;
		 if ((size & 0x80U) == 0) 
		 {
		 while ((i++ < size) && (offset < len))
		 {
		 *(cOut + nOut++) = (cBuffer[offset++] ^ 0x33U);
		 }
		 }
		 else
		 {
		 size &= 0x7FU;
		 while ((i < size) && (offset < len))
		 {
		 c = cBuffer[offset++];
 
		 *(cOut + nOut++) = (table[(c & 0xF0U) >> 4]);
		 if (table[c & 0x0FU] != 0)
		 *(cOut + nOut++) = table[c & 0x0FU];
 
		 i += 2;
		 }
		 }
		 }

		 free(cBuffer);
		 return offset;
		}
Sm•ke is offline  
Thanks
9 Users
Old 08/13/2013, 01:08   #2
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,832
Received Thanks: 4,152
Quote:
Originally Posted by Sm•ke View Post
unpacker ( with decrypter ) for .NOS files ^^
String .NOS Files.
Elektrochemie is offline  
Thanks
1 User
Old 08/13/2013, 14:22   #3
 
elite*gold: 0
Join Date: Jul 2013
Posts: 74
Received Thanks: 10
Hi, I would like to know where I have put the source code? On what software?
scream52 is offline  
Old 08/13/2013, 15:02   #4
 
elite*gold: 11
Join Date: Jul 2010
Posts: 633
Received Thanks: 167
Quote:
Originally Posted by ernilos View Post
Where is C++? only i see in .Net objects lol

you suck... you give only bad comments, release something than you can talk...-.-

Can you release a compiled version of the tool? my Visual Studio sucks...
DoDo1997 is offline  
Thanks
1 User
Old 08/13/2013, 18:01   #5
 
elite*gold: 0
Join Date: Aug 2013
Posts: 154
Received Thanks: 166
Last edited by ernilos; Today at 17:54
my message: Today, 17:52

i'm not stupid, u edited after, yeah.. i hate boost libraries, then ? is your problem ? i prefer _beginthread, u say "u need use boost thread" but u use _beginthread like me ! aahh
Sm•ke is offline  
Old 08/15/2013, 16:32   #6
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1
Received Thanks: 0
I have a problem while compiling :/

Quote:
C:\cpp\test.cpp|1|error: expected unqualified-id before 'private'|
||=== Build finished: 1 errors, 0 warnings ===|
This problem is in string 1:
Code:
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
I was compiling this code in Code::Blocks. Help
RemoverPL is offline  
Old 08/16/2013, 00:58   #7
 
ernilos's Avatar
 
elite*gold: 20
Join Date: Jan 2012
Posts: 766
Received Thanks: 645
Quote:
Originally Posted by RemoverPL View Post
I have a problem while compiling :/



This problem is in string 1:
Code:
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
I was compiling this code in Code::Blocks. Help
U need look the decompress algorythm how works, it's a reference no an code for C&P
ernilos is offline  
Old 09/18/2013, 04:55   #8
 
elite*gold: 0
Join Date: Jun 2008
Posts: 3
Received Thanks: 0
hi, can i unpack the sprites with this tool? i have installed the visual studio but i have no idea whats next, an empty project and then i paste the unpacker? what should i do?
misty2 is offline  
Old 09/18/2013, 12:42   #9
 
elite*gold: 0
Join Date: Oct 2010
Posts: 514
Received Thanks: 65
Upload build... not code .. lol
szymek111 is offline  
Old 09/18/2013, 13:13   #10
 
elite*gold: 0
Join Date: Aug 2013
Posts: 154
Received Thanks: 166
Quote:
Originally Posted by szymek111 View Post
Upload build... not code .. lol
nope, i don't give the built code.. if u want use this, u need to study ^.^
Sm•ke is offline  
Thanks
1 User
Old 09/18/2013, 17:07   #11
 
elite*gold: 0
Join Date: Dec 2012
Posts: 92
Received Thanks: 1
What about packer? >.>
nekomee is offline  
Old 09/21/2013, 16:24   #12
 
elite*gold: 0
Join Date: May 2011
Posts: 46
Received Thanks: 1
How do you make this work?
Vilius242lt is offline  
Old 09/26/2013, 21:23   #13
 
elite*gold: 0
Join Date: Aug 2012
Posts: 146
Received Thanks: 80
Smoke,please give to exe
Dracula# is offline  
Old 09/28/2013, 14:05   #14
 
ernilos's Avatar
 
elite*gold: 20
Join Date: Jan 2012
Posts: 766
Received Thanks: 645
Click for download the .exe and fully code source
ernilos is offline  
Thanks
2 Users
Old 09/30/2013, 20:13   #15
 
elite*gold: 0
Join Date: May 2011
Posts: 46
Received Thanks: 1
Quote:
Originally Posted by ernilos View Post
Click for download the .exe and fully code source

The program crashes when you open a .nos file with it
Vilius242lt is offline  
Reply


Similar Threads Similar Threads
GoT HaCk- mrs decrypter/unpacker
10/04/2013 - GunZ - 6 Replies
easy to use mrs decrypter install the file from your desktop after it installs, look on your desktop for system press.exe when the menu comes up you can go to number 3 for further instructions made by me(hellrazEr) you can post anywhere as long as you give credit to me. Download Here
[RELEASES] warCrypt [ Bin EN/DEcrypter and Packet EN/DEcrypter ]
12/26/2012 - WarRock Hacks, Bots, Cheats & Exploits - 18 Replies
Informations: This Lib is coded for WarRock you 2 different classes inside this Lib: The 'BinFile' class and the 'PacketData' class. The BinFile class has the options: - EncryptBinRaw(byte) - DecryptBinRaw(string) The function 'DecryptBinRaw' returns the the decrypted result of the used input string. The function 'EncryptBinRaw' returns the the crypted result of the used input bytes.



All times are GMT +1. The time now is 13:23.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.