Migrare un DataBase da MySQL a MS SQLServer 2000

3 02 2009

La domanda su come fare mi è stata posta oggi in ufficio, e la risposta non posso che prenderla dalla pagina dedicata su TechNet:

Di seguito viene riportata una procedura per configurare Microsoft SQL Server al fine di migrare il database MySQL.

1. Installare il supporto MyODBC, disponibile all’indirizzo http://www.mysql.com/

2. Durante l’installazione viene visualizzata la finestra di dialogo seguente:


      Configurare le impostazioni ODBC utilizzando le informazioni seguenti:
      Windows DSN name: test
      Description: Database di prova
      MySQL Database: test
      Server: seawolf.microsoft.com
      User: cgunn
      Password: my_password
      Port: 3306
      Nel caso delle impostazioni precedenti, il nome specificato nel campo “Windows DSN name” deve essere univoco nel computer che esegue la connessione, l’impostazione relativa al server può essere un nome di dominio completo (assicurarsi che sia disponibile un sistema di risoluzione dei nomi, per esempio tramite DNS) oppure un indirizzo IP.

    3. Quindi eseguire l’Importazione/Esportazione guidata DTS. Dal gruppo di programmi Microsoft SQL Server selezionare Importazione ed esportazione dati. Verrà visualizzata la finestra di dialogo seguente.

        Fare clic su Avanti, quindi proseguire con il passaggio successivo.

      4. Fornire le informazioni necessarie sull’origine dei dati: queste informazioni devono essere MySQL come origine dei dati ODBC e test come DSN del sistema. Quindi, fornire le credenziali di accesso, il nome utente e la password mostrati nella successiva finestra di dialogo, infine fare clic su Avanti.

        5. Fornire i dettagli della connessione di destinazione, come mostrato nella finestra di dialogo seguente, quindi fare clic su Avanti.

          6. La finestra di dialogo Copia tabella o query consente di selezionare gli oggetti del database dall’origine, in questo caso MySQL. Selezionare Copia tabelle e viste dal database di origine. È opportuno rammentare che MySQL non supporta le viste pertanto, selezionando questa opzione, verranno copiati solo gli oggetti tabella, come mostrato di seguito. Fare clic su Avanti per continuare.

            7. Verrà visualizzata la finestra di dialogo Seleziona tabelle e viste di origine, in cui è possibile selezionare le tabelle di origine e quelle di destinazione.

              8. Fare clic sul pulsante con i trattini per eseguire la trasformazione dei dati, come mostrato nella finestra di dialogo seguente Mapping e trasformazioni di colonna.

                  In questa finestra di dialogo vengono abbinati i tipi di dati di origine e di destinazione e vengono selezionati i campi di dati Null. Al termine, fare clic su OK.
                  Verrà visualizzata la finestra di dialogo Salva, pianifica e replica pacchetto, che consente di pianificare la migrazione fuori degli orari di punta e di salvare il pacchetto DTS in percorsi e formati diversi.

                9. La finestra di dialogo Salva pacchetto DTS fornisce due tipi di password per il pacchetto DTS. La prima password è quella del proprietario e consente di proteggere tutte le informazioni sugli utenti e sulle password incluse nel pacchetto, mentre la password dell’utente consente di eseguire il pacchetto e impedisce qualsiasi esecuzione non autorizzata, come mostrato di seguito. Fare clic su Avanti per continuare.

                  10. Infine, la finestra di dialogo Completamento della Importazione/Esportazione guidata DTS riepiloga le opzioni selezionate nella procedura guidata.

                      Fare clic su Fine per iniziare la migrazione dei dati.

                    11. La finestra di dialogo Esecuzione pacchetto visualizza lo stato di ogni attività mentre viene eseguita. Un segno di spunta verde indica il completamento di un’attività. Se l’esecuzione di un’attività non riesce e l’errore interrompe il processo, verrà visualizzata una finestra che riporta le informazioni sull’errore.





                      Windows non si avvia dopo la rimozione di user32.dll da parte di AVG

                      10 11 2008

                      Dando uno sguardo alle keyword con le quali il mio blog viene raggiunto, mi accorgo che in parecchi sono rimasti vittime di un ‘falso positivo’ dell’antivirus AVG che, dopo un aggiornamento rilasciato nella notte tra sabato e domenica, riconosceva il file User32.dll (su sistemi non aggiornati all’ultimissimo ‘patch level’) come infetto da un trojan e lo rimuoveva senza troppi scrupoli.

                      La mancanza di tale file, indispensabile a windows, non permetteva successivamente di avviare il PC.

                      La soluzione è semplice, e la trovo su SpippolAzione:

                      [...] potete ripristinare il file avviando con il cd di installazione di Windows XP, o quello di Vista ed avviare la console di ripristino, oppure potte usare una distribuzione linux sufficente recente da riuscire a scrivere sui dischi NTFS, una Ubuntu 8.04 o 8.10 o simili andranno benissimo.

                      Una volta avviata la console di ripristino o la distribuzione linux troverete una copia del file cancellato perfettamente utilizzabile in c:\windows\system32\DLLcache, dovete solo rimetterla in c:\windows\system32 e riavviare.

                      Talvolta (a me è capitato), dopo aver ripristinato il file è possibile trovarsi nuovamente impossibilitati ad avviare il sistema, questa volta con l’errore

                      “Si è verificato un problema e Windows è stato arrestato per impedire danni al computer. Informazioni tecniche: STOP: c0000135 {Impossibile individuare un componente} Impossibile avviare l’applicazione specificata. Winsrv non è stato trovato. Una nuova installazione dell’applicazione potrebbe risolvere il problema.”

                      E anche questa volta la soluzione è stata prontamente pubblicata su SpippolAzione:

                      Questo e’ dovuto al fatto che, non si capisce per quale motivo, il file preso dalla DLLcache non gli andava bene.

                      Questo c000015 è un vecchio errore che usciva fuori quando si installava il service pack 2 di XP quando nel computer era presente un ben preciso malware, ma non è il nostro caso.

                      Ho risolto con il solito sistema, rimettendo a posto user32.dll, ma non quella presente nella DLLcache ma quello che ho trovato nella cartella C:\WINDOWS\$NtUninstallKB925902$

                      ATTENZIONE: potrebbe non andare bene per tutti, dipende dai livelli di service pack e aggiornamenti che avete nel pc, comunque se da prompt dos vi spostate in c:\windows e fate un

                      dir usr32.dll /s

                      vedrete dove trovare le varie copie di user32.dll, quindi provate a copiarli uno per uno in c:\windows\system32 e riavviare.





                      Mettere il silenziatore a Xbox360

                      13 01 2008

                      ventole_xbox.jpgNel bel mezzo di un serratissimo ‘Capture the flag’ ad Halo 3, quando il numero di  poligoni in movimento sul vostro bel display Full-HD comincia ad avvicinarsi ai 500 milioni dichiarati da Microsoft il rumore delle ventole di raffreddamento della vostra console inizia a superare in intensità gli effetti sonori riprodotti dal 5.1??

                      Nessun problema! Cambiamo le ventole alla console!





                      Visual Studio 2008, novità interessanti e alcuni dubbi

                      31 12 2007

                      bgvs.jpgDopo un paio di versioni beta, Microsoft ha finalmente rilasciato la versione definitiva di Visual Studio 2008, accompagnato dalla nuova versione del Framework .NET, la 3.5

                      Vediamo nel dettaglio le novità e partiamo subito con una mia perplessità a riguardo: una discreta parte delle nuove funzionalità dedicate allo sviluppo di applicazioni desktop sono orientate all’utilizzo con windows Vista e Office 2007.
                      Sostanzialmente, tutti i vantaggi derivati dall’utilizzo del nuovo ambiente di sviluppo per la realizzazione di applicazioni stand-alone potranno essere sfruttate solamente se il target di sviluppo è una piattaforma con le ultimissime versioni di Windows e Office.

                      VS2008 introduce infatti il supporto per Windows Presentation Foundation il sottosistema grafico di Windows Vista: utilizzando il WPF, la realizzazione dell’interfaccia utente in una applicazione avviene tramite la scrittura di codice XAML (eXtensible Application Markup Language), un linguaggio di markup basato su XML (nell’universo opensource il suo equivalente è XUL, derivato dal progetto Mozilla).

                      L’utilizzo del designer WPF integrato in VS2008 è molto simile a quello del vecchio ambiente di disegno dei Windows Forms, con in aggiunta la possibilità di lavorare in ‘SplitView’, con la finestra di design affiancata dal codice XAML relativo, come se si stesse sviluppando l’interfaccia di una web application: lo scopo finale a mio avviso è proprio quello di ridurre sempre di più le differenze tra lo sviluppo di applicazioni desktop e web, non per niente la stessa Microsoft sta spingendo per rendere XAML l’erede dell’ormai ‘vecchio’ HTML.

                      Incluso nella nuova versione di VS anche il supporto per lo sviluppo di applicazioni con Microsoft Office: compatibile con Office 2003 da tuttavia del suo meglio con il nuovo Office 2007, permettendo di sviluppare applicazioni native che sfruttano la user interface che caratterizza tale versione, come le ‘amate/odiate’ Ribbon Status Bar, Ribbon Bar e le Mini-Toolbar.

                      Il nuovo Framework 3.5 introduce anche la tecnologia Windows Communication Foundation, che in poche parole va a semplificare lo sviluppo delle applicazioni di rete unificando in una sola architettura tecnologie diverse come WebServices, Socket, Enterprice Service.
                      Una volta sviluppato un servizio WFC, da VS2008 è possibile effettuarne il debug senza realizzare una apposita applicazione Host, utilizzando due utility dedicate, il WFC Service Auto Host e il WFC Test Client.

                      Presente come estensione installabile in Visual Studio 2005, nella versione 2008 il supporto per Windows Workflow Foundation è presente nativamente.
                      WWF permette la progettazione e lo sviluppo di applicazioni legate a stati ben definiti: un esempio calzante lo si può trovare all’interno di un programma di contabilità. Lo stato di una fattura o di un ordine attraversa degli ’step’ ben definiti, utilizzando il WWF e il suo designer presente in VS2008 è possibile definire lo stato dei controlli presenti nell’interfaccia grafica legati a ogni singolo step.

                      L’accesso alle basi dati è stato rivoluzionato in questa nuova versione di Visual Studio dall’introduzione nel framework 3.5 del linguaggio LINQ (Language INtegrated Query).
                      Lo scopo di LINQ è di unificare il linguaggio di accesso ai dati: lo sviluppatore lo potrà utilizzare per scrivere query nativamente in VB o C# senza dover ricordare gli eventuali dialetti di SQL legati alla piattaforma di database utilizzata, trattando i dati presenti nel Db relazione come oggetti. Lontanamente è quello che in java si è iniziato a fare con Hibernate, seguito poi da molti ‘cloni’.

                      La realizzazione delle applicazioni web in VS2008 prende invece una piega interessante: .NET 3.5 porta con se infatti il supporto nativo per la programmazione AJAX, riallineando il framework Microsoft a molti altri presenti nel panorama OpenSource già dotati del supporto per ajax.
                      Con le nuove API è possibile sia sviluppare da zero una nuova applicazione AJAX, oppure migrare una precedentemente sviluppata alla nuova tecnologia utilizzando i controlli ScriptManager e UpdatePanel (vecchie conoscenze di chi ha iniziato in passato a ’spippolare’ con ATLAS e AJAX.NET).
                      Un’altra novità nell’ambiente di sviluppo è la presenza di completamento del codice, dell’intellisense e del debug per il codice Javascript ‘Client-Side’.

                      In definitiva il nuovo ambiente di sviluppo targato Microsoft a mio avviso è degno di uno sguardo piu approfondito, nonostante la fruizione di interessanti funzionalità sia limitata a clients Windows Vista+Office 2007.





                      Utilizzare lo stack bluetooth di Windows XP SP2 per i device dei laptop HP

                      16 12 2007

                      Mi è capitato con il laptop di un cliente: portatile HP, con Bluetooth integrato e driver widcomm fornito in bundle.

                      Il nuovo cellulare Sony Ericsson del cliente in questione riusciva a fare il pairing ma non veniva riconosciuto dal PCSuite per effettuare la sincronizzazione. Operazione che invece andava tranquillamente a buon fine utilizzando una antennina bluetooth USB, riconosciuta da windows XP e configurata in automatico utilizzando i drivers inclusi nel sistema operativo.

                      Il bluetooth integrato HP  tuttavia, benchè probabilmente compatibile, non veniva riconosciuto dallo stack nativo di windows. Perchè non ‘forzarlo’ ad utilizzare il driver di windows?

                      Per farlo, è necessario per prima cosa rimuovere i vecchi drivers, disinstallando il pacchetto da ‘Aggiungi-Rimuovi programmi’.

                      Poi aprire il file  BTH.inf nella directory C:\WINDOWS\inf ,cercare la linea seguente:

                      [HP.NT.5.1]
                      “HP USB BT Transceiver [1.2]“=       BthUsb, USB\Vid_03F0&Pid_0C24

                      e modificarla in questo modo:

                      [HP.NT.5.1]
                      “HP USB BT Transceiver [1.2]“=       BthUsb, USB\Vid_03F0&Pid_0C24
                      “HP USB BT Transceiver [Patched]“=  BthUsb, USB\Vid_03F0&Pid_011D

                      (in pratica aggiungiamo il Product-ID del device integrato in modo da convincere winXP ad utilizzare il driver di sistema).

                      A questo punto, al successivo restart del PC windowsXP riconoscerà il bluetooth integrato come compatibile e lo gestirà utilizzando il driver di sistema.

                      p.s.
                      fatta la modifica, il cellulare del cliente ha iniziato a sincronizzare senza problemi. :-)

                      [via X-Setup]





                      Sessioni NetBios Nulle

                      7 12 2007

                      La NetBios Null Session è un meccanismo che consente ad un utente non autenticato di ottenere informazioni su un host remoto.
                      Nei sistemi Windows (Nt,2000,XP e 2003), buona parte dei servizi locali sono eseguiti con l’account SYSTEM utilizzato anche per varie operazioni critiche di sistema.
                      Proprio per la criticita’ delle operazioni che va a svolgere, tale account ha privilegi praticamente illimitati e non richiede alcuna password, proprio per evitare che venga utilizzato per effettuare il LogIn .

                      Qualora l’utente SYSTEM avesse bisogno di accedere ad altre macchine in rete, avra’ necessita’ di reperire alcune informazioni, come le condivisioni disponibili e gli utenti. Non essendo un reale account con user&pass, si connettera’ utilizzando appunto una sessione nulla, funzione implementata nel sistema di networking di windows proprio per questo scopo.

                      Le sessioni NetBios nulle permettono quindi di sfruttare le funzionalita’ del protocollo SMB (Server Message Block) senza stabilire preventivamente una trust relationship.
                      Sfortunatamente anche un eventuale aggressore puo’ connettersi utilizzando una Sessione Nulla. :-)

                      Riassumendo, con una sessione nulla possiamo ottenere:

                      • Lista di gruppi e utenti
                      • Lista di hosts collegati
                      • Lista delle condivisioni
                      • SID (Security Identifiers) di utenti e host

                      Le sessioni NetBios NULL sono abilitate di default su Windows 2000 e NT.
                      Windows XP e 2003 permettono di recuperare l’elenco degli share, ma non degli accounts.

                      Un tool per effettuare un test sulle sessioni nulle NetBios e’ HUNT.

                      Parte dell’NT Forensic Toolkit realizzato da Foundstone, rende molto semplice realizzare l’elenco di utenti e shares su un host windows.

                      Un esempio di output del programma:

                      C:\tools>hunt \\<IP Address>

                      share = IPC$ – Remote IPC

                      share = c -

                      share = ADMIN$ – Remote Admin

                      share = C$ – Default share

                      User = Administrator, , , Built-in account for administering the computer/domain

                      Admin is <NetBIOS Name>\Administrator

                      User = Guest, , , Built-in account for guest access to the computer/domain

                      User = IUSR_<NetBIOS Name>, Internet Guest Account, Built-in account for anonymous access to Internet Information Services, Built-in account for anonymous access to Internet Information Services

                      User = IWAM_<NetBIOS Name>, Internet Guest Account, Built-in account for anonymous access to Internet Information Services out of process applications, Built-in account for anonymous access to Internet Information Services out of process applications

                      User = victim_user Victim Name, ,

                      Altro tool a mio avviso molto utile e’ winfo ( http://ntsecurity.nu/toolbox/winfo/ )

                      Si tratta di una utility da riga di commando che recupera dall’host la maggior parte delle informazioni ottenibili da una sessione nulla, complete le trust relationships.
                      Un esempio di output:

                      C:\>winfo xxx.xxx.xxx.xxx –n
                      winfo 1.5 – copyright (c) 1999-2001, Arne Vidstrom
                      - http://www.ntsecurity.nu/toolbox/winfo/
                      Trying to establish null session…
                      Null session established.

                      USER ACCOUNTS:
                      * Administrator
                      (This account is the built-in administrator account)
                      * Guest
                      (This account is the built-in guest account)
                      * victim_user

                      WORKSTATION TRUST ACCOUNTS:

                      INTERDOMAIN TRUST ACCOUNTS:

                      SERVER TRUST ACCOUNTS:

                      SHARES:

                      * IPC$

                      * drivec$

                      (ecc…)

                      Utilita’ delle sessioni nulle per un eventuale attacker
                      Senza avere accesso alla macchina e’ possibile conoscere gli shares e gli eventuali utenti che possono accedervi.

                      Un eventuale malintenzionato puo’ in quel caso avere un elenco di account sui quali concentrarsi: una volta reperite le credenziali di uno degli account elencati potra’ avere accesso allo share che lo interessa.

                      Fortunatamente da Windows XP in poi questa ‘perdita di informazioni’ e’ stata in parte limitata rendendo di default non possibile l’enumerazione degli utenti.

                      Disabilitare le sessione NetBios nulle
                      I controller di dominio per comunicare richiedono sessioni nulle.
                      Perciò, se state lavorando in un dominio di rete, potete limitare la quantità di informazioni fornite, ma non eliminarle del tutto.

                      N.B.: applicare limitazioni sulle sessioni nulle nei domain controller e su altri server specifici può compromettere alcune normali operazioni di rete.
                      E’ consigliabile quindi effettuare questa configurazione solo se la macchina in questione e’ particolarmente esposta a rischi. Tutte le altre macchine dovrebbero essere protette da un firewall configurato per bloccare NetBIOS e CIFS.

                      Di seguito le procedure per la limitazione delle sessioni nulle sui vari sistemi operativi:

                      Windows XP Professional (valido anche per Windows 2000 e XP Home)

                      1. Modificare la seguente chiave di registro:
                      HKLM/System/CurrentControlSet/Control/LSA/RestrictAnonymous=2

                      2. Riavviare il sistema

                      Windows Server 2003

                      1. Aprire Administrative Tools –> Local Security Policy –> Local Policies –> Security Options. Verificare che le seguenti policy siano abilitate:
                      Network Access: Do not allow anonymous enumeration of SAM accounts: Enabled (Default)
                      Network Access: Do not allow anonymous enumeration of SAM accounts and shares: Enabled

                      La stessa operazione puo’ essere effettuata modificando le seguenti chiavi nel registro di configurazione:
                      HKLM\System\CurrentControlSet\Control\Lsa\RestrictAnonymous=1 (Disabilita l’enumerazione degli share)
                      HKLM\System\CurrentControlSet\Control\Lsa\RestrictAnonymousSAM=1 (Impostazione di default: non permette l’enumerazione degli accounts)

                      2.Riavviare il sistema

                      Windows 2000

                      1. Aprire –> Administrative Tools –> Local Security Settings –> Local Policies –> Security Options

                      2. Selezionare “Additional restrictions of anonymous connections” nel pannello Policy sulla destra

                      3. Dal menu “Local policy setting”, selezionare: “No access without explicit anonymous permissions”

                      4. Premere OK

                      5. L’equivalente modifica dal registro di configurazione: HKLM\System\CurrentControlSet\Control\Lsa\RestrictAnonymous=2

                      6. Riavviare il sistema.

                      Windows NT 4.0 (Service Pack 3 o superiore)

                      1. Modificare la chiave di registro:
                      HKLM/System/CurrentControlSet/Control/LSA/RestrictAnonymous=1

                      2. Riavviare il sistema





                      SYDI, tool per la documentazione dei servers

                      8 11 2007

                      Oggi un gentile collega (grazie Massimo!) mia ha fatto scoprire un tool utilissimo e a mio avviso molto ben sviluppato.
                      Si tratta di SYDI (Network Documentation Project), una raccolta di vbscripts che, utilizzando delle query alle estensioni wmi dei server Windows da documentare realizza degli ottimi report (in formato Microsoft Word e fortunatamente anche in XML) contenenti tutte le informazioni sul sistema analizzato (dotazione hardware, software installato, service packs e patchs).

                      Attualmente gli script del progetto SYDI permettono di realizzare la documentazione nello specifico anche di server Microsoft Exchange e Microsoft SQLServer.

                      Ultimo ma non meno importante il supporto (non completissimo, tuttavia) per i sistemi Linux.

                      Alcuni tutorial sull’utilizzo degli script li potete trovare QUI.





                      Cerca di raffreddare l’Xbox e rischia di morire

                      23 08 2007

                      Conosco qualcuno che avra’ un mancamento leggendo questo articolo su Tom’s Hardware:

                      Un quattordicenne di Brevard, Nord Carolina, ha rischiato di perdere la vita nel tentativo di raffreddare la sua XBox 360 dal surriscaldamento. La grande idea venuta al giovane è stata quella di avvolgere l’alimentatore nella plastica, chiudere il tutto con del nastro adesivo e inserirlo in una bacinella d’acqua, badando bene (ovviamente no?) di tenere la console accesa. Risultato? Il giovane si è preso una scossa che se la ricorderà per tutta la vita, ha perso i sensi, ma è fortunatamente salvo.

                      Geniale! :-)





                      Windows 2003 e la mancata esecuzione di Session_OnEnd()

                      31 07 2007

                      Oggi sono stato impegnato nel rilascio di un aggiornamento del $MegaApplicativoGlobale, rilascio necessario ad aggiungere una funzionalità che era stata richiesta degli utenti.

                      Tale funzionalità tanto richiesta altro non era che una specie di ’servizio di presenza’ con annessa chat e piccola rubrica telefonica.
                      In altre parole con l’aggiornamento in questione viene aggiunta la possibilità di visualizzare le persone che attualmente stanno utilizzando il programma, parlare con loro via chat e avere subito sotto mano l’interno del loro ufficio per dialogare a voce. (una cosettina carina e leggera, con un paio di divertenti easter-eggs piazzati dal sottoscritto).

                      Questa nuova funzionalità fa un uso intensivo e nevralgico delle funzioni di asp Session_OnStart() e Session_OnEnd() , proprio per render possibile la visualizzazione di chi è online e chi no.

                      Beh…il tutto è stato sviluppato su un enviroment di test basato su Windows 2000, alcune funzionalità importanti (tra le quali proprio quella richiamata in chiusura di sessione) sono state poi testate su un Windows 2003 SP1 (senza riscontrare alcun problema) e oggi è stato tutto implementato sull’ambiente di produzione (Windows 2003 SP2).
                      Manco a farlo a posta, quanto richiamato in Session_OnEnd() non veniva eseguito nemmeno piangendo in aramaico antico.

                      Fortunatamente ZioGoogle corre in mio aiuto e mi traghetta drittodritto su questa pagina, dove scopro che in seguito all’installazione del Service Pack 2 di Windows 2003 qualsiasi cosa venga richiamata da Session_OnEnd viene allegramente ignorata dal WebServer.

                      La soluzione al problema si trova infine su http://support.microsoft.com/kb/934903: tuttavia, essendo una patch ‘in test’ che verrà probabilmente inclusa nel prossimo Service Pack non è possibile effettuarne il download.

                      Per averne una copia è necessario quindi contattare il CallCenter Microsoft: in meno di un’ora siamo riusciti a metter mano sulla ‘pezza della pezza‘ , installarla e vedere ricominciare a funzionare l’ Orgiastica Valanga di Codice Caotico. :-)

                      Per la serie: “Il bravo SysAdm installa sempre gli aggiornamenti perchè risolvono i problemi” ! :-D





                      Windows Steadystate

                      22 06 2007

                      Sembra un tool interessante, quello recentemente aggiornato da Microsoft:

                      Windows Steadystate permette di condividere il computer tra piu’ utenti senza rischiare che uno degli utilizzatori effettui operazioni ‘letali’ per il sistema.

                      Che cos’è Windows SteadyState?
                      Condividi i computer, non i problemi

                      A fine giornata, in che condizioni è il computer condiviso che gestisci?

                      * Il disco rigido è pieno di file scaricati?
                      * Sono state configurate opzioni insolite?
                      * Sono stati installati programmi indesiderati?
                      * Il sistema è stato attaccato da virus e spyware?
                      * Le prestazioni del computer sono peggiorate senza un motivo apparente?

                      Windows SteadyState è il successore di Shared Computer Toolkit ed è stato progettato per facilitare la vita professionale alle persone che configurano e gestiscono computer condivisi.

                      In pratica ogni utente ha una sua sezione ‘virtuale’ di disco, al di fuori della quale non puo’ uscire: se ho capito bene, funzionerebbe come una sorta di sandbox…utenti in chroot… :-)

                      Comodo, in particolare quando bisogna gestire parecchi PC e parecchi utenti: si puo’ arrivare a un discreto livello di sicurezza senza doversi rincoglionire con le Policy Locali. Bisognera’ verificare la fattibilita’ di utilizzo in ambienti aziendali….stay tuned…:-)





                      Gears of War: prima di cena stimola l’appetito!

                      17 06 2007

                      Seratina piacevolissima da Fausto: mentre le relative consorti pasticciavano in cucina, il granitico videogiocatore non vedeva l’ora dimostrarmi l’ultimo regalino fatto alla sua amata Xbox360: un bel televisore LCD Samsung HD-Ready.
                      Naturalmente per la dimostrazione delle qualità del nuovo acquisto è stato utilizzato l’incredibile Gears Of War (vera ossessione di Fausto/SecularMan): nel video (che tuttavia non rende onore alle immagini che scorrevano sullo schermo) potete ammirare una sessione di guerriglia urbana su XboxLive.

                      Anche la scarsa qualità audio del video non riporta fedelmente il sonoro del videogame: il 5.1 pompava dei bassi assurdi, e a ogni esplosione si avvertiva una piacevole vibrazione dei vetri delle finestre. :-)

                      Non invidio assolutamente i vicini di Fausto (che, per inciso, dovrebbe ricominciare a scrivere sul suo blog, o no?) ! :-D





                      Eccesso di Toolbar!

                      11 06 2007

                      Metto mano al PC di un cliente: il computer in questione non si avvia piu’…:-P

                      Un rapido sguardo e noto che il disco è pieno, il sistema non riesce a allocare il file di swap, da errore e si riavvia.

                      Svuoto la cartella dei file temporanei di Emule, libero 15 Gb e magicamente windows ricomincia a fare il boot in maniera regolare.

                      Testo il sistema, sembra andare tutto bene, apro Internet Explorer e….sorpresa!! (come fa ad averne 2 uguali? :-D )





                      XBox360, nuovo crash!

                      17 05 2007

                      xbox360crash.jpg
                      Di nuovo, stesso negozio del precedente post! (sara’ la stessa console?)





                      Alternate Data Streams (ADS): questi sconosciuti…

                      15 05 2007

                      Alternate Data Streams: ultimamente se ne sente parlare un po’ piu’ spesso per via di alcuni virus/trojan che li utilizzando per ‘nascondersi’, ma cosa sono?

                      Gli Alternate Data Streams (da ora ADS) sono una categoria di oggetti disponibili esclusivamente su filesystem NTFS, ben noti agli addetti ai lavori ma molto meno in vista all’utente finale, data la totale mancanza di un tool nativo interno a Windows utile per manipolarli.
                      Per spiegare di che categoria di oggetti si tratta partiamo da NTFS: in questo tipo di filesystem le informazioni riguardanti file e cartelle sono memorizzati in una speciale tabella presente sul disco chiamata Master File table (MFT).
                      In questa tabella le informazioni sono archiviate in una serie di oggetti chiamati ‘attributi’, assegnati in numero variabile al file o alla cartella.
                      Tra questi possiamo trovare ad esempio il nome assegnato al file, la sua data di creazione, la data dell’ultima modifica, i descrittori di protezione e naturalmente i dati contenuti.

                      Ora, in NTFS e’ possibile associare a ogni singolo file piu’ attributi, contenenti le informazioni piu’ disparate: al cosidetto ‘flusso dati principale’ (il contenuto del file) e’ possibile associare n ‘flussi dati alternativi’ (da qui il nome) contenenti ulteriori informazioni, e soprattutto totalmente invisibili all’utente.

                      Nati per far mantenere a windows compatibilita’ con i sistemi macintosh basati su HFS (che include nativamente un sistema simile) e permettergli quindi di operare come fileserver per essi, con l’avvento di Window 2000 sono stati utilizzati in maniera piu’ ampia, dando la possibilita’ all’utente di memorizzare una serie di informazioni relative ai files (autore, oggetto, date di modifica ecc…) normalmente accessibili dalla scheda Riepilogo delle proprieta’ del file.

                      E qui’ viene il bello: non ci sono limitazioni di dimensioni dell’ADS associato al file, ne di tipologia di allegato (nessuno vieta di inserire un file eseguibile!); le dimensioni del file visualizzate dal sistema saranno sempre quelle relative al flusso principale, a prescindere dalle dimensioni degli ADS associati (sarebbe teoricamente possibile saturare un disco con un file da 2Kb, ma con 4 Gb di ADS!).

                      Come ho gia’ detto, windows non ha nativamente tools per la manipolazione dei flussi dati alternativi, tuttavia e’ possibile effettuare un minimo di operazioni utilizzando il prompt dei comandi e il notepad (!) :-)

                      Ogni ADS viene identificato tramite un nome a seguire il nome del file che lo contiene, ad esempio

                      pippopaperino.txt:pluto.txt

                      identifica il flusso dati alternativo pluto.txt presente all’interno del file pippopaperino.txt.

                      Possiamo creare un ADS digitando dal prompt dei comandi

                      echo Testo di prova > pippopaperino.txt:pluto.txt

                      in questo modo inseriamo nel file pippopaperino.txt (precedentemente creato con il notepad) il flusso alternativo pluto.txt, contenente la frase ‘Testo di prova’.

                      Possiamo poi visualizzare l’ADS appena creato digitando

                      notepad pippopaperino.txt:pluto.txt

                      magicamente, invece di visualizzare il contenuto di pippopaperino.txt, il notepad ci presentera’ il contenuto del flusso alternativo pluto.txt.

                      Se volessimo copiare un file all’interno di un ADS lo potremmo fare con

                      type fileditesto.txt > pippopaperino.txt:altrofile.txt

                      e nessun ci vieta nemmeno di effettuare la stessa operazione con un file eseguibile:

                      type notepad.exe > pippopaperino.txt:blocconote.exe

                      che una volta inserito potra’ essere lanciato con

                      start .\pippopaperino.txt:blocconote.exe

                      E’ interessante notare che solo il TaskManager di windowsXp informa che il file in esecuzione e’ un flusso alternativo: windows 2000 visualizza esclusivamente il nome del file che lo contiene! :-)

                      Altro particolare inquietante e’ che non e’ possibile (sempre tramite i tools forniti con windows) rimuovere un ADS da un file se non cancellandolo (magari salvando prima il flusso dati principale del file stesso).
                      Considerando che e’ possibile aggiungere un ADS anche alla cartella in cui ci si trova con il comando

                      echo Testo di prova > :pluto.txt

                      mi vien da pensare che se si esegue un comando del genere nella root di C: non ci sarebbe altro modo di rimuovere quanto inserito se non formattando il disco!

                      Fortunatamente esistono software di terze adatti a manipolare gli ADS, uno dei quali distribuito dalla stessa Microsoft: NTFS ext

                      Una volta installato, aggiunge alla finestra delle proprieta’ del file una nuova scheda chiamata Streams dalla quale possiamo visionare e cancellare gli alternate data streams legati al file.

                      Riassumendo, gli ADS sono indubbiamente utili, permettendo una migliore organizzazione dei files e delle cartelle; tuttavia possono essere utilizzati per scopi meno leciti, come ad esempio:

                      • utilizzati da virus e trojan per nascondersi a gli occhi dell’utente (per fortuna i principali antivirus/antispyware supportano lo scanning degli ads)
                      • usati per attacchi DenialOfService, saturando un filesystem apparentemente vuoto.
                      • riempiti con materiale illecito che deve essere nascosto da occhi indiscreti
                      • utilizzati per archiviare programmi poi eseguiti sotto ‘falso nome’ (solo su sistemi precedenti a WindowsXP).




                      User32.dll, risolvere il problema successivo all’ultimo aggiornamento di Windows XP

                      9 04 2007

                      UPDATE 10-Novembre-2008: se di recente avete incontrato problemi con user32.dll, potrebbe derivare dall’antivirus AVG che, vittima di un falso positivo, cancella il file in questione.

                      Maggiori dettagli (e la soluzione al problema) su:

                      http://andreafortuna.wordpress.com/2008/11/10/windows-non-si-avvia-dopo-la-rimozione-di-user32dll-da-parte-di-avg/

                       

                      L’altro giorno arrivo in ufficio e il buon Luchetto mi placca chiedendo aiuto per un problema col suo laptop, che a quanto pare restituisce uno strano errore all’avvio.

                      Senza ancora aver letto nessuno dei feed che di solito seguo rispondo a Luca con un laconico “avrai installato qualche puttanata (tipico gergo tecnico!), fai un repair dell’installazione o formatta e reinstalla!”

                       

                      Mettendo mano all’aggregatore scopro però che dopo un pacchetto di aggiornamenti rilasciati da Microsoft per correggere la vulnerabilità Animated Cursor Handling (MS07-017) alcuni utenti al riavvio del proprio PC hanno riscontrato un messaggio di errore di questo tipo:

                       

                      Rthdcpl.exe – Rilocazione della DLL del sistema non valida

                      La DLL del sistema user32.dll è stata rilocata in memoria. L’applicazione non sarà eseguita correttamente. La DLL C:\Windows\System32\Hhctrl.ocx è stata rilocata poiché occupava uno spazio di indirizzamento riservato a una delle DLL del sistema di Windows. Contattare il fornitore della DLL per ottenere una nuova DLL.

                       

                      (da http://support.microsoft.com/?kbid=935448)

                       

                      (lo stesso lamentato da Luchetto! Mea Culpa!)

                       

                      L’errore sembra essere derivato da una incompatibilità delle nuove DLL installate con i driver e relativo pannello di controllo delle schede Realtek HD Audio, e può essere corretta installando una ulteriore patch, la KB935448.