Skip to content

Commit

Permalink
6.33
Browse files Browse the repository at this point in the history
-Trying to fix UTF-8 Windows
  • Loading branch information
tonikelope committed Sep 2, 2019
1 parent f95789c commit c082c65
Show file tree
Hide file tree
Showing 18 changed files with 78 additions and 78 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.tonikelope</groupId>
<artifactId>MegaBasterd</artifactId>
<version>6.32</version>
<version>6.33</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
Expand Down
Expand Up @@ -204,7 +204,7 @@ public void run() {

if (MainPanel.getProxy_user() != null && !"".equals(MainPanel.getProxy_user())) {

con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes()));
con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes("UTF-8")));
}

} else {
Expand Down
Expand Up @@ -71,7 +71,7 @@ public void run() {

if (MainPanel.getProxy_user() != null && !"".equals(MainPanel.getProxy_user())) {

con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes()));
con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes("UTF-8")));
}
} else {

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/tonikelope/megabasterd/ChunkUploader.java
Expand Up @@ -137,7 +137,7 @@ public void run() {

if (MainPanel.getProxy_user() != null && !"".equals(MainPanel.getProxy_user())) {

con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes()));
con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes("UTF-8")));
}
} else {

Expand Down Expand Up @@ -212,7 +212,7 @@ public void run() {
byte_res.write(buffer, 0, reads);
}

httpresponse = new String(byte_res.toByteArray());
httpresponse = new String(byte_res.toByteArray(), "UTF-8");

}

Expand Down
38 changes: 19 additions & 19 deletions src/main/java/com/tonikelope/megabasterd/CryptTools.java
Expand Up @@ -261,7 +261,7 @@ public static String decryptMegaDownloaderLink(String link) throws NoSuchAlgorit

byte[] decrypted_data = decrypter.doFinal(UrlBASE642Bin(findFirstRegex("mega://f?enc[0-9]*\\?([\\da-zA-Z_,-]*)", link, 1)));

dec_link = new String(decrypted_data).trim();
dec_link = new String(decrypted_data, "UTF-8").trim();

return "https://mega.nz/#" + (folder != null ? "f" : "") + dec_link;

Expand Down Expand Up @@ -323,7 +323,7 @@ public static HashSet<String> decryptELC(String link, MainPanel main_panel) {

byte[] url_bin = Arrays.copyOfRange(elc_byte, 4 + bin_links_length + 2, 4 + bin_links_length + 2 + url_bin_length);

if (!new String(url_bin).contains("http")) {
if (!new String(url_bin, "UTF-8").contains("http")) {

throw new Exception("BAD ELC HOST URL!");
}
Expand All @@ -332,15 +332,15 @@ public static HashSet<String> decryptELC(String link, MainPanel main_panel) {

byte[] pass_bin = Arrays.copyOfRange(elc_byte, 4 + bin_links_length + 2 + url_bin_length + 2, 4 + bin_links_length + 2 + url_bin_length + 2 + pass_bin_length);

URL url = new URL(new String(url_bin).trim());
URL url = new URL(new String(url_bin, "UTF-8").trim());

if (MainPanel.isUse_proxy()) {

con = (HttpURLConnection) url.openConnection(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(MainPanel.getProxy_host(), MainPanel.getProxy_port())));

if (MainPanel.getProxy_user() != null && !"".equals(MainPanel.getProxy_user())) {

con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes()));
con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes("UTF-8")));
}
} else {

Expand Down Expand Up @@ -389,9 +389,9 @@ public static HashSet<String> decryptELC(String link, MainPanel main_panel) {

dialog.dispose();

user = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(elc_account_data.get("user")), main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV));
user = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(elc_account_data.get("user")), main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8");

api_key = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(elc_account_data.get("apikey")), main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV));
api_key = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(elc_account_data.get("apikey")), main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8");

if (!remember_master_pass) {

Expand All @@ -407,9 +407,9 @@ public static HashSet<String> decryptELC(String link, MainPanel main_panel) {

} else {

user = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(elc_account_data.get("user")), main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV));
user = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(elc_account_data.get("user")), main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8");

api_key = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(elc_account_data.get("apikey")), main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV));
api_key = new String(CryptTools.aes_cbc_decrypt_pkcs7(BASE642Bin(elc_account_data.get("apikey")), main_panel.getMaster_pass(), CryptTools.AES_ZERO_IV), "UTF-8");

}

Expand All @@ -425,9 +425,9 @@ public static HashSet<String> decryptELC(String link, MainPanel main_panel) {
throw new Exception("NO valid ELC account available!");
}

String postdata = "OPERATION_TYPE=D&DATA=" + new String(pass_bin) + "&USER=" + user + "&APIKEY=" + api_key;
String postdata = "OPERATION_TYPE=D&DATA=" + new String(pass_bin, "UTF-8") + "&USER=" + user + "&APIKEY=" + api_key;

con.getOutputStream().write(postdata.getBytes());
con.getOutputStream().write(postdata.getBytes("UTF-8"));

con.getOutputStream().close();

Expand All @@ -444,7 +444,7 @@ public static HashSet<String> decryptELC(String link, MainPanel main_panel) {

ObjectMapper objectMapper = new ObjectMapper();

HashMap res_map = objectMapper.readValue(new String(out.toByteArray()), HashMap.class);
HashMap res_map = objectMapper.readValue(new String(out.toByteArray(), "UTF-8"), HashMap.class);

String dec_pass = (String) res_map.get("d");

Expand All @@ -464,15 +464,15 @@ public static HashSet<String> decryptELC(String link, MainPanel main_panel) {

byte[] bin_links_dec = CryptTools.aes_cbc_decrypt_nopadding(bin_links, key, iv);

String[] links_string = (new String(bin_links_dec).trim()).split("\\|");
String[] links_string = (new String(bin_links_dec, "UTF-8").trim()).split("\\|");

for (String s : links_string) {

links.add("https://mega.nz/" + s);
}

} else {
throw new Exception(url.getAuthority() + " ELC SERVER ERROR " + new String(out.toByteArray()));
throw new Exception(url.getAuthority() + " ELC SERVER ERROR " + new String(out.toByteArray(), "UTF-8"));
}

}
Expand Down Expand Up @@ -517,7 +517,7 @@ public static HashSet<String> decryptDLC(String data, MainPanel main_panel) {

if (MainPanel.getProxy_user() != null && !"".equals(MainPanel.getProxy_user())) {

con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes()));
con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes("UTF-8")));
}
} else {

Expand Down Expand Up @@ -550,7 +550,7 @@ public static HashSet<String> decryptDLC(String data, MainPanel main_panel) {

String postdata = "destType=jdtc6&b=JD&srcType=dlc&data=" + dlc_id + "&v=" + dlc_rev;

con.getOutputStream().write(postdata.getBytes());
con.getOutputStream().write(postdata.getBytes("UTF-8"));

con.getOutputStream().close();

Expand All @@ -563,20 +563,20 @@ public static HashSet<String> decryptDLC(String data, MainPanel main_panel) {

out.write(buffer, 0, reads);
}
enc_dlc_key = findFirstRegex("< *rc *>(.+?)< */ *rc *>", new String(out.toByteArray()), 1);
enc_dlc_key = findFirstRegex("< *rc *>(.+?)< */ *rc *>", new String(out.toByteArray(), "UTF-8"), 1);
}

String dec_dlc_key = new String(CryptTools.aes_ecb_decrypt_nopadding(BASE642Bin(enc_dlc_key), hex2bin(dlc_master_key))).trim();
String dec_dlc_key = new String(CryptTools.aes_ecb_decrypt_nopadding(BASE642Bin(enc_dlc_key), hex2bin(dlc_master_key)), "UTF-8").trim();

String dec_dlc_data = new String(CryptTools.aes_cbc_decrypt_nopadding(BASE642Bin(enc_dlc_data), BASE642Bin(dec_dlc_key), BASE642Bin(dec_dlc_key))).trim();
String dec_dlc_data = new String(CryptTools.aes_cbc_decrypt_nopadding(BASE642Bin(enc_dlc_data), BASE642Bin(dec_dlc_key), BASE642Bin(dec_dlc_key)), "UTF-8").trim();

String dec_dlc_data_file = findFirstRegex("< *file *>(.+?)< */ *file *>", new String(BASE642Bin(dec_dlc_data), "UTF-8"), 1);

ArrayList<String> urls = findAllRegex("< *url *>(.+?)< */ *url *>", dec_dlc_data_file, 1);

for (String s : urls) {

links.add(new String(BASE642Bin(s)));
links.add(new String(BASE642Bin(s), "UTF-8"));
}

} catch (Exception ex) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/tonikelope/megabasterd/Download.java
Expand Up @@ -1143,7 +1143,7 @@ public String getDownloadUrlForWorker() throws IOException {
download_url = _ma.getMegaFileDownloadUrl(_url);

} else {
download_url = MegaCrypterAPI.getMegaFileDownloadUrl(_url, _file_pass, _file_noexpire, _ma.getSid(), getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes()) + ":" + MiscTools.getMyPublicIP()) : null);
download_url = MegaCrypterAPI.getMegaFileDownloadUrl(_url, _file_pass, _file_noexpire, _ma.getSid(), getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes("UTF-8")) + ":" + MiscTools.getMyPublicIP()) : null);
}

if (checkMegaDownloadUrl(download_url)) {
Expand Down Expand Up @@ -1457,7 +1457,7 @@ public String[] getMegaFileMetadata(String link, MainPanelView panel, boolean re

} else {

file_info = MegaCrypterAPI.getMegaFileMetadata(link, panel, getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes())) : null);
file_info = MegaCrypterAPI.getMegaFileMetadata(link, panel, getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes("UTF-8"))) : null);
}

} catch (APIException ex) {
Expand Down Expand Up @@ -1552,7 +1552,7 @@ public String getMegaFileDownloadUrl(String link) throws IOException, Interrupte
dl_url = _ma.getMegaFileDownloadUrl(link);

} else {
dl_url = MegaCrypterAPI.getMegaFileDownloadUrl(link, _file_pass, _file_noexpire, _ma.getSid(), getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes()) + ":" + MiscTools.getMyPublicIP()) : null);
dl_url = MegaCrypterAPI.getMegaFileDownloadUrl(link, _file_pass, _file_noexpire, _ma.getSid(), getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes("UTF-8")) + ":" + MiscTools.getMyPublicIP()) : null);
}

} catch (APIException ex) {
Expand Down
Expand Up @@ -157,7 +157,7 @@ private String[] _getMegaFileMetadata(String link, MainPanelView panel) throws I

} else {

file_info = MegaCrypterAPI.getMegaFileMetadata(link, panel, getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes())) : null);
file_info = MegaCrypterAPI.getMegaFileMetadata(link, panel, getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes("UTF-8"))) : null);

}

Expand Down Expand Up @@ -203,7 +203,7 @@ public String getMegaFileDownloadUrl(String link, String pass_hash, String noexp
dl_url = ma.getMegaFileDownloadUrl(link);

} else {
dl_url = MegaCrypterAPI.getMegaFileDownloadUrl(link, pass_hash, noexpire_token, ma.getSid(), getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes()) + ":" + MiscTools.getMyPublicIP()) : null);
dl_url = MegaCrypterAPI.getMegaFileDownloadUrl(link, pass_hash, noexpire_token, ma.getSid(), getMain_panel().getMega_proxy_server() != null ? (getMain_panel().getMega_proxy_server().getPort() + ":" + Bin2BASE64(("megacrypter:" + getMain_panel().getMega_proxy_server().getPassword()).getBytes("UTF-8")) + ":" + MiscTools.getMyPublicIP()) : null);
}

} catch (APIException ex) {
Expand Down Expand Up @@ -276,7 +276,7 @@ public void handle(HttpExchange xchg) throws IOException {

String link;

String[] url_parts = new String(UrlBASE642Bin(url_path.substring(url_path.indexOf("/video/") + 7))).split("\\|");
String[] url_parts = new String(UrlBASE642Bin(url_path.substring(url_path.indexOf("/video/") + 7)), "UTF-8").split("\\|");

mega_account = url_parts[0];

Expand Down
Expand Up @@ -329,7 +329,7 @@ public void run() {
out.write(buffer, 0, reads);
}

String dlc = new String(out.toByteArray());
String dlc = new String(out.toByteArray(), "UTF-8");

Set<String> links = CryptTools.decryptDLC(dlc, ((MainPanelView) getParent()).getMain_panel());

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/tonikelope/megabasterd/MainPanel.java
Expand Up @@ -50,7 +50,7 @@
*/
public final class MainPanel {

public static final String VERSION = "6.32";
public static final String VERSION = "6.33";
public static final int THROTTLE_SLICE_SIZE = 16 * 1024;
public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024;
public static final int STREAMER_PORT = 1337;
Expand Down
18 changes: 9 additions & 9 deletions src/main/java/com/tonikelope/megabasterd/MegaAPI.java
Expand Up @@ -394,7 +394,7 @@ private String _rawRequest(String request, URL url_api) throws MegaAPIException

if (MainPanel.getProxy_user() != null && !"".equals(MainPanel.getProxy_user())) {

con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes()));
con.setRequestProperty("Proxy-Authorization", "Basic " + MiscTools.Bin2BASE64((MainPanel.getProxy_user() + ":" + MainPanel.getProxy_pass()).getBytes("UTF-8")));
}
} else {

Expand Down Expand Up @@ -450,7 +450,7 @@ private String _rawRequest(String request, URL url_api) throws MegaAPIException
byte_res.write(buffer, 0, reads);
}

response = new String(byte_res.toByteArray());
response = new String(byte_res.toByteArray(), "UTF-8");

if (response.length() > 0) {

Expand Down Expand Up @@ -593,15 +593,15 @@ public String[] getMegaFileMetadata(String link) throws MegaAPIException, Malfor

private byte[] _encAttr(String attr, byte[] key) {

byte[] attr_byte = ("MEGA" + attr).getBytes();
byte[] ret = null;

int l = (int) (16 * Math.ceil((double) attr_byte.length / 16));
try {

byte[] new_attr_byte = Arrays.copyOfRange(attr_byte, 0, l);
byte[] attr_byte = ("MEGA" + attr).getBytes("UTF-8");

byte[] ret = null;
int l = (int) (16 * Math.ceil((double) attr_byte.length / 16));

try {
byte[] new_attr_byte = Arrays.copyOfRange(attr_byte, 0, l);

ret = aes_cbc_encrypt_nopadding(new_attr_byte, key, AES_ZERO_IV);

Expand All @@ -622,7 +622,7 @@ private HashMap _decAttr(String encAttr, byte[] key) {

decrypted_at = aes_cbc_decrypt_nopadding(UrlBASE642Bin(encAttr), key, AES_ZERO_IV);

String att = new String(decrypted_at).replaceAll("\0+$", "").replaceAll("^MEGA", "");
String att = new String(decrypted_at, "UTF-8").replaceAll("\0+$", "").replaceAll("^MEGA", "");

ObjectMapper objectMapper = new ObjectMapper();

Expand Down Expand Up @@ -880,7 +880,7 @@ public String cryptoHandleauth(String h) {

try {

ch = Bin2UrlBASE64(encryptKey((h + h).getBytes(), i32a2bin(getMaster_key())));
ch = Bin2UrlBASE64(encryptKey((h + h).getBytes("UTF-8"), i32a2bin(getMaster_key())));

} catch (Exception ex) {
LOG.log(Level.SEVERE, null, ex);
Expand Down

0 comments on commit c082c65

Please sign in to comment.