CyChat.java

개발/삽질 2006. 8. 1. 17:06
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

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

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

아래는 소스코드입니다.

[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
악용하지마세요
이 프로그램을 사용해서 일어나는 일에 대해서는 책임지지 않습니다.

'개발 > 삽질' 카테고리의 다른 글

vmware에 osx를 설치해 보다  (3) 2007.04.25
cychat IRC로 접속하기  (0) 2006.08.01
-ㅁ- 블로그 설정완료  (0) 2006.07.05
SIC OPTABLE  (0) 2006.04.21
SIC IR List (working...)  (0) 2006.03.14

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
싸이월드 클럽채팅중 IE Sataus Bar에 표시되는 내용이
'애플릿 irc started'라고 나오는것을 보고
'혹시 싸이채팅도 IRC를 사용하는건가???'라는 의문을 가지고 있었는데,
IRC Client로 접속을 해보기로 하고 삽질을 시작했다

-_-;;
일단 패킷을 캡쳐해보았다(Ethereal)

NICK 'm011가현
USER 15000981176 15000981176 15000981176 15000981176
:?? Y   Y    ?? ?? E  Ki? t?? )?芷X?a ??튡?  :cychat 800 * 0 0 NTLM,ANON 512 *
:?0? 6   6    ?? ??? E  (t? €??芷? )?X뱫@튏a ?鼈]  :?#2
?  ?   ?? ?? E 홬? t珥? )?芷X?a ??튡쬸   :cychat 800 * 1 0 NTLM,ANON 512 *
:cychat 001 'm011가현 :Welcome to the Microsoft Exchange Chat Service server 'm011가현
:cychat 002 'm011가현 :Your host is cychat, running version 5.5.2650
:cychat 003 'm011가현 :This server was created Jul 20 1999 at 07:26:59 PDT
:cychat 004 'm011가현 cychat 5.5.2650 aioxz abcdefhiklmnoprstuvxyz
:cychat 251 'm011가현 :There are 33 users and 0 invisible on 1 servers
:cychat 254 'm011가현 6 :channels formed
:cychat 255 'm011가현 :I have 33 clients and 0 servers
:cychat 265 'm011가현 :Current local users: 33 Max: 103
:cychat 266 'm011가현 :Current global users: 33 Max: 103
:cychat 422 'm011가현 :MOTD File is missing

irc 서버인것을 확인했다
더 분석을 해서 서버ip와 포트번호를 찾아냈다
접속한모습

대화방에 입장까지는 성공을 하였으나
보내지는건 잘 보내지는듯하나,
위와같이 대화내용이 깨져나오므로 -_-;;정상적인 대화가 불가능했다
------------------------------------------
몇시간동안 삽질끝에 저 대화내용을 분석하는 프로그램을 만들어서
다른 채널 사람들과 대화를 몇마디 나눠 본결과
그쪽 채널 사람들도 그닥 달가워하는것 같지 않더군요

뭐 암튼-_-
뭐든지 과하면 좋을게 없으니
악용하지 맙시다

'개발 > 삽질' 카테고리의 다른 글

vmware에 osx를 설치해 보다  (3) 2007.04.25
CyChat.java  (0) 2006.08.01
-ㅁ- 블로그 설정완료  (0) 2006.07.05
SIC OPTABLE  (0) 2006.04.21
SIC IR List (working...)  (0) 2006.03.14

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
They're Taking The Hobbits To Isengard


원본은
유튜브 동영상이었는데 -_-
짤렸나보다 -_-a

'재미' 카테고리의 다른 글

강원도로 이사간 부산사람의 일기  (0) 2006.12.03
[펌] Hello World 프로그램의 적용?  (1) 2006.10.11
Why?  (0) 2006.07.05
지름신 퇴치 부적  (1) 2006.07.05
지름신 플로우 차트  (1) 2006.07.05

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[CODE type="java"]

public static void main(String args[]){

[tab]for(int i='ㄱ';i<='ㅎ';i++)
[tab]{
[tab][tab]System.out.print( (char)i);
[tab]}
}

[/HTML][/CODE]
위 코드의 실행 결과는?

무척이나 황당스러운 코드이겠지만
실행이 되는걸 목격했다-_-;

ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ

어쩌면 이와 비슷한 코드를 이따금씩 사용했을런지도 모른다
[CODE type="c"]
int i;
for(i='A';i<='Z';i++)
[tab]printf("%c",i);
}
[/HTML][/CODE]

자바에서 저렇게 한글로 써도 에러없이 실행이 되다니 ····
아마도 내부적으로 유니코드를 사용하기 때문이 아닐까 생각해본다.

'개발 > Java' 카테고리의 다른 글

javadoc  (0) 2006.08.03
수퍼클래스, 상속클래스 동시에 사용해보기  (0) 2006.08.03
conf reader  (0) 2006.07.19
디렉토리 만들기  (1) 2006.07.18
한글 자모음 분리하기  (1) 2006.07.12

conf reader

개발/Java 2006. 7. 19. 13:54
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
[CODE type="java"]
if(data.canRead()){
[tab]try {
[tab][tab]
[tab][tab]String line;
[tab][tab]String item, value;
[tab][tab]Scanner sc = new Scanner(data);
[tab][tab]
[tab][tab]int idx;
[tab][tab]
[tab][tab]while(sc.hasNextLine()){
[tab][tab][tab]line = sc.nextLine();
[tab][tab][tab]if(line.trim().startsWith("#"))
[tab][tab][tab][tab]continue;
[tab][tab][tab]idx = line.indexOf('=');
[tab][tab][tab][tab][tab][tab][tab][tab][tab]
[tab][tab][tab]item = line.substring(0,idx).trim();
[tab][tab][tab]value = line.substring(idx+1).trim();
[tab][tab][tab]
[tab][tab]}
[tab][tab]
[tab][tab]
[tab]} catch (FileNotFoundException e) {
[tab][tab]
[tab][tab]e.printStackTrace();
[tab]}
[tab]
}
}[/HTML][/CODE]

'개발 > Java' 카테고리의 다른 글

수퍼클래스, 상속클래스 동시에 사용해보기  (0) 2006.08.03
자바, 한글 그리고 유니코드  (0) 2006.07.19
디렉토리 만들기  (1) 2006.07.18
한글 자모음 분리하기  (1) 2006.07.12
jdbc programming  (0) 2006.07.06

디렉토리 만들기

개발/Java 2006. 7. 18. 20:46
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

java에서 디렉토리(폴더)를 만들때는 어떻게 하면 될까...

이 소스를 보고 있자니 c에서는 어떻게 처리를 해 주는지 궁금해졌다
dos(Windows), Xnix 에서의 표현방법의 차이에따라

두가지 방식이 다 되는지 테스트를 해 보았다
dos(windows) 식으로 쓸려면 \가 포함이 되어야 하는데
" " 안에서 써야되므로 \\ 와 같이 두번 써주어야 한다

[CODE type="java"]
import java.io.File;

public class orz {
[tab]


[tab]public static void main(String args[]){

[tab][tab]File Dos = new File("d\\dos\\foo\\bar");
[tab][tab]File Xnix = new File("d/xnix/foo/bar");
[tab][tab]
[tab][tab]Dos.mkdirs();
[tab][tab]Xnix.mkdirs();
[tab][tab][tab][tab]
[tab]}
}
[/HTML][/CODE]

위 코드 수행 결과, 해당하는 디렉토리가 생성 되었다.
개인적인 견해로는 \\를 두번쓰는 dos  형식보다
/ 한번 쓰는 xnix 형식이 코더 입장에서 볼때 편해 보인다

'개발 > Java' 카테고리의 다른 글

자바, 한글 그리고 유니코드  (0) 2006.07.19
conf reader  (0) 2006.07.19
한글 자모음 분리하기  (1) 2006.07.12
jdbc programming  (0) 2006.07.06
Java: OS 알아내기  (1) 2006.07.06

rainbow

사진 2006. 7. 15. 00:34
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
유난히도 더웠던 오늘-_-

한차례 소나기가 내리고
무심결에 밖에 나와봤다

내 눈앞에는 정말 정말 오래간만에 보는
풍경이 눈앞에 펼쳐져 있었다!!

당장 디카를 들고나왔다 -

'사진' 카테고리의 다른 글

2009.07.22 일식  (2) 2009.07.22
보름달(2009년 정월 대보름)  (0) 2009.02.09
디카 구입  (2) 2009.02.04
정월 대보름  (2) 2008.02.21
2007 전주 빛 축제  (2) 2007.02.04

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
웹 검색을 해도 그렇다할 해결책이 없어서
이곳에 흔적을 남긴다

필자도 이 현상으로 한참을 삽질한 기억이 있다

싸이월드
http://user.sempee.com/~kfmes/imgpds/iecharset000.png
뭔가 페이지는 읽는거 같고, 완료라고 뜨기는 하는데 하얀 화면만 나타난다

http://user.sempee.com/~kfmes/imgpds/iecharset001.png
인터파크의 경우도 마찬가지다

해결방법은 의외로 간단(?)하다

http://user.sempee.com/~kfmes/imgpds/iecharset002.png
마우스 오른클릭후 인코딩 -> 한국어 를 선택해주면 잘 보인다


336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
<dasomoli> /usr/lib/jvm/java-1.5.0-sun/jre/lib/fontconfig.properties 파일을 수정했어요
<dasomoli> 정확히는 /etc/java-1.5.0-sun/fontconfig.properties 로 링크되어 있어서 저파일을 수정했어요
<멋진컴맹_가임> 아항.
<멋진컴맹_가임> 맞는듯
<dasomoli> filename.-misc-baekmuk_batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1= 항목의 글꼴 경로를 수정
* stania has quit (Read error: Connection reset by peer)
<dasomoli> filename.-misc-baekmuk_gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1 도요
* dise (~a@dise.users.HanIRC.org) 님께서 대화방 #ubuntu에 참여하셨습니다.
<멋진컴맹_가임> 홍홍홍


IRC #ubuntu 의
dasomoli님, 멋진컴맹님 정보 제공 감사합니다

http://doc.dnip.net/wiki/wiki.php/Java%ED%95%9C%EA%B8%80%EA%B9%A8%EC%A7%90%ED%98%84%EC%83%81

'리눅스' 카테고리의 다른 글

ubuntu CD 도착!!!  (3) 2006.08.27
리눅스에 IE깔기  (1) 2006.08.08
우분투 제한된 코덱  (0) 2006.07.12
/usr /etc ?  (0) 2006.04.24
cp949 -> utf-8  (0) 2006.04.20

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

'리눅스' 카테고리의 다른 글

리눅스에 IE깔기  (1) 2006.08.08
java 에서 한글이 깨져나올때  (0) 2006.07.13
/usr /etc ?  (0) 2006.04.24
cp949 -> utf-8  (0) 2006.04.20
NABI setting  (0) 2006.03.22