Disclaimer per i contenuti del Blog


DISCLAIMER:Questo blog non rappresenta una testata giornalistica in quanto viene aggiornato senza alcuna periodicità . Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n° 62 del 7.03.2001.
L'autore non è responsabile per quanto pubblicato dai lettori nei commenti ad ogni post. Verranno cancellati i commenti ritenuti offensivi o lesivi dell’immagine o dell’onorabilità di terzi, di genere spam, razzisti o che contengano dati personali non conformi al rispetto delle norme sulla Privacy. Alcuni testi o immagini inserite in questo blog sono tratte da internet e, pertanto, considerate di pubblico dominio; qualora la loro pubblicazione violasse eventuali diritti d'autore, vogliate comunicarlo via email. Saranno immediatamente rimossi. L'autore del blog non è responsabile dei siti collegati tramite link, del loro contenuto che può essere soggetto a variazioni nel tempo ne degli eventuali danni derivanti dall'utilizzo proprio od improprio delle informazioni presenti nei post.

giovedì 17 ottobre 2013

Phishing anche via SMS? Si, grazie ai nostri amati Smartphone.

Successo questa mattina, ricevo un SMS che mi annuncia che la mia carta BancoPosta è stata bloccata:


Il messaggio in un italiano "particolare" e l'utilizzo di http://bit.do mi hanno un po insospettito ma, da curioso, ho voluto vedere dove si andava a finire:


Una bella paginetta che richiede TUTTI i dati necessari per utilizzare la carta in maniera fraudolenta! L'URL non sembra essere proprio quella di BancoPosta :)

Non vi fate cogliere impreparati!!!



martedì 15 ottobre 2013

Metodo generico di rimozione Malware

A partire da Windows XP Microsoft ha reso disponibile uno strumento chiamato "Ripristino configurazione sistema" che permette di riportare il computer allo stato di un precedente salvataggio. Questi salvataggi vengono normalmente eseguiti automaticamente dal sistema giornalmente ed in occasione dell'installazione degli aggiornamenti automatici (ma possono essere eseguiti anche manualmente e consiglio di di farlo sempre prima dell'installazione di drivers e simili) e consistono in una istantanea della configurazione del nostro computer.
Per poter sfruttare questa caratteristica allo scopo di rimuovere qualche malware dobbiamo però essere abbastanza sicuri della data in cui è successo il fattaccio, sperare che la funzionalità della quale ci andremo ad avvalere non sia stata disabilitata dal nostro ospite e che ci sia permesso di utilizzare il computer in modalità provvisoria con prompt dei comandi; ho scelto di eseguire il ripristino utilizzando questa modalità di avvio per generalizzare la procedura e renderla adatta anche a situazioni dove l'avvio in modalità standard non riesce o non permette l'interazione con il computer (vedi i vari Ransomware che bloccano il desktop, il task manager ed il menù avvio).

Come prima cosa avviamo il computer in modalità provvisoria con prompt dei comandi (istruzioni valide per Windows XP, Vista e Seven, mentre per Windows 8 la procedura è completamente diversa)  premendo ripetutamente il tasto F8 dopo l'accensione. In alcuni BIOS il tasto F8 viene utilizzato per selezionare la periferica dalla quale eseguire il BOOT; se questo è il nostro caso selezioniamo l'HD tra le periferiche proposte e immediatamente dopo la selezione premiamo ancora ripetutamente il tasto F8.
Se le cose sono state fatte bene dovrebbe comparire una finestra simile a quella di fig.1 (Windows XP in questo caso):
Fig.1
posizioniamo la barra bianca su Modalità provvisoria con prompt dei comandi e confermiamo con INVIO/ENTER, quindi selezioniamo, se richiesto, il sistema da avviare sempre posizionando la barra bianca e selezionando con INVIO/ENTER.
Dopo una breve fase di caricamento apparirà la finestra di Accesso a Windows, digitiamo l'eventuale password e click su OK. E' necessario che l'accesso sia effettuato con un account con privilegi di amministratore. Alla comparsa del prompt dei comandi digitiamo il comando C:\windows\system32\restore\rstrui.exe seguito dal tasto INVIO/ENTER per far partire il modulo che si incaricherà di ripristinare una precedente configurazione di sistema...

Fig.2
...selezioniamo Ripristina uno stato... e premiamo il tasto Avanti...

Fig.3
...selezioniamo dal calendario a sinistra (fig.3 punto 1) una data in grassetto sicuramente antecedente al fattaccio e dal box di destra (punto 2) uno dei possibili punti di ripristino, quindi Avanti...

Fig.4
...confermiamo la nostra volontà di ripristinare premendo il tasto Avanti...

Fig.5
...ed attendiamo pazienti la fine della procedura di ripristino. A riavvio terminato si ripresenterà la schermata con richiesta Nome e Password, digitiamo l'eventuale password e PRIMA DI PREMERE IL TASTO OK, premiamo sulla tastiera il tasto SHIFT e, mantenendolo premuto, facciamo click su OK alzando il dito dalla tastiera solo alla comparsa delle finestra di fig.6; questa procedura serve ad evitare che qualche programma o collegamento (buono o cattivo che sia) presente nelle cartelle di esecuzione automatica venga eseguito.

Fig.6
A questo punto il ripristino è terminato, non ci resta che premere OK ed eseguire IMMEDIATAMENTE una scansione completa del sistema con un buon antivirus. Quest'ultima fase è molto importante dal momento che il ripristino del registro di sistema avrà disabilitato l'esecuzione del malware tramite le chiavi di registro ma il codice malevolo è molto probabilmente ancora presente nel sistema sotto forma di file e va quindi cercato e rimosso. 

Avvertenze e controindicazioni

  • utilizzando questa procedura di ripristino molto probabilmente i programmi installati tra la data del punto utilizzato ed oggi non saranno più funzionanti
  • i malware che modificano il boot sector o la partition table NON possono essere rimossi con questo sistema
  • potrebbero non esistere punti di ripristino utilizzabili in quanto il malware potrebbe aver disabilitato il servizio che lo gestisce
  • alcuni malware non permettono l'avvio del computer in modalità provvisoria :-(

Buon lavoro...

venerdì 11 ottobre 2013

Paginazione tipo Facebook con jQuery e PHP


Quando si realizzano applicazioni gestionali in PHP, cosa c'è di più noioso della gestione della paginazione dell'output? Poche cose, credo...
Per ridurre lo stress da routine noiose ho pensato di realizzare questo piccolo script, sulla falsa riga della paginazione di Facebook, che grazie a jQuery, Ajax e PHP,  permette di raggiungere in modo semplice e, spero, pulito lo scopo prefissato.

Il tutto si realizza utilizzando due distinti moduli:

  • il primo è quello necessario per la visualizzazione dei risultati, non necessita di codice PHP al suo interno, utilizza la libreria jQuery ed una manciata di righe Javascript per interfacciarsi con l'altro modulo;
  • il secondo è un modulo PHP che si occupa della estrazione e preparazione dei dati da visualizzare.

Iniziamo a vedere il primo modulo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
.align-center {text-align: center;}
#data-div {margin: auto; padding: 10px;}
#EOJ {display: none; width: 100%; margin: auto;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>

<script>

// Check presenza dell'oggetto nella viewport attuale
// ATTENZIONE: verifica solo lo scroll verticale!!!
function IsInVerticalViewport(Obj) {
 vTop   = $(window).scrollTop();
 vBot  = vTop + $(window).height();
 objTop  = $(Obj.selector).position().top;
 objHeight = $(Obj.selector).height();
 return ((objTop < vBot) && (objTop + objHeight > vTop));
};

$(window).scroll(function() {
  if (IsInVerticalViewport($("#loading")))
 if ($("#loading").is(":visible"))
  LoadDataBlock(200);
});

$(document).ready(function() {
 $(window).scroll();
})

function LoadDataBlock(blocksize) {
 $.ajax({
  url:"index.ajax.php",
  type: "POST",
  dataType: "json",
  data: {BlockSize: blocksize},
  success:function(result){
   $("div#data-div").append(result.data);
   if(result.eod) {
    $("div#loading").hide();
    $("div#EOJ").show();
   }
  },
  error: function(Request, Status, Errors){
   $("div#data-div").html("Chiamata fallita: "+Status+" "+Errors);
  }
 });
}
</script>
</head>
<body>
 <div class="align-center">
  <h1>Esempio di paginazione progressiva (tipo Facebook)</h1>
  Il DIV seguente funge da contenitore dei dati passati dalla routine PHP
 </div>
 <div id="data-div"></div>
 <div  class="align-center"id="loading">
  <img src=loading.gif>
 </div>
 <div class="align-center" id="EOJ">
  <h2>Ricerca completata</h2>
 </div>
</body>
</html>

Il funzionamento di questo script è molto semplice, mi limito a verificare tramite la funzione IsInVerticalViewport se il DIV loading è presente o meno nella porzione di pagina visibile all'utente e questo test lo eseguo ad ogni operazione di scroll della pagina stessa utilizzando il blocco $(window),scroll(function() {... Al suo interno verifico che se il DIV è presente nella viewport attuale e se è visible: se le condizioni sono soddisfatte eseguo una chiamata alla routine LoadDataBlock con un parametro che analizzeremo in seguito.

Dal momento che alla prima esecuzione il DIV molto probabilmente sarà già visibile nella viewport, non essendo presente ancora alcun dato da visualizzare, chiamo manualmente la routine di scroll. Utilizzo $(document).ready per essere sicuro che questa porzione di codice sia eseguita solo a DOM interamente caricato.

L'ultima funzione da prendere in esame è LoadDataBlock che si occupa di interfacciare il file html con lo script PHP di elaborazione dati. Esegue una chiamata tramite Ajax al modulo PHP utilizzando il metodo POST, gli passa il parametro ricevuto (blocksize) e resta in attesa del risultato inviato dal modulo PHP (in questo caso index.ajax.php) codificato in formato JSON e composto da una parte dati (result.data) ed una parte return-code (result.eod).

Se la chiamata ha avuto successo come prima cosa appende al DIV data-div i dati ricevuti in result.data spostando di fatto il DIV loading fuori dalla viewport corrente(vedi precisazione paragrafo successivo), quindi verifica il valore di result.eod che utilizzo come segnalatore di fine dati; se result.eod=true nasconde il div loading e rende visibile il div EOJ che serve a segnalare all'utente che i dati sono terminati.

Il parametro passato alla routine LoadDataBlock serve a comunicare a PHP quanti dati dovrà restituire. Nell'esempio proposto 200 equivale a 200 righe di dati, sufficienti a spostare fuori dalla viewport il DIV loading ma non troppe da causare un rallentamento in fase di ricezione dati; mi sembra chiaro che questo parametro vada modificato sulla base dell'output generato. Il valore minimo è 1.

Questo è lo script PHP:
<?php
//*******************************************************
// Blocco di codice necessario per implementare nelle 
//  versioni di PHP antecedenti la 5.2.0 le funzioni
//  json_encode() e json_decode() (qui uso solo la prima)
//  
//  Grazie a Michal Migurski <mike-json@teczno.com>
//*******************************************************
require_once('JSON.php');
if( !function_exists('json_encode') ) {
    function json_encode($data) {
        $json = new Services_JSON();
        return( $json->encode($data) );
    }
}

// Start della sessione
session_name("paging");
session_start();

// Stringa di output
$output = "";

// Permette di comuicare al chiamante
// che i dati sono finiti
$eod  = false;

// Dimensione del blocco da restituire
if (isset($_POST["blocksize"]))
 $lines = $_POST["blocksize"];
else
 $lines = 100;
 
// Punto di partenza 
if (isset($_SESSION["start"]))
 $from = $_SESSION["start"];
else
 $from = 0;

// Questa è la sezione che genera i dati
// che saranno restituiti al chiamante
// dopo la codifica in formato JSON
for ($i = $from; $i < $from+$lines; $i++) {

 //Simulazione di fine dati
 if ($i > 987) {
  $eod=true;
  break;
 }

 $output .= "La radice quadrata di $i è ".sqrt($i)."<br>";
}

// Aggiorno la sessione con il puntatore corretto
// per la prossima esecuzione
if ($eod) 
 session_destroy();
else
 $_SESSION["start"] = $from + $lines;

// Codifica output in JSON e restituzione al chiamante
echo json_encode(array('data' => $output, 'eod' => $eod));
?>

A causa della mancanza di json_encode() e json_decode() nelle versioni di PHP antecedenti la 5.2.0, ho dovuto utilizzare una classe di Michal Migurski per implementare queste funzioni.

Per poter tenere traccia in modo semplice della progressione della paginazione ho utilizzato le sessioni.

Inizio aprendo la sessione, inizializzo alcune variabili, controllo se il parametro che mi aspetto sia stato passato, quindi verifico da che punto devo iniziare ad estrarre i dati; se la sessione non è inizializzata forzo la variabile $from a 0, altrimenti la valorizzo con il contenuto di $_SESSION["start"].

Per non utilizzare database, nell'esempio proposto, i dati consistono in semplici righe contenenti un numero progressivo e la sua radice quadrata (vedi ciclo For). Ovviamente utilizzando basi dati sarebbe il caso di sostituire il ciclo For con un ciclo While di lettura del database tramite una query tipo "Select [campi] from [database] where [condizioni] limit $from , $lines".

A questo punto accumulo i dati, già formattati in formato pronto per la visualizzazione, in una variabile ($output), valorizzo la variabile $eod a true qualora il ciclo di lettura dovesse finire prima del previsto quindi, all'uscita del ciclo, verifico il suo valore: se true distruggo la sessione, se false aggiorno la sessione con il puntatore al nuovo inizio.

Notare che nel ciclo For simulo la condizione di fine dati fermandomi al raggiungimento di una certa soglia.

Nell'ultima riga eseguo l'encoding in formato JSON della stringa $output ed il gioco è fatto.

L'esempio qui proposto può essere scaricato da questo link, mentre una versione "Live" la potete provare qui.

Rimozione Ransomware "Arma dei carabinieri"

Nelle ultime settimane ho notato un curioso aumento di macchine colpite da questo Ransomware (dalla parola inglese ransom, riscatto) che blocca il computer colpito e richiede il pagamento di una multa a seguito di presunti illeciti perpetrati dall'utente.
Questa versione (il file eseguibile è lungo 72192 bytes ed è riconosciuta da NOD32 come una variante di Win32Kryptik.BMBA trojan horse) deve avere qualche piccolo problema in quanto non è sempre in grado di visualizzare l'immagine che serve a terrorizzare l'utente (fig.1, l'immagine è il totale dello scroll del video ) ma si presenta spesso come una schermata bianca che copre l'intero schermo senza dare all'utente la possibilità di fare alcuna operazione (anche il task manager è disabilitato).

Fig.1
Se la schermata del vostro PC è bianca o uguale a quella di fig.1 procedete come di seguito per la rimozione del malware (l'esempio è relativo a Windows XP Pro) :

riavviare il computer e premere ripetutamente il tasto F8 fino alla comparsa del Menu opzioni avanzate di Windows, selezionare Modalità provvisoria con prompt dei comandi e premere INVIO/ENTER...

Fig.2
... accedere digitando l'eventuale password legata all'utente selezionato...

Fig,3
...per avere accesso alla console dei comandi. Al prompt digitare REGEDIT seguito dal tasto INVIO/ENTER

Fig.4
cercare nella sezione di sinistra la chiave

   HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

e verificare se nella sezione di destra esiste un valore shell come da fig.4. Quel valore è stato inserito dal malware, serve a farlo eseguire al login dell'utente e può tranquillamente, anzi deve, essere rimosso facendo click con il tasto destro su shell e selezionando Elimina (non prima di essersi annotati il percorso del file indicato dopo explorer.exe), quindi chiudere il REGEDIT, e dare il comando DEL "<percorso_del_file>" (i doppi apici vanno utilizzati quando un path contiene dei spazi) nel mio caso:
 
   DEL "c:\documents and settings\utente\dati applicazioni\data.dat".

Riavviare il sistema.

Per le altre versioni di questo malware sarà mia cura aggiornare il Post come avrò disponibili maggiori informazioni.

Nota del 15/10/2013: In alternativa è possibile utilizzare questo metodo.

venerdì 4 ottobre 2013

Stampanti compatibili con il metodo descritto in post precedenti per l'utilizzo in DOS via USB

Articolo originale pubblicato nel precedente Blog in data febbraio 2010 aggiornato al 4/10/2013


Purtroppo ci ho pensato tardi, comunque ho deciso di fare un prospetto dove elencare tutti i modelli di stampante compatibili con la procedura USB2LPT (per XPVista e 7) indicando in ROSSO quelle non utilizzabili.
Qualora foste riusciti ad utilizzare la suddetta procedura, sarebbe cosa graditissima avere informazioni relative alla marca ed al modello della stampante, se USB e/o se parallela (con cavo adattatore) e/o di rete, e se ad aghi/laser/inkjet.

Grazie!

Marca Modello USB Par. LAN Inkjet Laser Aghi Verificato
Epson LQ-2170 x x SI
Epson LQ-1170 x x SI
Epson Stylus DX4400 x x NO
Epson FX-1170 x x SI
Epson Stylus Office BX300F x x SI
Epson Stylus DX9400F x x SI
Epson FX 880+ x x x NO
HP Laserjet 2200/D/DN x x x SI
HP Laserjet 1320 x x SI
HP DeskJet 845S x x NO
HP OfficeJet 4500 x x NO
HP Laserjet 2300 x x x x SI
HP Deskjet F2480 x x NO
HP PSC 2110 x x NO
Lexmark Form Printer2481 x x x SI
Lexmark MS410 x x x SI
Kyocera FS-1330D x x NO
Kyocera FS-2000D x x NO
Ricoh Aficio MPC 3000 x x SI
Samsung ML 3471NCD x x x x NO
Samsung ML1710P NO
Samsung CLP-310 x x SI
HP Laserjet 1020 x x NO
HP Deskjet F2510 x x NO
HP Laserjet 1005 x x NO



Commenti del precedente Blog

15/03/2013, 08:05:55 stampanti

non funziona con hp 1005 1020



19/09/2011, 13:59:09 Paolo

Grazie!



19/09/2011, 13:33:12 Negativo

Samsung ML1710P non va



22/07/2011, 13:11:53 silvanastrina@alice.it

la procedura � OK (� comparsa la manina) per� se lancio usb2lpt compare per un attimo la schermata DOS e non succede pi� nulla - ho un scx-4300 - ora non pi� ma appena attivata la procedura , scrivendo DIR>LPT1 si � accesa la spia della stampante senza stampare . Comunque complimenti per la bravura grazie Sergio Moretti da Ravenna



09/11/2010, 09:03:38 Paoloo Bertinetti

Aggiunto alla lista, grazie!



08/11/2010, 10:20:34 USB2LPT

KYOCERA FS-1330D Laser tutto ok


25/02/2010, 15:57:22 Paolo Bertinetti

Indicate qui eventuali informazioni di stampanti compatibili con la procedura USB2LPT. Grazie

Utilizzo di stampanti USB con applicativi DOS (Windows 7)

Sulla scia dei precedenti post, ecco finalmente quello riguardante Windows 7. Per non essere ripetitivo indicherò solo i passaggi necessari per la corretta esecuzione dell'operazione dal momento che credo che le immagini siano sufficientemente chiare. Per i prerequisiti ed eventuali avvertenze consiglio di leggere il post relativo a Windows XP (tanto sono più o meno gli stessi). In caso di dubbi e/o perplessità utilizzate la zona "Commenti" posta a fine pagina.

E' disponibile un post con l'elenco (assolutamente non esaustivo) delle stampanti finora provate con questa procedura e la relativa compatibilità.

Ricordo che, per poter portare a termine tutti i passi, è necessario che l'account con il quale stiamo operando disponga di privilegi amministrativi (almeno per il computer locale qualora in una rete di dominio).

Iniziamo con l'installazione della scheda di rete virtuale:

Pannello di controllo/Gestione dispositivi...

Fig.1
 ...Azione/Aggiungi hardware legacy...

Fig.2
...e parte l'Installazione guidata hardware.

Fig.3

Selezioniamo l'opzione per l'installazione manuale e proseguiamo come da fig.4 a fig.8.

Fig.4

Fig.5

Fig.6

Fig.7

Fig.8
 A questo punto dobbiamo configurare la nuova scheda di rete installata (fig.9 a fig.13):

Fig.9
Fig.10
Rinomino la scheda in "Microsoft Loopback" per ricordarmi a cosa serva quindi click con il tasto destro sulla connessione in oggetto scegliendo Proprietà

Fig.11

Fig.12

Fig.13
Pannello di controllo/Dispositivi e stampanti, click con il tasto destro sulla stampante da utilizzare in DOS

Fig.14

Fig.15
Operazione terminata.

Il file .BAT per collegare la porta LPT1 (modificandolo anche LPT2 o LPT3, se dovesse servire) alla stampante condivisa lo trovate qui.


ATTENZIONE: Questa procedura può NON funzionare con alcuni tipi di stampante (modelli economici) Inkjet o Laser che utilizzano dei driver particolari che risparmiano al firmware della stampante la maggior parte del lavoro. Al fine di creare un piccolo database di riferimento relativo a stampanti utilizzabili con questa procedura, una volta verificato il funzionamento, potreste comunicarmi tipo (inkjet, aghi, laser), marca e modello della stampante utilizzata? Se non volete usare l'e-mail potete tranquillamente lasciare un messaggio anonimo nello spazio di seguito. Grazie!

Nel malaugurato caso che la vostra stampante dovesse essere tra quelle non gestibili da questo sistema, vi consiglio di dare uno sguardo all'ottimo Printfil (http://www.printfil.com).

mercoledì 2 ottobre 2013

Utilizzo di stampanti USB con applicativi DOS (Windows Vista)

Articolo originale pubblicato nel precedente Blog in data novembre 2009
Per poter utilizzare una stampante USB (o una stampante parallela connessa al PC utilizzando un adattatore da USB a Centronics) e' necessario simulare una piccola rete locale all'interno del vostro computer per poter usufruire del potente comando NET  che permette di indirizzare una connessione di rete su una porta LPT.
Indipendentemente dalla presenza o meno sul PC di una scheda di rete 'reale', utilizzeremo una scheda di rete virtuale (Microsoft Loopback) installabile con pochi click di mouse; utilizzando questa scheda non ci dovremo preoccupare delle impostazioni della nostra eventuale LAN 'reale'.

E' disponibile un post con l'elenco (assolutamente non esaustivo) delle stampanti finora provate con questa procedura e la relativa compatibilità.



ATTENZIONE: Sebbene il funzionamento della procedura sia garantito funzionante, non è detto che tutti i programmi DOS siano in grado di utilizzare la LPT1 virtuale che andiamo a creare. Ho verificato di persona che alcune applicazioni realizzate in COBOL non riescono a stampare a causa di qualche incompatibilità tra i moduli di runtime e l'ambiente DOS emulato di Windows Vista. Questo problema non è stato riscontrato con Windows XP.


Requisiti:
  • Condivisione file e stampanti abilitato in Windows Firewall (se si dispone di altro firewall consultare la sua documentazione per sbloccare i servizi di condivisione files e stampanti)
  • la stampante che si dovra' usare in ambiente DOS deve essere gia' stata installata in Windows utilizzando i drivers presenti in windows o quelli forniti dal produttore dell'hardware.

Per installare la scheda di rete Microsoft Loopback, configurarla e condividere la stampante e' necessario seguire i seguenti passi:

Pannello di controllo/Installazione hardware...

Fig.1
 ...Avanti...

Fig.2
 ...Installa l'hardware selezionato manualmente...

Fig.3
 ...selezionare Schede di rete...

Fig.4
 ...scegliere nel box di sinistra Microsoft ed in quello di destra Scheda Microsoft Loopback...

Fig.5
 ...Avanti...

Fig.6
 ...Fine.

Fig.8
 Andare in Centro connessioni di rete e condivisioni...

Fig.9
 ...selezionare sulla sinistra Gestisci connessioni di rete...

Fig.10
 ...rinominare la nuova connessione creata...

Fig.11
 ...in Microsoft Loopback...

Fig.12
 ...quindi click con il tasto destro sulla connessione rinominata e selezionare Proprietà...

Fig.13
 ...selezionare Protocollo Internet versione 4...

Fig.14
 ...impostare i parametri come da fig.15 e premere OK.


Fig.15
 Tornare su Centro connessioni di rete e condivisione e fare click su Windows Firewall...

Fig.16
 ...Modifica impostazioni...

Fig.17
 ...selezionare Condivisione file e stampanti quindi premere OK.

Fig.18

Andare sul pannello Stampanti, click con il tasto destro sulla stampante che desideriamo utilizzare in DOS...

Fig.19
...selezionare Condivisione...

Fig.20
...click su Modifica opzioni condivisione...

Fig.21
...impostare il nome della condivisione (DOS in questo caso)...

Fig.22
...e confermare con OK.

Eseguite tutte le operazioni sopra elencate non resta che salvare sul desktop il file contenuto all'interno di questo file ZIP ed eseguirlo facendo doppio click. Se tutto e' stato fatto correttamente le applicazioni DOS saranno finalmente in grado di stampare!

Per provare immediatamente la stampa da DOS, selezionare Start/Tutti i Programmi/Accessori/Prompt dei comandi e al prompt del DOS digitare DIR >LPT1 , la stampa del contenuto della cartella corrente dovrebbe iniziare entro pochi secondi.


ATTENZIONE: Questa procedura può NON funzionare con alcuni tipi di stampante (modelli economici) Inkjet o Laser che utilizzano dei driver particolari che risparmiano al firmware della stampante la maggior parte del lavoro. Al fine di creare un piccolo database di riferimento relativo a stampanti utilizzabili con questa procedura, una volta verificato il funzionamento, potreste comunicarmi tipo (inkjet, aghi, laser), marca e modello della stampante utilizzata? Se non volete usare l'e-mail potete tranquillamente lasciare un messaggio anonimo nello spazio di seguito. Grazie!



Nel malaugurato caso che la vostra stampante dovesse essere tra quelle non gestibili da questo sistema, vi consiglio di dare uno sguardo all'ottimo Printfil (http://www.printfil.com).


Commenti del precedente Blog

22/04/2013, 21:27:38 Paolo Bertinetti

Ciao, purtroppo non posso aiutarti in quanto il problema e' probabilmente legato alla struttura del driver. L'unico tentativo da fare, dopo aver verificato se la stampante supporta anche un macrolinguaggio non proprietario, e' utilizzare dei drivers generici compatibili. In alternativa verificare se il driver "solo testo" riesce a far stampare la stampante. Se anche questo fallisce... cambiare stampante ;-)

22/04/2013, 20:29:17 brother

ciao Paolo, innanzitutto volevo ringraziarti per la tua guida, poi colvevo chiederti come posso risolvere il problema della stampa della pagina bianca che mi da la mia stampate brother, ho visto anche che il mio problema è condiviso da altri possessori di stampante delle stessa marca (nella pagina per windows XP). potresti aiutarmi? grazie mille Antonio

15/12/2012, 19:38:07 Paolo Bertinetti

Grazie per l'indicazione. Ho aggiornato l'elenco delle stampanti compatibili.

02/12/2012, 17:30:58 

PERFETTO FUNZIONA ANCHE CON WIN7 su iMac e Samsung ML 3471ND

19/11/2012, 10:16:26 Paolo Bertinetti

Grazie, aggiorno la pagine marche/modelli

19/11/2012, 10:15:39 

PERFETTO FUNZIONA ANCHE CON WIN 7 HP DESKJET 845S HP OFFICEJET4500 

27/09/2012, 07:37:12 Paolo Bertinetti

X Francesco: Magari se fornisci qualche altra info possiamo vedere quale e' il problema... Stampante usata? Sistema operativo in uso?

26/09/2012, 17:31:27 Stampante usb in ambiente DOS 

Francesco:Ho seguito tutta la procedura ma non sono riuscito ad attivare la stampa.

11/03/2010, 17:36:20 Paolo Bertinetti

x Lino: work in progress! Sottoscrivi il feed RSS in home page per avere notizie a riguardo...

11/03/2010, 16:21:24 Lino (Roma)

A che punto e' la guida per Windows Seven?