CyChat.java

개발/삽질 2006/08/01 17:06

사이월드 채팅프로그램 분석
스샷입니당.

대화내용을 복사해서 위와같이 붙여넣으신후 실행버튼클릭
하면 다음과 같이 나옵니다.

아래는 소스코드입니다.

[CODE type="java"] import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import java.util.*;

public class CyChat extends JFrame implements ActionListener{
[tab]
[tab]JTextArea txt_input;
[tab]
[tab]JPanel jp = new JPanel();
[tab]
[tab]
[tab]
[tab]public void init(){

  [tab]
  [tab]txt_input = new JTextArea(30,50);
  [tab]jp.add(new JScrollPane(txt_input), BorderLayout.CENTER);
  [tab]setSize(800,600);
  [tab]
[tab]
  [tab]    [tab]
  [tab]//jp.add(txt_input);
  [tab]
  [tab]
  [tab]JButton cmd_ok = new JButton("실행");
  [tab]jp.add(cmd_ok,BorderLayout.EAST);
  [tab]
  [tab]cmd_ok.addActionListener(this);
  [tab]add(jp);
  [tab]
 
  [tab]
  [tab]
[tab]}
[tab]public void paint(Graphics g){
[tab][tab]super.paint(g);
[tab][tab]
[tab]}
[tab]

[tab]public void actionPerformed(ActionEvent e) {

[tab][tab]String res;
[tab][tab]res = txt_input.getText();
[tab][tab]
[tab][tab]txt_input.setText( parse(res));
[tab][tab]repaint();
[tab][tab]
[tab][tab]
[tab]}

[tab]public CyChat(){

[tab][tab]super("hi");
[tab][tab]init();
[tab][tab]setSize(640,640);
[tab][tab]setVisible(true);
[tab][tab]
[tab]}
[tab]

[tab]public String parse(String text){
[tab][tab]StringBuffer buf = new StringBuffer();

[tab][tab]//text = text.replaceAll("%u","0x%");
[tab][tab]text = text.replaceAll("%20"," ");
[tab][tab]String arText[] = text.split("\n");
[tab][tab]String tmp;
[tab][tab]
[tab][tab]
[tab]
[tab][tab]StringTokenizer token = new StringTokenizer(text,"%");
[tab][tab]tmp ="";
[tab][tab]while(token.hasMoreTokens()){
[tab][tab][tab]try{
[tab][tab][tab][tab]tmp = token.nextToken();
[tab][tab][tab][tab]
[tab][tab][tab][tab][tab]
[tab][tab][tab][tab][tab]int intval = 0;
[tab][tab][tab][tab][tab]char charval;
[tab][tab][tab][tab][tab]
[tab][tab][tab][tab][tab]intval = Integer.parseInt(tmp.substring(1).trim(),16);
[tab][tab][tab][tab][tab]charval = (char)intval;
[tab][tab][tab][tab][tab]buf.append(charval );

[tab][tab][tab]}
[tab][tab][tab]catch (NumberFormatException e) {
[tab][tab][tab][tab]buf.append(tmp);

[tab][tab][tab]}
[tab][tab]}
[tab][tab]buf.append("\n");
[tab][tab]
[tab]
[tab][tab]
[tab][tab]return buf.toString();
[tab]}
[tab]
  public static void main(String args[]){
[tab][tab]CyChat  cy = new CyChat();
  [tab]
[tab]
[tab][tab]
[tab][tab]cy.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
[tab][tab]
[tab]}

}
[/HTML][/CODE]
밑에 포스트에서 삽질한 결과물입니다-_-a
악용하지마세요
이 프로그램을 사용해서 일어나는 일에 대해서는 책임지지 않습니다.

2006/08/01 17:06 2006/08/01 17:06

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다