Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Komplikacja pliku Java


Gość

Rekomendowane odpowiedzi

Opublikowano

Witam!

Dzisiaj zacząłem edycję launchera do Minecrafta by AnjoCaido. Po dekompilacji zacząłem edytować kod zródłowy. Przy kompilacji w CMD komendą: "javac LoginForm.java" wyskakują mi te błędy:

74213107075292442019.png

A oto kod:

 

package net.minecraft;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.image.BufferedImage;
import java.awt.image.VolatileImage;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;
import javax.crypto.Cipher;
import javax.crypto.CipherInputStream;
import javax.crypto.CipherOutputStream;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
import javax.imageio.ImageIO;






public class LoginForm
extends Panel
{
private static final long serialVersionUID = 1L;
private Image bgImage;
private TextField userName = new TextField(20);
private Button launchButton = new Button("Włącz grę");
private Label errorLabel = new Label("", 1);
private Label creditsVersion = new Label("Version 1.4.4.6");
private LauncherFrame launcherFrame;
private boolean outdated = false;
private VolatileImage img;

public LoginForm(LauncherFrame launcherFrame) {
this.launcherFrame = launcherFrame;

GridBagLayout gbl = new GridBagLayout();
setLayout(gbl);

add(buildLoginPanel());
try {
this.bgImage = ImageIO.read(LoginForm.class.getResource("bedrock.png")).getScaledInstance(32, 32, 16);
} catch (IOException e) {
e.printStackTrace();
}

readUsername();
this.launchButton.addActionListener(new LoginForm.1(this));
}







private void readUsername()
{
try
{
File lastLogin = new File(MinecraftUtil.getWorkingDirectory(), "lastlogin");

Cipher cipher = getCipher(2, "passwordfile");
DataInputStream dis;
DataInputStream dis; if (cipher != null) {
dis = new DataInputStream(new CipherInputStream(new FileInputStream(lastLogin), cipher));
} else {
dis = new DataInputStream(new FileInputStream(lastLogin));
}
this.userName.setText(dis.readUTF());
dis.close();
} catch (Exception e) {
e.printStackTrace();
}
}

private void writeUsername() {
try {
File lastLogin = new File(MinecraftUtil.getWorkingDirectory(), "lastlogin");

Cipher cipher = getCipher(1, "passwordfile");
DataOutputStream dos;
DataOutputStream dos; if (cipher != null) {
dos = new DataOutputStream(new CipherOutputStream(new FileOutputStream(lastLogin), cipher));
} else {
dos = new DataOutputStream(new FileOutputStream(lastLogin));
}
dos.writeUTF(this.userName.getText());
dos.writeUTF("");
dos.close();
} catch (Exception e) {
e.printStackTrace();
}
}

private Cipher getCipher(int mode, String password) throws Exception {
Random random = new Random(43287234L);
byte[] salt = new byte[8];
random.nextBytes(salt);
PBEParameterSpec pbeParamSpec = new PBEParameterSpec(salt, 5);

SecretKey pbeKey = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(new PBEKeySpec(password.toCharArray()));
Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
cipher.init(mode, pbeKey, pbeParamSpec);
return cipher;
}

public void update(Graphics g)
{
paint(g);
}

public void paint(Graphics g2)
{
int w = getWidth() / 2;
int h = getHeight() / 2;
if ((this.img == null) || (this.img.getWidth() != w) || (this.img.getHeight() != h)) {
this.img = createVolatileImage(w, h);
}

Graphics g = this.img.getGraphics();
for (int x = 0; x <= w / 32; x++) {
for (int y = 0; y <= h / 32; y++) {
g.drawImage(this.bgImage, x * 32, y * 32, null);
}
}
g.setColor(Color.LIGHT_GRAY);

String msg = "Minecraft Launcher";
g.setFont(new Font(null, 1, 20));
FontMetrics fm = g.getFontMetrics();
g.drawString(msg, w / 2 - fm.stringWidth(msg) / 2, h / 2 - fm.getHeight() * 2);

g.dispose();
g2.drawImage(this.img, 0, 0, w * 2, h * 2, null);
}

private Panel buildLoginPanel() {
Panel panel = new LoginForm.2(this);



























panel.setBackground(Color.GRAY);
BorderLayout layout = new BorderLayout();
layout.setHgap(0);
layout.setVgap(8);
panel.setLayout(layout);

GridLayout gl1 = new GridLayout(0, 1);
GridLayout gl2 = new GridLayout(0, 1);
gl1.setVgap(2);
gl2.setVgap(2);
Panel titles = new Panel(gl1);
Panel values = new Panel(gl2);

titles.add(new Label("Username:", 2));
titles.add(new Label("", 2));
values.add(this.userName);
values.add(this.forceUpdateBox);

panel.add(titles, "West");
panel.add(values, "Center");

Panel loginPanel = new Panel(new BorderLayout());

Panel registerPanel = new Panel(new BorderLayout());
try {
if (this.outdated) {
Label accountLink = new LoginForm.3(this, "You need to update the launcher!");































accountLink.setCursor(Cursor.getPredefinedCursor(12));
accountLink.addMouseListener(new LoginForm.4(this));










accountLink.setForeground(Color.BLUE);
registerPanel.add(accountLink, "West");
registerPanel.add(new Panel(), "Center");
} else {
Label accountLink = new LoginForm.5 this, "Need account?";































accountLink.setCursor(Cursor.getPredefinedCursor(12));
accountLink.addMouseListener(new LoginForm.6(this));










accountLink.setForeground(Color.BLUE);
registerPanel.add(this.creditsVersion, "West");
registerPanel.add(new Panel(), "Center");
}
}
catch (Error localError) {}
loginPanel.add(registerPanel, "Center");
loginPanel.add(this.launchButton, "East");
Panel anjoPanel = new Panel();
this.openManager.addActionListener(new LoginForm.7(this));





anjoPanel.add(this.openManager);
loginPanel.add(anjoPanel, "South");
panel.add(loginPanel, "South");

this.errorLabel.setFont(new Font(null, 2, 16));
this.errorLabel.setForeground(new Color(8388608));
panel.add(this.errorLabel, "North");

return panel;
}

public void setError(String errorMessage) {
removeAll();
add(buildLoginPanel());
this.errorLabel.setText(errorMessage);
validate();
}

public void loginOk() {
writeUsername();
}
}

Prosiłbym o pomoc.

Opublikowano

Przeraziłem się jak zobaczyłem tytuł tematu :F

Przeanalizuj jeszcze raz kod, bo jak mniemam przed tym zanim edytowałeś wszystko działało jak trzeba. Zresztą konsola Cię informuje, że brakuje średników i nawiasów.

Opublikowano

Zaraz wstawię kod to może ktoś zedytuje dla mnie:)



Kod wstawiony. Prosiłbym o przerobienie kodu:(

Opublikowano

Komplikujesz sprawę.

Poraz n-ty będę mówił aby takich pierdół nie pisać tylko się chodziarz PODSTAW nauczyć.

I używaj ide -,-

Opublikowano

povskill po co się wypowiadasz, jak pomóc nie chcesz?

Opublikowano

povskill po co się wypowiadasz, jak pomóc nie chcesz?

 

lol -,- bo i tak za parę dni znowu przyjdziesz z następnym problemem.

 

 

A tak B T W

To skoro dekompilujesz program i nie jest on obfuskowany to dam sobie rękę uciąć że jest open source -,-

Opublikowano

Debilu czytac nie umiesz, nawiasow zapomniales kurwa idz sie uczyc a nie, placzesz ze nie ogarniasz i chcesz zeby inni odpierdalali za ciebie robote.

Opublikowano

Na błędach się uczę XKakashix. Myślisz, że masz tą rangę Debiutant to taki PRO jesteś? Śmieszny jesteś. Ja po prostu na takich debili tracę czas. IBBT masz like.

Opublikowano

Taka kurwa prawda, przychodzisz na forum i placzesz ze nie potrafisz, a kurwa jest napisane czarne na bialym, ale taki debil jak ty oczywiscie nie zauwarzy. Zapierdalaj do nauki gnoju kuwra a nie placzesz zeby ktos inny za ciebie robil i gotowy kod dal

Opublikowano

nie rób z siebie większego idioty, nie brakuje tam nic i było o tym napisane wcześniej :)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...