Posted by: thedarshan | Aprile 4, 2008

Eliminare il virus Bagle (che molti chiamano Beagle)

Due settimane fa dicevo a un mio amico che ormai bisogna essere idioti per beccarsi un virus anche usando un antivirus idiota come AntiVir lui mi ha risposto “ne riparliamo quando prendi il beagle”.E in effetti ho cambiato idea quando ,qualche giorno dopo, mi sono beccato il virus avviando un file che avevo scannato con l’antivirus sopracitato…
Il virus era il Bagle ma sono sicuro che anche il suo fosse il Bagle perchè il Beagle è vecchio di anni.

Ci ho messo abbastanza per togliere il virus e mi riprometto di infettare una macchina virtuale per studiarne bene il funzionamento (me ne sono tenuto una copia).

Ma adesso vediamo come si toglie:

  • Disattivate il Ripristino configurazione di Sistema
  • Aggiungete SafeBoot al registro di sistema per ripristinare la modalità provvisoria (semplicemente cliccando sopra il file .reg per la versione di windows che si sta usando)
  • Avviate elibagla
  • Riavviate in provvisoria e avviate elibagla
  • Cercate e cancellate i seguenti files
    amd_dc_opt.exe
    rhtdcpl.exe
  • Fatevi un giro nel registro di sistema e controllate se ci sono processi strani all’avvio
    se ce ne sono cancellateli (i files e le chiavi ovviamente) se siete nel dubbio rinominate i files e in caso di problemi li rimettete a posto.
  • Avviate Avenger ,incollateci questo script e riavviate in provvisoria
    Files to delete:
    %UserProfile%\DATI APPLICAZIONI\M\LIST.OCT
    %SystemDrive%\WINDOWS\SYSTEM32\BAN_LIST.TXT
    %SystemDrive%\WINDOWS\system32\drivers\hidr.exe
    %SystemDrive%\WINDOWS\system32\drivers\srosa.sys
    %SystemDrive%\WINDOWS\system32\wintems.exe
    %SystemDrive%\WINDOWS\system32\hldrrr.exe
    %SystemDrive%\WINDOWS\system32\trusted.exe
    %SystemDrive%\WINDOWS\system32\drivers\pci32.sys
    %UserProfile%\Dati applicazioni\hidires\hidr.exe
    %UserProfile%\Dati applicazioni\hidires\rosa.sys
    %UserProfile%\Dati applicazioni\m\data.oct
    %UserProfile%\Dati applicazioni\m\flec006.exe
    %UserProfile%\Dati applicazioni\hidires\m_hook.sys
    %SystemDrive%\WINDOWS\system32\drivers\hldrrr.exe
    %SystemDrive%\WINDOWS\system32\drivers\hldrrr.ex_
    %SystemDrive%\WINDOWS\system32\mdelk.exe
    %SystemDrive%\WINDOWS\system32\drivers\pci32.sys
    %SystemDrive%\WINDOWS\SYSTEM32\EDLM.EXE
    %SystemDrive%\WINDOWS\SYSTEM32\EDLM2.EXE
    %SystemDrive%\Windows\system32\LDR64.DLL
    %SystemDrive%\WINDOWS\system32\german.exe
    C:\WINDOWS\system32\drivers\srosa.sys.XXX
    C:\WINDOWS\system32\mdelk.exe.XXX
    C:\WINDOWS\system32\wintems.exe.XXXfolders to delete:
    %SystemDrive%\WINDOWS\exefnd
    %SystemDrive%\WINDOWS\exefld
    %UserProfile%\Dati applicazioni\hidires
    %SystemDrive%\WINDOWS\System32\drivers\down\registry keys to delete:
    HKLM\SYSTEM\CurrentControlSet\Services\srosa
    HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_SROSA
    HKLM\SYSTEM\CurrentControlSet\Services\pci32
    HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_PCI32
    HKLM\SYSTEM\CurrentControlSet\Services\rosa
    HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_rosa
    HKLM\SYSTEM\CurrentControlSet\Services\m_hook
    HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_M_HOOK
    HKLM\SYSTEM\ControlSet003\Enum\Root\LEGACY_SROSA
    HKLM\SYSTEM\ControlSet002\Enum\Root\LEGACY_SROSA
    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\ldr64registry values to delete:
    HKLM\Software\Microsoft\Windows\CurrentVersion\Run | hldrrr
    HKLM\Software\Microsoft\Windows\CurrentVersion\Run | drvsyskit
    HKLM\Software\Microsoft\Windows\CurrentVersion\Run | german.exe
  • Avviate normalmente e sperate che l’antivirus si avvii
    Se si avvia aggiornatelo (se è antivir cambiatelo) e fate una scanzione completa del sistema.
  • Installate un firewall tipo Zonealarm e verificate che non ci siano processi strani che tentano di connettersi. se ci sono cancellatene gli eseguibili e le chiavi che li fanno avviare (attenzione a non cancellare componenti di windows!).

Verificate che non siano rispuntati processi strani all’avvio…se sono rispuntati potreste aver avuto la fortuna di beccare più di un virus contemporaneamente o di non essere riusciti a togliere del tutto il bagle…

Se l’antivirus non si avvia o si avvia e crasha il virus è ancora nel sistema…purtroppo ci sono molte versioni di bagle in giro e la procedura potrebbe non essere adatta a tutte.

Ho inserito tutti i tool usati in [questo] files; ma è preferibile scaricare le versioni aggiornate dai rispettivi siti internet, affidatevi a google per trovarle.

PS:

La maggiorparte della procedura l’ho appresa su http://www.hwupgrade.it

Tags: , , , , , ,

Posted by: thedarshan | Gennaio 21, 2008

Italia.it

Posted by: thedarshan | Gennaio 18, 2008

Schema per la soluzione di qualunque problema

Questa è una delle cose più belle che abbia mai visto all’università

schema-per-la-risoluzione-di-qualunque-problema.jpg

                          Si  +-----------+  No
   /--------------------------| Funziona? |>>---------------\
   |                          +-----------+                 |
   |                                                        |
   |                                                        |
   |                          +-----------+           +-----------+
   |                          | Bravo     |      Si   | L'hai     |
   |         /----------------|  Coglione |<<---------|  Toccato? |
   |         |                +-----------+           +-----------+
   |         |                                              | No
   |  +-------------+                                 +-----------+
   |  | Qualcuno sa |         +-----------+           | Puoi      |
   |  |  che l'hai  |  Si     | Sei       |      No   |  Incolpare|
   |  |   toccato?  |------->>|   Fottuto |<<---------| Qualcuno? |
   |  +-------------+         +-----------+           +-----------+
   |         |                                              |Si
   |         |                                              |
   |         |         No     +-----------+                 |
   |         \-------------->>|  Tutto    |                 |
   \------------------------>>|      OK   |<<---------------/
                              +-----------+
   --da auletta studenti

Posted by: thedarshan | Gennaio 8, 2008

Stimare accuratamente la potenza di una wireless

Nel lungo periodo del passaggio tra Telecom e Tiscali sono stato senza connettività adsl e in questo periodo ho “usufruito” di connettività wireless a scrocco.

Da casa mia si prendevano varie stazioni wireless ma solo alcune (due) erano effettivamente abbastanza potenti da permettere una connessione abbastanza stabile e non lo erano per tutto il giorno. Mi sono reso conto che la semplice stima “qualità del segnale” che si può ottenere con “iwlist s” sotto linux non è per nulla indicativa in quanto non tiene conto della costanza del segnale e non permette quindi di poter stabilire a priori quale stazione vale la pena di provare (provare con uno script che tenta di connettersi a oltranza…non provare a mano)

Allora ho deciso di applicare gli insegnamenti di una delle poche materie universitarie che mi ha insegnato qualcosa in maniera utile: ho usato la media esponenziale ponderata per stimare il tempo medio di ricezione dei beacon.

La media esponenziale ponderata è descritta nell’RFC2988 ed è tipicamente usata per stimare l’RTT nelle connessioni TCP; essa può essere facilmente adattata alla stima dell’intervallo tra la ricezione dei beacon perchè i due “scenari” (nel senso americano del termine) sono molto simili.

A differenza della media aritmetica ,che assegna un peso contante ai singoli campioni, la media esponenziale ponderata assegna un peso che decresce esponenzialmente dall’ultimo campione; in questo modo i campioni recenti hanno un peso superiore rispetto ai campioni vecchi.

per calcolare la media esponenziale ponderata si fa uso di 4 variabili:A,B,MEDIA,CAMPIONE

MEDIA è il valore attuale della media
CAMPIONE è il valore dell’ultimo rilevamento
A e B sono i pesi da dare all’ultimo campione e ai campioni precedenti; tipicamente A+B=1

inizialmente MEDIA è posto uguale a CAMPIONE. il suo valore viene aggiornato secondo la formula:
Media=\beta \star Media + \alpha \star Campione

questo è lo script:

</pre>
#!/usr/bin/ruby
@alpha=1.0/8
@n=0
@beacon=0
@power=0
@delay=2
@oldpower=0

def battery()
responso=[]
`cat /proc/acpi/battery/BAT1/state`.each{|riga| responso<<riga}
attuale=responso[4].scan(/:.*/).to_s[7..-1].to_f
massima=responso[3].scan(/:.*/).to_s[7..-1].to_f
percento=(100*attuale/massima).to_i
return "Batteria in carica: #{attuale}mAh" if not responso[2].scan("discharging").size>0
return "Nella batteria rimangono "+responso[4].scan(/:.*/).to_s[7..-1]+" pari al #{percento}%"

end

def monitor(essid)
while(true)
responso= `iwlist eth1 s`
celle=tokenize(responso)
ora=Time.now.strftime("%I:%M:%S &quot ;)
puts "\ec \n#{ora} #{battery()}\n"+celle[essid]
#
beacon=celle[essid].scan(/beacon.*/).to_s[8..-7].to_i
power=celle[essid].scan(/uality.*/).to_s[7..-6].to_i
statistiche(power,beacon)
puts "\n",celle.keys.inspect
puts "Q per uscire"
sleep(@delay)
end
end

def statistiche(power,beacon)
same=(power-@oldpower).abs
if(@n==0 || @power+@beacon==0)
@beacon=beacon
@power=power
else
#medie esponenziali ponderate (RFC298 8)
@beacon=(1-3*@alpha)*@beacon+3*@alpha*beacon if power>0
@power=(1-@alpha)*@power+@alpha*power
@power=4*@alpha*@power if power==0
@beacon=@beacon+ 1000*@delay if (beacon==0 && power==0 && @beacon<10**6 && @beacon>0)

end
@oldpower=power
puts "Power    = #{power}"
puts "Latence  = #{beacon}\n"
puts "Scarto   = #{same.to_i}%\n"
verso="up";verso="down" if @power>power
puts "MPower   = #{@power} (#{verso})";
verso="up";verso="down" if @beacon>beacon
puts "MLatence = #{@beacon} (#{verso})"
@n=@n+1
end

def tokenize(stream)
token=Hash.new("None&quot ;)
stream.each("Cell"){|cella|
nome=cella.scan(/ESSID.*/).to_s[7...-1]
token[nome]=cella
}
return token
end
print "Inserire L'essid da monitorare ";essid=readline.chomp
#monitor(essid)
esecutore=Thread.new {monitor(essid)}
while(cosa=readline.chomp.upcase)
if cosa=="Q" then
Thread.kill(esecutore)
exit
end
end
<pre>

Posted by: thedarshan | Dicembre 29, 2007

Copiare le memory card PlayStation sul pc

Da quando qualche anno fa una delle mie memory card “di concorrenza”
è subtaneamente deceduta ho cominciato a preoccuparmi di poter perdere
anche l’altra memory card che contiene i salvataggi di final fantasy 9.
Così ho cominciato a cercare una soluzione per creare un immagine della
memory card e alla fine ho trovato il sito di “Memory
card captor sakura
” un miracoloso programma che permette di copiare
le mc usando appositi device.

Tra i device da collegare al pc ho deciso di costruire il Direct Pad Pro perche
mi sembra il più razionale di tutti.

Una memory card ps1 non è altro che un memoria flash grande
128 miseri kbyte (quando scrivono sulle mc 1 mega intendono un megabit).

il circuito non fa altro che fornire un alimentazione appropriata (3.5V
al pin 5 e 7.5V al pin 3) e collegare i pin di comunicazione alla parallela.
pensa a tutto sakura.Il circuito necessita di un alimentazione stabilizzata a 7.5v. Le specifiche
sul funzionamento delle mc (e sull hardware della playstation
in genere) sono disponibili qui

Costruzione del circuito

  • Le porte di comunicazione
    La porta che si connette al pc è una semplice porta parallela
    femmina (DB25).
    NB:Si può usare come massa indifferentemente qualunque pin dal 18 al 25.La parte più difficile nella costruzione del circuito è
    sicuramente la porta di input della memory card.Ci sono molti modi per
    costruirla e io ho scelto il piu semplice:

      • Usare un connettore per floppy (senza modifica)
        169039.gif
        Per collegare la memory card è possibile usare uno di quei connettori che collegano il floppy con la scheda madre.
        Una volta smontata la mc la scheda che la costituisce entra perfettamente in questa porta.
        il difetto principale di questa porta e che difficilissima da trovare nella versione da saldare su scheda.
        si trova solo per cavo quindi per saldarla bisogna perdere
        un pò di tempo.E soprattutto bisogna smontare la mc per inserirla169034.jpg
        NB:Il connettore contiene due file di
        pin ma la mc ne usa solo una quindi conviene piegare una
        delle due file per non ostacolare la saldatura.

         

      • Modificare un connettore per floppy E’ possibile modificare un connettore da floppy in modo
        che la mc possa essere connessa senza bisogno di smontarla. Questa
        procedura è descritta in dettaglio in questo
        sito
        . qui ne riporto solo alcune immagini giusto per dare
        un idea:

        Il più grande difetto di questa soluzione e che è
        difficile da costruire

      • Usare un vero connettore playstation.
        Avendolo è facile ma non
        sono in vendita.
  • Stabilizzazione delle tensioni
    NB:
    La caduta di tensione di un diodo al silicio è minimo
    0.6V ma cresce al crescere della corrente.
    In questo documento si suppone che a regime un diodo abbia una caduta
    di 0.7V.
    Esistono in giro circuiti che fanno regolazioni molto meno raffinate
    (come tensione al pin3 usano i 5v della parallela e come tensione al
    pin5 riducono la tensione di 5V a 4.3V usando un diodo).
    Questi circuiti dovrebbero funzionare ma io ho preferito fare in modo che il ciucuito
    fornisse esattamente le stesse tensioni di una playstation.All interno del circuito è presente uno stabilizzatore che abassa la tenzione in input a 3.5V attraverso un Lm317t

    Nell suo uso tipico l’lm317 richiede
    due condensatori per stabilizzare la corrente ma in questo caso considerato che la corrente è gia stabilizzata si possono omettere.

    La formula per calcolare le resistenze e la seguente

    Dunque considerando trascurabile l’influsso della corrente si ha:3.4 = 1.25(1+820/470)
  • Alimentazione esterna Se non si dispone di un alimentatore stabilizzato si puo procedere
    nei seguenti modi:

    • A partire da una batteria da 9V ridurla a 7.6V on due
      diodi.
    • Stabilizzare un alimentatore da 9V o più con un
      uA7808 o similare
      Il 7808 stabilizza tensioni positive a 8V e puo erogare massimo
      1Ala tensione si puo ridurre a 7.3V con un diodo
  • Assemblaggio
    Il circuito è molto semplice e si presta
    a essere assemblato su scheda millefori.

  • Scrittura dell immagine
    Sakura nasce in giapponese. la versione che linko
    e una pessima traduzione in inglese…Per prima cosa andate su proprieta e settate il tipo di circuito
    su Direct Pad Pro
    Poi cliccate sul bottone slot1 per leggere la memorycard
    e su ImgR (image read) per copiare la mc su file.

    Adesso che ho copiato la mia memory card posso dormire sogni tranquilli
    e cominciare ad arrovellarmi su come copiare quelle della ps2 che contengono
    i salvataggi di Final Fantasy X.

Posted by: thedarshan | Dicembre 19, 2007

Resuscitare un router DLink-604+

router

Questo è un documento che ho scritto anni fà e non ho mai avuto occasione di publicare.

Descrive come riflashare un router dlink-604+ con il firmware corrotto attraverso una scheda che realizza un interfaccia con la porta seriale del pc.

Include in appendice lo schema per la costruzione di un cavo nullmodem.

Le informazioni tecniche sul router più che dal manuale di riferimento le ho ottenute girando su vari forum scritti in varie lingue (e io odio il francese) quindi non ne posso garantire l’accuratezza. so solo che il metodo ha funzionato per me.

Il maledetto router è ormai obsoleto e poco diffuso ma probabilmente altri router della Dlink si riflashano in questo modo.

Per qualunque richiesta o correzione scrivetemi

Download

Tags: , ,

Posted by: thedarshan | Dicembre 18, 2007

Hello world!

Salve a tutti!

Sto aprendo un blog per un unico fine, lo stesso fine per cui dovrebbe servire internet: “Condividere informazioni” qualunque cosa abbia implementato o costruito , qualunque cosa abbia scritto per qualunque ragione se può essere utile a qualcun’altro va condivisa.

Tags:

Categories