Jump to content
Moopler

Leaderboard


Popular Content

Showing content with the highest reputation on 18/12/18 in all areas

  1. 2 points
    I wrote a small library in C# which uses Nexon's API to obtain a Passport Token. This token can be used to spawn a MapleStory instance, without having to login through Nexon Launcher or any other (supported) method. GitHub link Todo Structure the project and auth methods ✔️ Reverse Web Auth ✔️ Reverse NMCO*.dll Auth ❌ Example code private async void ExampleFunction(string email, string password) { WebAuthentication web = new WebAuthentication(); NexonPassport passport = default(NexonPassport); try { passport = await web.GetNexonPassport(email, password); } catch (WebAuthenticationException wEx) { switch(wEx.ErrorCode) { case WebAuthenticationErrorCodes.InvalidEmail: case WebAuthenticationErrorCodes.InvalidPassword: MessageBox.Show(wEx.Message, "Authentication Error", MessageBoxButton.OK, MessageBoxImage.Error); return; case WebAuthenticationErrorCodes.InvalidClient: case WebAuthenticationErrorCodes.UntrustedDevice: MessageBox.Show(wEx.Message + "\r\n" + "Check your e-mail and manually verify your identity.", "API Configuration Error", MessageBoxButton.OK, MessageBoxImage.Stop); return; } } //Use the token here by accessing passport.Token; ... } Disclaimer I wrote this library in a relatively short amount of time and it is the first library that was created with the intent to share. If you have any improvements feel free to contribute. This library is created for the sole purpose of allowing people to roll their own launcher. The Nexon Launcher is a painfully awful launcher filled with unnecessary features. Use at your own risk, as I am unsure whether this is in violation of Nexon's Terms of Service. Support is only provided on Moopler.net. This is a working example on how to spawn a MapleStory instance using this library: private async void StartInstanceAction(PasswordBox password) { WebAuthentication web = new WebAuthentication(); NexonPassport passport = default(NexonPassport); try { passport = await web.GetNexonPassport(PassportEmail, password.Password); } catch (WebAuthenticationException wEx) { switch(wEx.ErrorCode) { case WebAuthenticationErrorCodes.InvalidEmail: case WebAuthenticationErrorCodes.InvalidPassword: MessageBox.Show(wEx.Message, "Authentication Error", MessageBoxButton.OK, MessageBoxImage.Error); return; case WebAuthenticationErrorCodes.InvalidClient: case WebAuthenticationErrorCodes.UntrustedDevice: MessageBox.Show(wEx.Message + "\r\n" + "Check your e-mail and manually verify your identity.", "API Configuration Error", MessageBoxButton.OK, MessageBoxImage.Stop); return; } } try { await Task.Run(() => { Process.Start(new ProcessStartInfo() { FileName = Properties.Settings.Default.MaplePath, WorkingDirectory = Properties.Settings.Default.MaplePath.Replace("\\MapleStory.exe", string.Empty), Verb = "runas", Arguments = $"-nxl {passport.Token}" }); }); } catch (FileNotFoundException) { MessageBox.Show("MapleStory.exe cannot be located at the configured file path. Please verify and try again.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } catch (Win32Exception) { MessageBox.Show("MapleStory.exe can be found, but cannot be opened. Do you have the privileges to open this file?", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
  2. 1 point
    Here's the NCMO leak. I actually used the lib in an old CLB project to login 😄 https://github.com/RajanGrewal/AuthHook/tree/master/AuthHook/NMCO
This leaderboard is set to Amsterdam/GMT+01:00

Announcements

  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up
×