Black Desert Online (Java, Emulator, MongoDB)

Page 4 of 35 FirstFirst 12345678910111214 ... LastLast
Results 46 to 60 of 511
  1. #46
    Alpha Member Hycker is offline
    MemberRank
    Dec 2010 Join Date
    /root/gameguardLocation
    1,587Posts

    Re: Black Desert Online

    Quote Originally Posted by Aznkidd235 View Post
    it's not a decompiled launcher the source for the launcher is provided in the files.



    as far as i know you need the launcher to connect since the files use a key to login, i have tried forcing the client to run but i always get crypt null message or wrong account.
    That's the moment when @lastfun appears and saves the world lol

    Sent from my SM-N910F using Tapatalk

  2. #47
    Valued Member DjFerry is offline
    MemberRank
    Dec 2014 Join Date
    110Posts

    Re: Black Desert Online

    yeah was thinking to use the old method like the old src was here around, creating account in the db, the key, then add command to the exe with the key created. But still have no luck to see how to create even the account in the db xd

  3. #48
    www.m.me/ExcelsiorSoftLLC master_unknown is offline
    MemberRank
    Oct 2004 Join Date
    HellLocation
    1,242Posts

    Re: Black Desert Online

    The mega url for the launcher was removed, pls reup.

  4. #49
    Account Upgraded | Title Enabled! Aznkidd235 is offline
    MemberRank
    Apr 2007 Join Date
    518Posts

    Re: Black Desert Online

    Quote Originally Posted by DjFerry View Post
    yeah was thinking to use the old method like the old src was here around, creating account in the db, the key, then add command to the exe with the key created. But still have no luck to see how to create even the account in the db xd
    the old BD Emu? i tried that src before the last time i used it, it had no packets, crypt functions or database the creator of those files just logged the packets when they were encrypted and when the client would request packets all the server did was relay them.

    if you decompiled the login.jar you will see some database structures: (Account.java)

    Code:
    package com.bdoemu.login.models.db;
    
    
    import com.bdoemu.commons.database.mongo.JSONable;
    import com.bdoemu.commons.model.enums.EAccessLevel;
    import com.bdoemu.commons.model.xmlrpc.XMLRPCable;
    import com.bdoemu.commons.model.xmlrpc.XmlRpcMessage;
    import com.bdoemu.commons.model.xmlrpc.impl.XmlRpcAccount;
    import com.bdoemu.commons.rmi.model.Macros;
    import com.bdoemu.login.idfactory.LSIDStorageType;
    import com.bdoemu.login.models.db.Account$Account;
    import com.bdoemu.login.models.db.Account$Log;
    import com.bdoemu.login.models.db.Account$Payment;
    import com.bdoemu.login.models.db.Payment$Payment;
    import com.mongodb.BasicDBList;
    import com.mongodb.BasicDBObject;
    import com.mongodb.BasicDBObjectBuilder;
    import com.mongodb.DBObject;
    import java.lang.invoke.ConstantCallSite;
    import java.lang.invoke.MethodHandle;
    import java.lang.invoke.MethodHandles;
    import java.lang.invoke.MethodType;
    
    
    public class Account
    extends JSONable
    implements XMLRPCable {
        private final long objectId;
        private long cash;
        private String password;
        private String accountName;
        private String email;
        private String host;
        private EAccessLevel accessLvl = EAccessLevel.USER;
        private String family = "";
        private String pin = "";
        private String confirmationHash = "";
        private String changePasswordHash = "";
        private long registrationDate;
        private int characterSlots;
        private Macros[] macroses;
        private String gameOption;
        private String uiInfo;
        private static volatile transient Object[] \u631e;
    
    
        public Account(BasicDBObject basicDBObject) {
            this.objectId = basicDBObject.getLong(Account$Account.\uc7d1("\uee5d\u1da7\u0229"));
            this.accountName = basicDBObject.getString(Account$Account.\uc7d1("\uee63\u1dad\u022e\u0fe8\u121a\ue3db\u3225\u42d6\u12fa\u1c7c\u240d"));
            this.password = basicDBObject.getString(Account$Account.\uc7d1("\uee72\u1daf\u023e\u0ff4\u1218\ue3da\u3223\u42fc"));
            this.pin = basicDBObject.getString(Account$Account.\uc7d1("\uee72\u1da7\u0223"));
            this.family = basicDBObject.getString(Account$Account.\uc7d1("\uee64\u1daf\u0220\u0fee\u1203\ue3cc"));
            this.host = basicDBObject.getString(Account$Account.\uc7d1("\uee6a\u1da1\u023e\u0ff3"));
            this.accessLvl = EAccessLevel.valueOf((int)basicDBObject.getInt(Account$Account.\uc7d1("\uee63\u1dad\u022e\u0fe2\u121c\ue3c6\u321d\u42ee\u12f7")));
            this.characterSlots = basicDBObject.getInt(Account$Account.\uc7d1("\uee61\u1da6\u022c\u0ff5\u120e\ue3d6\u3225\u42fd\u12e9\u1c42\u2404\u178e\u8046\u445d"));
            this.cash = basicDBObject.getInt(Account$Account.\uc7d1("\uee61\u1daf\u023e\u0fef"));
            if (basicDBObject.containsField(Account$Account.\uc7d1("\uee6f\u1daf\u022e\u0ff5\u1200\ue3c6\u3234\u42eb"))) {
                BasicDBList basicDBList = (BasicDBList)basicDBObject.get(Account$Account.\uc7d1("\uee6f\u1daf\u022e\u0ff5\u1200\ue3c6\u3234\u42eb"));
                this.macroses = new Macros[10];
                for (Object e : basicDBList) {
                    Macros macros;
                    this.macroses[macros.getIndex()] = macros = new Macros((BasicDBObject)e);
                }
            }
            if (basicDBObject.containsField(Account$Account.\uc7d1("\uee67\u1da3\u022c\u0fee\u1203"))) {
                this.email = basicDBObject.getString(Account$Account.\uc7d1("\uee67\u1da3\u022c\u0fee\u1203"));
            }
            if (basicDBObject.containsField(Account$Account.\uc7d1("\uee65\u1daf\u0220\u0fe2\u1220\ue3c5\u3225\u42f1\u12f4\u1c7f"))) {
                this.gameOption = ((BasicDBObject)basicDBObject.get(Account$Account.\uc7d1("\uee65\u1daf\u0220\u0fe2\u1220\ue3c5\u3225\u42f1\u12f4\u1c7f"))).getString(Account$Account.\uc7d1("\uee65\u1daf\u0220\u0fe2\u1220\ue3c5\u3225\u42f1\u12f4\u1c7f\u242c\u1780\u8046\u444f"));
            }
            if (basicDBObject.containsField(Account$Account.\uc7d1("\uee77\u1da7\u0204\u0fe9\u1209\ue3da"))) {
                this.uiInfo = ((BasicDBObject)basicDBObject.get(Account$Account.\uc7d1("\uee77\u1da7\u0204\u0fe9\u1209\ue3da"))).getString(Account$Account.\uc7d1("\uee77\u1da7\u0209\u0fe6\u121b\ue3d4"));
            }
            if (basicDBObject.containsField(Account$Account.\uc7d1("\uee61\u1da1\u0223\u0fe1\u1206\ue3c7\u323c\u42f9\u12ef\u1c78\u2407\u178f\u807a\u444f\u5707\u35f5"))) {
                this.confirmationHash = basicDBObject.getString(Account$Account.\uc7d1("\uee61\u1da1\u0223\u0fe1\u1206\ue3c7\u323c\u42f9\u12ef\u1c78\u2407\u178f\u807a\u444f\u5707\u35f5"));
            }
            if (basicDBObject.containsField(Account$Account.\uc7d1("\uee61\u1da6\u022c\u0fe9\u1208\ue3d0\u3201\u42f9\u12e8\u1c62\u241f\u178e\u8040\u444a\u573c\u35fc\u8689\uce4c"))) {
                this.changePasswordHash = basicDBObject.getString(Account$Account.\uc7d1("\uee61\u1da6\u022c\u0fe9\u1208\ue3d0\u3201\u42f9\u12e8\u1c62\u241f\u178e\u8040\u444a\u573c\u35fc\u8689\uce4c"));
            }
            this.registrationDate = basicDBObject.getLong(Account$Account.\uc7d1("\uee70\u1dab\u022a\u0fee\u121c\ue3c1\u3223\u42f9\u12ef\u1c78\u2407\u178f\u8076\u444f\u5700\u35f8"), 0);
        }
    
    
        public Account(String string, String string2, String string3) {
            this.objectId = Account.\ud3cd(Account.\u9433(), LSIDStorageType.ACCOUNT);
            this.accountName = string;
            this.email = string2;
            this.password = string3;
            this.registrationDate = Account.\u76c3();
        }
    
    
        public DBObject toDBObject() {
            BasicDBObjectBuilder basicDBObjectBuilder = new BasicDBObjectBuilder();
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf511\uef09\u5c2f"), Account.\ud0a0(this.objectId));
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf52f\uef03\u5c28\ud9d7\ua8f1\u58b2\u2aa0\u9ed4\u8505\uc62d\ue920"), (Object)this.accountName);
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf52b\uef0d\u5c2a\ud9d1\ua8e8"), (Object)this.email);
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf53e\uef01\u5c38\ud9cb\ua8f3\u58b3\u2aa6\u9efe"), (Object)this.password);
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf53e\uef09\u5c25"), (Object)this.pin);
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf528\uef01\u5c26\ud9d1\ua8e8\u58a5"), (Object)this.family);
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf52f\uef03\u5c28\ud9dd\ua8f7\u58af\u2a98\u9eec\u8508"), Account.\u41a3(this.accessLvl.getAccessId()));
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf52d\uef08\u5c2a\ud9ca\ua8e5\u58bf\u2aa0\u9eff\u8516\uc613\ue929\ufdff\ue1d3\u10e1"), Account.\u41a3(this.characterSlots));
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf52d\uef01\u5c38\ud9d0"), Account.\ud0a0(this.cash));
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf52d\uef0f\u5c25\ud9de\ua8ed\u58ae\u2ab9\u9efb\u8510\uc629\ue92a\ufdfe\ue1ef\u10f3\uebb4\ue373"), (Object)this.confirmationHash);
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf52d\uef08\u5c2a\ud9d6\ua8e3\u58b9\u2a84\u9efb\u8517\uc633\ue932\ufdff\ue1d5\u10f6\ueb8f\ue37a\u1d2e\ub3cf"), (Object)this.changePasswordHash);
            basicDBObjectBuilder.append(Account$Payment.\u92cb("\uf53c\uef05\u5c2c\ud9d1\ua8f7\u58a8\u2aa6\u9efb\u8510\uc629\ue92a\ufdfe\ue1e3\u10f3\uebb3\ue37e"), Account.\ud0a0(this.registrationDate));
            return basicDBObjectBuilder.get();
        }
    
    
        public XmlRpcAccount toXMLRpcObject(String string) {
            XmlRpcAccount xmlRpcAccount = new XmlRpcAccount();
            xmlRpcAccount.setAccountId(this.objectId);
            xmlRpcAccount.setAccountName(this.accountName);
            xmlRpcAccount.setEmail(this.email);
            xmlRpcAccount.setFamily(this.family);
            xmlRpcAccount.setCash(this.cash);
            xmlRpcAccount.setPassword(this.password);
            xmlRpcAccount.setAccessLevel(this.accessLvl);
            xmlRpcAccount.setConfirmationCode(this.confirmationHash);
            xmlRpcAccount.setChangePasswordCode(this.changePasswordHash);
            xmlRpcAccount.setRegistrationDate(this.registrationDate);
            return xmlRpcAccount;
        }
    
    
        public long getObjectId() {
            return this.objectId;
        }
    
    
        public long getCash() {
            return this.cash;
        }
    
    
        public String getPassword() {
            return this.password;
        }
    
    
        public String getAccountName() {
            return this.accountName;
        }
    
    
        public String getEmail() {
            return this.email;
        }
    
    
        public String getHost() {
            return this.host;
        }
    
    
        public EAccessLevel getAccessLvl() {
            return this.accessLvl;
        }
    
    
        public String getFamily() {
            return this.family;
        }
    
    
        public String getPin() {
            return this.pin;
        }
    
    
        public String getConfirmationHash() {
            return this.confirmationHash;
        }
    
    
        public String getChangePasswordHash() {
            return this.changePasswordHash;
        }
    
    
        public long getRegistrationDate() {
            return this.registrationDate;
        }
    
    
        public int getCharacterSlots() {
            return this.characterSlots;
        }
    
    
        public Macros[] getMacroses() {
            return this.macroses;
        }
    
    
        public String getGameOption() {
            return this.gameOption;
        }
    
    
        public String getUiInfo() {
            return this.uiInfo;
        }
    
    
        public void setCash(long l) {
            this.cash = l;
        }
    
    
        public void setPassword(String string) {
            this.password = string;
        }
    
    
        public void setAccountName(String string) {
            this.accountName = string;
        }
    
    
        public void setEmail(String string) {
            this.email = string;
        }
    
    
        public void setHost(String string) {
            this.host = string;
        }
    
    
        public void setAccessLvl(EAccessLevel eAccessLevel) {
            this.accessLvl = eAccessLevel;
        }
    
    
        public void setFamily(String string) {
            this.family = string;
        }
    
    
        public void setPin(String string) {
            this.pin = string;
        }
    
    
        public void setConfirmationHash(String string) {
            this.confirmationHash = string;
        }
    
    
        public void setChangePasswordHash(String string) {
            this.changePasswordHash = string;
        }
    
    
        public void setRegistrationDate(long l) {
            this.registrationDate = l;
        }
    
    
        public void setCharacterSlots(int n) {
            this.characterSlots = n;
        }
    
    
        public void setMacroses(Macros[] arrmacros) {
            this.macroses = arrmacros;
        }
    
    
        public void setGameOption(String string) {
            this.gameOption = string;
        }
    
    
        public void setUiInfo(String string) {
            this.uiInfo = string;
        }
    
    
        public String toString() {
            return Account.\u147a(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ubfa4(Account.\ua9af(Account.\u6e60(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\u6c19(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\ua9af(Account.\u6e60(Account.\ua9af(Account.\u6e60(Account.\ua9af(new StringBuilder(), Account$Account.\uc7d1("\ud1f8\u6bff\u171a\ub929\u170c\ua09d\u50c5\uac5d\udc1b\u1044\ubbfd\ud384\ude1f\ua03f\udaad\u6628\u0724")), this.getObjectId()), Account$Account.\uc7d1("\ud195\u6bbc\u171a\ub927\u170a\ua09b\u508c")), this.getCash()), Account$Account.\uc7d1("\ud195\u6bbc\u1709\ub927\u170a\ua080\u50c6\uac1a\udc06\u1042\ubbaa")), this.getPassword()), Account$Account.\uc7d1("\ud195\u6bbc\u1718\ub925\u171a\ua09c\u50c4\uac1b\udc00\u1068\ubbf6\ud38c\ude19\ua076")), this.getAccountName()), Account$Account.\uc7d1("\ud195\u6bbc\u171c\ub92b\u1718\ua09a\u50dd\uac48")), this.getEmail()), Account$Account.\uc7d1("\ud195\u6bbc\u1711\ub929\u170a\ua087\u508c")), this.getHost()), Account$Account.\uc7d1("\ud195\u6bbc\u1718\ub925\u171a\ua096\u50c2\uac06\udc38\u1050\ubbfb\ud3dc")), this.getAccessLvl()), Account$Account.\uc7d1("\ud195\u6bbc\u171f\ub927\u1714\ua09a\u50dd\uac0c\udc49")), this.getFamily()), Account$Account.\uc7d1("\ud195\u6bbc\u1709\ub92f\u1717\ua0ce")), this.getPin()), Account$Account.\uc7d1("\ud195\u6bbc\u171a\ub929\u1717\ua095\u50d8\uac07\udc19\u1047\ubbe3\ud388\ude13\ua025\udaac\u662d\u076a\uca62\ua2d8")), this.getConfirmationHash()), Account$Account.\uc7d1("\ud195\u6bbc\u171a\ub92e\u1718\ua09d\u50d6\uac10\udc24\u1047\ubbe4\ud392\ude0b\ua024\uda96\u6628\u0751\uca6b\ua296\u084b\u4a2d")), this.getChangePasswordHash()), Account$Account.\uc7d1("\ud195\u6bbc\u170b\ub923\u171e\ua09a\u50c2\uac01\udc06\u1047\ubbe3\ud388\ude13\ua025\udaa0\u662d\u076d\uca6f\ua2d8")), this.getRegistrationDate()), Account$Account.\uc7d1("\ud195\u6bbc\u171a\ub92e\u1718\ua081\u50d0\uac16\udc00\u1043\ubbe5\ud3b2\ude10\ua024\uda90\u663f\u0724")), this.getCharacterSlots()), Account$Account.\uc7d1("\ud195\u6bbc\u1714\ub927\u171a\ua081\u50de\uac06\udc11\u1055\ubbaa")), Account.\u5e7d(this.getMacroses())), Account$Account.\uc7d1("\ud195\u6bbc\u171e\ub927\u1714\ua096\u50fe\uac05\udc00\u104f\ubbf8\ud38f\ude41")), this.getGameOption()), Account$Account.\uc7d1("\ud195\u6bbc\u170c\ub92f\u1730\ua09d\u50d7\uac1a\udc49")), this.getUiInfo()), Account$Account.\uc7d1("\ud190")));
        }
    
    
        public boolean equals(Object object) {
            if (object == this) {
                return true;
            }
            if (!(object instanceof Account)) {
                return false;
            }
            Account account = (Account)((Object)object);
            if (!account.canEqual((Object)this)) {
                return false;
            }
            if (this.getObjectId() != account.getObjectId()) {
                return false;
            }
            if (this.getCash() != account.getCash()) {
                return false;
            }
            String string = this.getPassword();
            String string2 = account.getPassword();
            if (string == null ? string2 != null : !string.equals(string2)) {
                return false;
            }
            String string3 = this.getAccountName();
            String string4 = account.getAccountName();
            if (string3 == null ? string4 != null : !string3.equals(string4)) {
                return false;
            }
            String string5 = this.getEmail();
            String string6 = account.getEmail();
            if (string5 == null ? string6 != null : !string5.equals(string6)) {
                return false;
            }
            String string7 = this.getHost();
            String string8 = account.getHost();
            if (string7 == null ? string8 != null : !string7.equals(string8)) {
                return false;
            }
            EAccessLevel eAccessLevel = this.getAccessLvl();
            EAccessLevel eAccessLevel2 = account.getAccessLvl();
            if (eAccessLevel == null ? eAccessLevel2 != null : !eAccessLevel.equals((Object)eAccessLevel2)) {
                return false;
            }
            String string9 = this.getFamily();
            String string10 = account.getFamily();
            if (string9 == null ? string10 != null : !string9.equals(string10)) {
                return false;
            }
            String string11 = this.getPin();
            String string12 = account.getPin();
            if (string11 == null ? string12 != null : !string11.equals(string12)) {
                return false;
            }
            String string13 = this.getConfirmationHash();
            String string14 = account.getConfirmationHash();
            if (string13 == null ? string14 != null : !string13.equals(string14)) {
                return false;
            }
            String string15 = this.getChangePasswordHash();
            String string16 = account.getChangePasswordHash();
            if (string15 == null ? string16 != null : !string15.equals(string16)) {
                return false;
            }
            if (this.getRegistrationDate() != account.getRegistrationDate()) {
                return false;
            }
            if (this.getCharacterSlots() != account.getCharacterSlots()) {
                return false;
            }
            if (Account.\ubc80(this.getMacroses(), account.getMacroses()) == false) {
                return false;
            }
            String string17 = this.getGameOption();
            String string18 = account.getGameOption();
            if (string17 == null ? string18 != null : !string17.equals(string18)) {
                return false;
            }
            String string19 = this.getUiInfo();
            String string20 = account.getUiInfo();
            if (string19 == null ? string20 != null : !string19.equals(string20)) {
                return false;
            }
            return true;
        }
    
    
        protected boolean canEqual(Object object) {
            return object instanceof Account;
        }
    
    
        public int hashCode() {
            int n = 59;
            int n2 = 1;
            long l = this.getObjectId();
            n2 = n2 * 59 + (int)(l >>> 32 ^ l);
            long l2 = this.getCash();
            n2 = n2 * 59 + (int)(l2 >>> 32 ^ l2);
            String string = this.getPassword();
            n2 = n2 * 59 + (string == null ? 43 : string.hashCode());
            String string2 = this.getAccountName();
            n2 = n2 * 59 + (string2 == null ? 43 : string2.hashCode());
            String string3 = this.getEmail();
            n2 = n2 * 59 + (string3 == null ? 43 : string3.hashCode());
            String string4 = this.getHost();
            n2 = n2 * 59 + (string4 == null ? 43 : string4.hashCode());
            EAccessLevel eAccessLevel = this.getAccessLvl();
            n2 = n2 * 59 + (eAccessLevel == null ? 43 : eAccessLevel.hashCode());
            String string5 = this.getFamily();
            n2 = n2 * 59 + (string5 == null ? 43 : string5.hashCode());
            String string6 = this.getPin();
            n2 = n2 * 59 + (string6 == null ? 43 : string6.hashCode());
            String string7 = this.getConfirmationHash();
            n2 = n2 * 59 + (string7 == null ? 43 : string7.hashCode());
            String string8 = this.getChangePasswordHash();
            n2 = n2 * 59 + (string8 == null ? 43 : string8.hashCode());
            long l3 = this.getRegistrationDate();
            n2 = n2 * 59 + (int)(l3 >>> 32 ^ l3);
            n2 = n2 * 59 + this.getCharacterSlots();
            n2 = n2 * 59 + Account.\u7d8a(this.getMacroses());
            String string9 = this.getGameOption();
            n2 = n2 * 59 + (string9 == null ? 43 : string9.hashCode());
            String string10 = this.getUiInfo();
            n2 = n2 * 59 + (string10 == null ? 43 : string10.hashCode());
            return n2;
        }
    
    
        private static Object \u7d8a(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[8] == null) {
                Account.\u631e[8] = new ConstantCallSite(MethodHandles.lookup().findStatic(Class.forName(Account$Payment.\u92cb("\u4a7e\uafaa\u0de6\u02f2\u6086\uae7e\uc1c2\u0c57\ue068\ud4a8\u7d7e\ub9fa\ua3da\u624a\u48d4\ua21c")), Account$Payment.\u92cb("\u4a70\uafae\u0df5\u02e3\u60e0\uae6a\uc1c5\u0c56\ue047\ud4e9\u7d5b\ub9ed"), methodType).asType(methodType));
            }
            return \u631e[8];
        }
    
    
        private static Object \u147a(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[12] == null) {
                Account.\u631e[12] = new ConstantCallSite(MethodHandles.lookup().findVirtual(Class.forName(Payment$Payment.\u37a9("\ue8dd\u4bd3\uce2d\u2056\u6a1d\ude7d\u19b5\u74d0\u532c\ub149\u383a\u6bac\ubafb\u4452\ub886\uc443\ue352\u783c\ue505\ua2ee\ua32a\u6314\u66ff")), Payment$Payment.\u37a9("\ue8c3\u4bdd\uce08\u2043\u6a41\ude78\u19ba\u74d9"), methodType.dropParameterTypes(0, 1)).asType(methodType));
            }
            return \u631e[12];
        }
    
    
        private static Object \ubfa4(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[4] == null) {
                Account.\u631e[4] = new ConstantCallSite(MethodHandles.lookup().findVirtual(Class.forName(Account$Payment.\u92cb("\u511b\ub9b6\u4a70\u86fa\u6978\ubb4d\ubfb1\ud0d4\u3103\ud9ad\ue4f2\u1452\uaee5\ueb02\uf84b\u8aa7\u0148\ub148\u7740\ua446\u4baa\u2fc3\ud028")), Account$Payment.\u92cb("\u5110\ub9a7\u4a76\u86fe\u6938\ubb45"), methodType.dropParameterTypes(0, 1)).asType(methodType));
            }
            return \u631e[4];
        }
    
    
        private static Object \u41a3(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[5] == null) {
                Account.\u631e[5] = new ConstantCallSite(MethodHandles.lookup().findStatic(Class.forName(Account$Payment.\u92cb("\u9c78\u4151\ub754\u71aa\u053f\u6668\u2530\u5dc7\u6752\u4b1f\u0dd8\u85bd\u6d0e\u74c1\u465c\uddff\uc36d")), Account$Payment.\u92cb("\u9c64\u4151\ub74e\u71be\u0574\u664b\u2537"), methodType).asType(methodType));
            }
            return \u631e[5];
        }
    
    
        private static Object \u6e60(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[10] == null) {
                Account.\u631e[10] = new ConstantCallSite(MethodHandles.lookup().findVirtual(Class.forName(Account$Account.\uc7d1("\u7384\ud8ef\u68fc\u651c\u4342\u866d\u47b6\u7750\u3726\ua47f\u090c\u8cb5\u3725\u0e2b\uc29d\u78b5\u0be0\u9124\u65aa\u8847\ue16a\u1116\u7971")), Account$Account.\uc7d1("\u738f\ud8fe\u68fa\u6518\u4302\u8665"), methodType.dropParameterTypes(0, 1)).asType(methodType));
            }
            return \u631e[10];
        }
    
    
        private static Object \ud3cd(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[9] == null) {
                Account.\u631e[9] = new ConstantCallSite(MethodHandles.lookup().findVirtual(Class.forName(Account$Account.\uc7d1("\u1dac\u2260\u4764\u8672\u07ce\ueb93\u2f34\uf5c3\uc146\u8439\uec3a\ufda2\uf4e7\ub898\ud7d3\u5925\u24f2\uc5b1\u4064\u4151\u369b\u4d46\u972b\uef12\u02c4\u85c2\u22fb\u4e1b\u7d1a\u7395\u536b\u5edb\ufb57\u04ef\u2d8f\u9e2b\ufdd2\ua221\u4ce8\ucd93\u1d05\ucbb4\u092d\u3c3d\u5224\ud7a7\u7f14")), Account$Account.\uc7d1("\u1da1\u226a\u4771\u8628\u07e5\ueb93"), methodType.dropParameterTypes(0, 1)).asType(methodType));
            }
            return \u631e[9];
        }
    
    
        private static Object \u5e7d(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[0] == null) {
                Account.\u631e[0] = new ConstantCallSite(MethodHandles.lookup().findStatic(Class.forName(Account$Account.\uc7d1("\udc16\u6791\ub87b\u0c9a\u64c3\uf692\ue932\u4516\u0feb\u4bda\u9a8e\uc523\u6095\u36b5\u4719\u4b91")), Account$Account.\uc7d1("\udc18\u6795\ub868\u0c8b\u64b9\uf688\ue915\u450b\u0ff5\u4b9d\u9aa1\uc536"), methodType).asType(methodType));
            }
            return \u631e[0];
        }
    
    
        private static Object \ud0a0(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[3] == null) {
                Account.\u631e[3] = new ConstantCallSite(MethodHandles.lookup().findStatic(Class.forName(Payment$Payment.\u37a9("\u4766\u41af\uf936\u2302\uf0ac\u18b7\u4500\u3f5f\uaebc\uc754\ub0b8\u5060\u4328\u642b")), Payment$Payment.\u37a9("\u477a\u41af\uf92c\u2316\uf0e7\u1894\u4507"), methodType).asType(methodType));
            }
            return \u631e[3];
        }
    
    
        private static Object \u76c3(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[1] == null) {
                Account.\u631e[1] = new ConstantCallSite(MethodHandles.lookup().findStatic(Class.forName(Payment$Payment.\u37a9("\u6698\u19c3\ufa6d\u4690\u2cd6\uc334\u70a9\u97e8\ufa19\u8191\ucc09\u036f\ucc9d\u0671\u3e74\u1b6b")), Payment$Payment.\u37a9("\u6691\u19d7\ufa69\u4683\u2c9d\uc336\u70bc\u97d2\ufa17\u81d2\ucc3f\u035b\ucc87\u0669\u3e7d\u1b6f\u1a9e"), methodType).asType(methodType));
            }
            return \u631e[1];
        }
    
    
        private static Object \ua9af(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[11] == null) {
                Account.\u631e[11] = new ConstantCallSite(MethodHandles.lookup().findVirtual(Class.forName(Account$Log.\u44e3("\udd00\ua0b5\ucc75\u81d9\u89c6\u3bcb\u7db3\udd2b\u6990\u2ba2\u6801\ud49d\u48c8\u627a\ufa45\u294b\u8184\u7f97\uec50\u6e71\uff7c\u31f0\ud66a")), Account$Log.\u44e3("\udd0b\ua0a4\ucc73\u81dd\u8986\u3bc3"), methodType.dropParameterTypes(0, 1)).asType(methodType));
            }
            return \u631e[11];
        }
    
    
        private static Object \ubc80(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[6] == null) {
                Account.\u631e[6] = new ConstantCallSite(MethodHandles.lookup().findStatic(Class.forName(Account$Account.\uc7d1("\udcc2\uef83\u4e78\u3e32\u6229\uc46a\ua99d\u45d4\u8def\ua7bc\ua777\u3166\ue1cc\u020e\u4ee2\u2ab4")), Account$Account.\uc7d1("\udccc\uef87\u4e6b\u3e23\u6242\uc46e\ua99c\u45dc\u8def\ua7e1"), methodType).asType(methodType));
            }
            return \u631e[6];
        }
    
    
        private static Object \u9433(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[2] == null) {
                Account.\u631e[2] = new ConstantCallSite(MethodHandles.lookup().findStatic(Class.forName(Payment$Payment.\u37a9("\ubb28\u0f62\u0536\u866f\u2ec5\uc04a\ueccb\u6c3c\ua2c3\u6f4a\uca00\u3eb4\ud512\u9ce1\uebf2\ua9e6\u973d\uf60f\u35d4\udfd2\ua506\ucc46\ub973\uc866\u1966\u0273\u9c72\u06e2\u117d\udc4e\u6057\u7767\u613e\u9307\u29fd\u52a8\ufd6f\u5971\uaaed\u9cf9\ua829\ue10a\u92d5\u5977\ua484\u5373\u65c5")), Payment$Payment.\u37a9("\ubb2c\u0f68\u052f\u8608\u2ec9\uc05d\uecd0\u6c38\ua2c0\u6f5c\uca4b"), methodType).asType(methodType));
            }
            return \u631e[2];
        }
    
    
        private static Object \u6c19(Object object, String string, MethodType methodType) {
            if (\u631e == null) {
                \u631e = new Object[13];
            }
            if (\u631e[7] == null) {
                Account.\u631e[7] = new ConstantCallSite(MethodHandles.lookup().findVirtual(Class.forName(Payment$Payment.\u37a9("\u0d47\u0366\u1b17\u8962\u7a7a\ub8fc\ub599\u5e10\uf777\u9aee\ufc1d\uc6ea\u886c\u16cf\ufdd6\u87c1\u0a95\u6054\u45d5\u67be\ue404\u8ad2\uda85")), Payment$Payment.\u37a9("\u0d4c\u0377\u1b11\u8966\u7a3a\ub8f4"), methodType.dropParameterTypes(0, 1)).asType(methodType));
            }
            return \u631e[7];
        }
    }
    DB structure:
    Code:
        private final long objectId;
        private long cash;
        private String password;
        private String accountName;
        private String email;
        private String host;
        private EAccessLevel accessLvl = EAccessLevel.USER;
        private String family = "";
        private String pin = "";
        private String confirmationHash = "";
        private String changePasswordHash = "";
        private long registrationDate;
        private int characterSlots;
        private Macros[] macroses;
        private String gameOption;
        private String uiInfo;
        private static volatile transient Object[] \u631e;
    Note:
    if you try to add the account manually i don't think it works since when i start login server i get an error most likely from the files trying to read the account field i added maybe i'm doing something wrong? idk if you get it working let me know lol.
    Last edited by Aznkidd235; 31-12-17 at 03:16 PM.

  5. #50
    Valued Member DjFerry is offline
    MemberRank
    Dec 2014 Join Date
    110Posts

    Re: Black Desert Online

    interesting both are deleted xd i will upload to other place i will edit this post when ready.

  6. #51
    Account Upgraded | Title Enabled! Aznkidd235 is offline
    MemberRank
    Apr 2007 Join Date
    518Posts

    Re: Black Desert Online

    @DjFerry did you manage to compile the launcher? I still get the same errors from the original launcher.

    btw i posted the database structure above.
    Last edited by Aznkidd235; 31-12-17 at 03:18 PM.

  7. #52
    Valued Member DjFerry is offline
    MemberRank
    Dec 2014 Join Date
    110Posts

    Re: Black Desert Online

    still no luck if i find something i will for sure post it, but well my knowledge is a bit limited jajaj but i will try thnx for post the database structure :) its quite similar to the old one.


    Yeah did also the disable the keys ( token ) and set autoregister accounts without succes.
    Last edited by DjFerry; 31-12-17 at 03:29 PM.

  8. #53
    Account Upgraded | Title Enabled! Aznkidd235 is offline
    MemberRank
    Apr 2007 Join Date
    518Posts

    Re: Black Desert Online

    there is also a setting in the config folder of gameserver and loginserver where you can disable the keys (token) and set auto register accounts, but this has not worked for me but then again for this to work maybe you have to pass a specific command line through the client?

  9. #54
    Apprentice Bioman is offline
    MemberRank
    Dec 2017 Join Date
    24Posts

    Re: Black Desert Online

    Quote Originally Posted by Aznkidd235 View Post
    it's not a decompiled launcher the source for the launcher is provided in the files.
    Whatever you think,but you wrong.

    // Decompiled with JetBrains decompiler// Type: CrimsonDesertLauncher.ViewModels.DashboardViewModel// Assembly: CrimsonDesertLauncher, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null// MVID: 7F28607C-CFC9-48E3-89A9-FAEB0B79E7B3// Assembly location: C:\Program Files\OgreFest Launcher\CrimsonDesertLauncher.exeusing \u003CPrivateImplementationDetails\u003E\u007BD49B64D5\u002D82BA\u002D414A\u002DAD3F\u002D07FAB3390E60\u007D;

    Read and you will see.Obliviusly includes should not look this way.Its completely messed up.Links and pointers completely messed up within source.Without proper structure you never compile this source.

  10. #55
    Cypher WireShark is offline
    MemberRank
    Jun 2009 Join Date
    Planet Earth xDLocation
    950Posts

    Re: Black Desert Online

    Quote Originally Posted by DjFerry View Post
    Mirror
    https://mega.nz/#!4KA2lZoY!p5CCU02NuOKJdHw8usJAH-2amN8U4-9MvxnL2V_cE4k


    btw anyone tried the launcher thing? messed yeterday before go to sleep without succes... or any way to connect without them
    Mirror link is not available lol can someone upload a good mirror of files thank you

  11. #56
    Member as83426187z is offline
    MemberRank
    Jun 2014 Join Date
    95Posts

    Re: Black Desert Online

    do someone have the useful client! can share the dl link?

  12. #57
    Enthusiast parara12 is offline
    MemberRank
    Dec 2017 Join Date
    31Posts

    Re: Black Desert Online

    biezymiannyi.png

  13. #58
    Account Upgraded | Title Enabled! Aznkidd235 is offline
    MemberRank
    Apr 2007 Join Date
    518Posts

    Re: Black Desert Online

    Quote Originally Posted by parara12 View Post
    biezymiannyi.png
    yea we got the files up and running too, the issue that we are having is making the client connect.

  14. #59
    Maybe demon? Kirito2105 is offline
    MemberRank
    Sep 2012 Join Date
    RussianLocation
    432Posts

    Re: Black Desert Online

    Nice work

  15. #60
    I are an engineer beyastard is offline
    MemberRank
    Feb 2009 Join Date
    OklahomaLocation
    500Posts

    Re: Black Desert Online

    Long thread, and yet, not a single mirror.
    Anyone out there who can add a mirror?



Advertisement