Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Με την ευκαιρία της συζήτησης περι c# σκέφτηκα το εξής...

 

Κάποια στιγμή στο παρελθόν είχα ξεκινήσει να γράφω σε C# ένα ζευγάρι από προγραμματάκια τα οποία αποτελούν μαζί ένα remote access tool (RAT) -- τον server (Head) και τον client (Tail). Η ιδέα είναι πως ο client τρέχει σε ένα μηχάνημα, συνδέεται στον server και απο κει και μετά μπορείς να κάνεις διάφορα remotely. Το πρόγραμμα προοριζόταν για χρήση από κάποιους συνεργάτες που έκαναν pentesting καθώς ήθελαν κάτι καινούριο και άρα άγνωστο στα γνωστά security suites που τρέχουν σε desktop PCs.

 

Αυτή η προσπάθεια για λόγους που δεν έχουν σημασία έμεινε στη μέση, κι έτσι έχω εδώ και καιρό τον κώδικα να κάθεται και να μαζεύει σκόνη. Θέλω λοιπόν να ρωτήσω το εξής:

 

Υπάρχει κόσμος που ξέρει από C# και ενδιαφέρεται να "παίξει" με ένα πρόγραμμα σαν κι αυτό, συμμετέχοντας σε ένα ας πούμε "ομαδικό παίζω και μαθαίνω";

 

Ρωτάω γιατί θα χρειαστεί κάποια δουλειά "καθαρίσματος" των sources πριν μπορέσει να μπει το project στο GitHub, πράγμα που δεν σκοπεύω να κάνω αν είναι να συνεχίσει να μαζεύει σκόνη γιατί απλά δεν υπάρχει χρόνος για τέτοιες άσκοπες κινήσεις.

 

Κάποιες λεπτομέρειες:

  • One server, multiple clients
  • Server: .ΝΕΤ 4, UI σε WPF με MVVM και χρήση του Prism
  • Client: .NET 2, UI δεν χρειάζεται αλλά για τις ανάγκες του development ο,τι χρειαστεί θα είναι αρπα κόλα Windows Forms
  • Η επικοινωνία γίνεται με SSL over TCP, ένα connection per client και τα πάντα γίνονται multiplex μέσα σ' αυτό
  • Το πρόγραμμα μπορεί να ξεκινήσει και να τερματίσει processes στον client καθώς και να του δώσει κάποιες βασικές εντολές
  • Σταμάτησα να γράφω κώδικα περίπου στα μισά του file transfer functionality
  • Υπάρχουν πάρα μα πάρα πολλά πράγματα που μπορούν να γίνουν και να βελτιωθούν
  • Το motto της πρωτοβουλίας είναι "learn something useful; build something interesting; have fun doing it"

Screenshots:

 

post-220054-0-00956000-1353176758_thumb.png

 

post-220054-0-81355700-1353176771_thumb.png

 

Πώς ακούγεται η ιδέα;

 

Παρακαλώ μόνο σοβαρές προτάσεις. :P

  • Like 2
Δημοσ.

Οκ, μου περασε. Δωσε github

 

Ψηνομαι ασχημα να βασανισω τον εαυτο μου με το να φτιαξω ενα virtual desktop. Συχαινομαι το cmd

Δημοσ.

Οκ, μου περασε. Δωσε github

 

Εμ αυτό λέω... το να μπει στο github θέλει κάποια δουλειά την οποία κανονικά θα κάνω "όταν υπάρχει χρόνος" (δηλαδή ποτέ). Το έχουμε; Μην την κάνω τζάμπα.

Δημοσ.

Πολύ θα ήθελα.

Δυστυχώς (για πάρα μα πάρα πολλούς λόγους δυστυχώς) σε < 2 μήνες μπαίνω φαντάρος!

 

Εύχομαι να μαζευτείτε πάντως και όταν βγω να βρω κάτι!

Δημοσ.

Και εμένα θα με ενδιέφερε κάτι τέτοιο αν θέλετε.

Σήμερα το απόγευμα σκευτόμουν κάτι παρόποιο (πιο απλό βέβαια) με χρήση του PcapDotNet.

Δημοσ.

Ωραίος. Μπράβο φαίνεται πολύ καλό. Καλή συνέχεια σε όσους συμμετάσχουν και βάλετε το link του github όταν το ανεβάσετε να το παρακολουθούμε :)

Δημοσ.

Τι εγινε; Το μετανιωσες;

Παντως εγω ηδη σκαλωσα. Τι θελω να κανω; Να παρω το desktop! Τι σκεφτικα; Με το pid θα παρω το main hwnd, επειτα με διαφορα καλουδια που εχει το winapi θα παρω ολα τις πληροφοριες που θελω.

Εκανα το τεστ μου και να

 

><?xml version="1.0"?>
<XWindow xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Title="Calculator" Pid="2784" HWnd="928">
 <Rect Left="550" Top="414" Right="973" Bottom="836" />
 <Controls>
   <XControl ControlTypeName="CalcFrame" HWnd="132048" Text="">
     <Rect Left="550" Top="414" Right="973" Bottom="836" />
     <Controls>
       <XControl ControlTypeName="Static" HWnd="655974" Text="">
         <Rect Left="558" Top="464" Right="965" Bottom="828" />
         <Controls />
       </XControl>
       <XControl ControlTypeName="#32770" HWnd="328072" Text="">
         <Rect Left="558" Top="464" Right="965" Bottom="828" />
         <Controls>
           <XControl ControlTypeName="ListBox" HWnd="132024" Text="">
             <Rect Left="569" Top="474" Right="954" Bottom="574" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328080" Text="">
             <Rect Left="569" Top="474" Right="954" Bottom="574" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="262846" Text="">
             <Rect Left="569" Top="474" Right="954" Bottom="574" />
             <Controls />
           </XControl>
         </Controls>
       </XControl>
       <XControl ControlTypeName="#32770" HWnd="132034" Text="">
         <Rect Left="558" Top="464" Right="965" Bottom="828" />
         <Controls>
           <XControl ControlTypeName="Static" HWnd="132032" Text="">
             <Rect Left="569" Top="574" Right="954" Bottom="624" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Static" HWnd="263080" Text="">
             <Rect Left="569" Top="574" Right="954" Bottom="624" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Static" HWnd="197546" Text="0">
             <Rect Left="569" Top="574" Right="954" Bottom="624" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Static" HWnd="393602" Text="">
             <Rect Left="569" Top="574" Right="954" Bottom="624" />
             <Controls />
           </XControl>
         </Controls>
       </XControl>
       <XControl ControlTypeName="#32770" HWnd="394142" Text="">
         <Rect Left="558" Top="464" Right="965" Bottom="828" />
         <Controls>
           <XControl ControlTypeName="Button" HWnd="328612" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="655988" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="394150" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328608" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328610" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="1573804" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197442" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197444" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197446" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197448" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197450" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="263028" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="263026" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="263046" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="263048" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="132016" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="132018" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="1573708" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197454" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197456" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197458" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197462" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197468" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197478" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197470" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197482" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197484" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="394116" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Static" HWnd="263056" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197488" Text="Degrees">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="263052" Text="Radians">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="263042" Text="Grads">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Static" HWnd="459188" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="262850" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="262842" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328290" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328370" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="132020" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="132022" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="1573728" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197474" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="197476" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="721304" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="394102" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="263032" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328558" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="393926" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328596" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328576" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328574" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="394030" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328076" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328078" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="262844" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="328368" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="262840" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
           <XControl ControlTypeName="Button" HWnd="459092" Text="">
             <Rect Left="569" Top="629" Right="954" Bottom="820" />
             <Controls />
           </XControl>
         </Controls>
       </XControl>
       <XControl ControlTypeName="#32770" HWnd="132030" Text="">
         <Rect Left="558" Top="464" Right="965" Bottom="828" />
         <Controls />
       </XControl>
     </Controls>
   </XControl>
 </Controls>
</XWindow>

 

Εκει που λεω, "μπα ευκολο ηταν" βλεπω στο xml αυτο το CalcFrame ??? Τι ειναι αυτο (ρωταω ως σερβερ) ???? Αποτυχια...

 

αρα, πως θα παρω το desktop;

Screenshots? δηλαδη video 1 fps? Με fullhd η jpg ειναι 260kb Δηλαδη θελει καμια 3Mbps συνδεση κατι τετοιο δεν υπαρχει αφου η μεγαλυτερη ειναι 1mbps..

Να κανω την αναλυση 800χ600; θα πρεπει να πεταξω τον χρηστη...

 

Για πειτε τιποτα, ασχετα με το τι θα κανει ο def, εγω τωρα σκαλωσα και θελω fullhd desktop. τελος.

Δημοσ.

Θα πρέπει να μεταφέρεις μόνο τα σημεία εκείνα που έχουν τροποποιηθεί από το τελευταίο capture ώστε να μειώσεις το μέγεθος των μεταφερόμενων πληροφοριών.

 

Εδώ μπορείς να βρεις ένα παρόμοιο ερώτημα το οποίο όμως παρέχει και αρκετές τεχνικές λεπτομέρειες (ή έστω ιδέες) επί του θέματος.

Δημοσ.
Τι εγινε; Το μετανιωσες;

 

Όχι, απλά περιμένω να δω αν θα υπάρξουν άλλες απαντήσεις και το σκέφτομαι. Μάλλον θα το κάνω αλλά no promises.

 

Παντως εγω ηδη σκαλωσα. Τι θελω να κανω; Να παρω το desktop! Τι σκεφτικα; Με το pid θα παρω το main hwnd, επειτα με διαφορα καλουδια που εχει το winapi θα παρω ολα τις πληροφοριες που θελω.

Εκανα το τεστ μου και να

 

Όπως λέει κι o Directx αλλά κι εκείνη η ερώτηση στο SO, τα πράγματα είναι ζόρικα αν θέλεις κάτι τόσο καλό και σίγουρα θα πρέπει η υλοποίηση να δανειστεί τεχνικές από high performance video codecs (H.264 και τα γνωστά). Δηλαδή να έχεις πρωτόκολλο που να καταλαβαίνει γραμμικούς μετασχηματισμούς από το ένα frame στο επόμενο και να στέλνει κάποιου είδους περιγραφή αυτών αντί για όλα τα δεδομένα κάθε φορά (αν δεν κάνω λάθος στο H.264 αυτό υλοποιείται μέσω των macroblocks). Μετά να στέλνεις diffs ακόμα κι όταν δε μπορείς να βρεις μετασχηματισμούς, αλλά μία στις τόσες να στέλνεις και full data για να μη συσσωρεύεται για πολλή ώρα κάποιο σφάλμα (ανάλογα με την κατάσταση με iframes και pframes).

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...