Kotic colpisce ancora....

kotic, ma sui cit che vendi ce le metti le protezioni o si possono scopiazzare isi?
Ghgh meme, analisi interessante ma in parte errata. Certo ridere degli sfigati che hanno passato mesi a fare qualcosa di perora inutile come PB è bello, ma ti assicuro che è anche abbastanza frustrante non poter mostrare al mondo tutta la mia abilità rilasciando quello che fai perché se lo rilasci (e contestualmente distruggi o danneggi in via permanente un gioco, o nel caso di EB una società) perché mi ritroverei con qualche processo pendente (che poi ovviamente andrebbe a finire in niente, ma cmq è una noia) ha un qualcosa di frustrante.

NoBel: il linguaggio è FP assembly x87 (quindi assembly per matematica reale per CPU 8086 + coprocessore o compatibili)

m4tt: ogni copia è unica per evitare rilevamenti sul file qualora uno lo mandasse alla evenbalance, ci sono protezioni per cui sul tuo pc non rimane mai il codice eseguibile del cheat ed anche mentre si sta eseguendo è profondamente mutato ed integra soluzioni anti-debugging per rendere difficile il reverse engineering. Inoltre ho un sistema di usage tracking in grado di dirmi tutto sull'utente ed un fingerprint dell'hardware, nonché un sistema euristico per il rilevamento di pattern tipici di chi volesse provare ad effettuare dumping o tampering dell'hack. Fin'ora tutto ciò è bastato...
molto interessante, meme non delude
voglio solo spendere due parole per kotic, che nemmeno conosco se non come cheat coder: Il discorso di meme non fa una piega, se alzi il livello devi ridimensionare i termini. Funziona così praticamente in qualsiasi campo.
Mi permetto di chiamarlo genio perchè secondo me definirlo talento sarebbe riduttivo. Se intendiamo "genio" su qualsiasi fronte.. beh.. credo ci troveremo di fronte qualcuno impossibile da valutare per chiunque non sia almeno un mezzo genio (lo dico sempre usando quella regola del livello). Detto questo io trovo questa sua capacità geniale e francamente non do tanto per scontanto che un informatico della Normale di Pisa nel gruppo sperimentale S.Anna possa ottenere gli stessi risultati di Kotic. Per me il fatto stesso che le sue azioni abbiano un peso sul mondo ha del geniale, si va appunto oltre la semplice dote (come dicessi che Mozart era un genio). Il fatto stesso che lui sia Italiano e non Americano da un valore in più alla cosa, non per spirito nazionale ma perchè conoscendo la realtà italiana è veramente una cosa rara che una persona con questo talento sia finita a competere con la mamma di punkbuster. Magari mi sto esprimendo in un modo semplicistico, non me ne voglia , ma se conoscete programmatori italiani che magari hanno frequentato qualche università ipersupercazzula sapete bene che per uno che veramente ha del talento ce ne sono un tot che sanno solo apprendere senza troppo manipolare.
Con questo chiaramente non sto dicendo che kotic è il numero uno.. sto dicendo che anche se prendiamo un ragazzo evidentemente capace e preparato allo stesso livello di kotic e li mettiamo a competere, sono quasi sicuro che il vincitore sarebbe kotic. Per un motivo molto semplice: Kotic è kotic. Kotic è un cheat coder, ha fatto una scelta precisa, ha delle motivazioni precise ed è appassionato della cosa. insomma è estremamente più avvantaggiato del ragazzo di eguale talento e preparazione a cui invece non gliene frega niente.
Detto questo credo di aver ulteriormente meglio definito il livello sul quale personalmente definisco kotic un genio, nulla a che vedere con tutte le altre sfaccettature della persona anche se come anche tu, meme, hai detto il tuo amico è cmq una persona brillante ed intelligente. (se il tuo amico avesse nel suo ambiente lo stesso peso che kotic ha nel suo, definirei sicuramente genio anche lui)

Per tutto il resto seguo perfettamente il tuo ragionamento che è sempre molto ordinato ma sono tuttavia convinto che, anche se non per i suoi diretti antagonisti, kotic possa in qualche modo contribuire a questa causa nel bene. è con ogni probabilità una persona intelligente suvvia, e qui non siamo proprio tutti scemi. Se si collabora già tra noi magari capacità unite a buon senso possono dare qualche risultato, non credi meme?

In ogni caso sto pensando ad una sorta di piano "politico" per cercare di gestire il fenomeno, anche perchè kotic è quello che ci ha fatto il favore di dirci come stanno le cose, ce ne sono sicuramente altri.
Ho già formulato un paio di piani relativamente dettagli anche con l'aiuto di alcuni amici, ma non so davvero a quanti potranno piacere (non quakers, gente "normale", laureandi che devo dire mi sono stati d'aiuto per mettere a fuoco svariati scenari)

Kotic tu vivi a Milano giusto?
Te la butto li, così vediamo se possiamo cominciare da qualche parte..

Tu hai detto che ci sono altri che fanno i cheat e che punkbuster fallisce perchè era nata sui cheat gratuiti. Hai detto anche che il piacere che provi a prenderti gioco di un team di gente che fa un sistema di sicurezza non è paragonabile a quello che si prova nel fare la sicurezza (+ altri mille motivi per non lavorare per i "buoni").
Io ora ti voglio chiedere una cosa: Saresti in grado di essere quello talmente più pro degli altri da metterlo in culo a quelli che fanno il tuo lavoro?
Mi spiego meglio.. tu hai detto che pb ha fatto l'anticheat sul cheat che era li bello pronto da tappare e si è fatta un nome che non ha meriti, giusto?
Non è forse allo stesso modo vero che tu hai trovato pb messo li ed hai fatto la stessa identica cosa?
Puoi realmente biasimare quelli di PB perchè non riescono a sgamarti insomma? tu ci riusciresti?
In definitiva, te la sentiresti di essere quell'unico che basta per tutti?

Grazie nuovamente per i complimenti
Ora quanto al lavorare contro i cheats, ecco una piccola ma significativa serie di problemi che uno come me dovrebbe affrontare:


  • Completa mancanza di supporto da parte della software house che sviluppa il gioco. La EvenBalance ha accesso ai sorgenti completi di quasi tutti i giochi che supporta, una cosa che nemmeno il publisher solitamente ha. Per i giochi open source è un altro discorso...integrare in una versione ricompilata di Q3 le giuste chiamate ad un anticheat sarebbe semplice, come è semplice sapere quali sono i punti preferibili per un cheat coder in cui inserirsi., ma questa è un'altra storia, specie perché ho venduto cheats per Q3 e per onestà intellettuale e conflitto d'interessi non potrei produrre un anticheat per quel gioco.
  • Supporto delle piattaforme. Io sono strettamente legato alle tecnologie Microsoft fin dalla mia prima riga di codice, scritta ormai secoli fa, e di Windows so decisamente quello che serve per fare un anticheat, ma se si trattasse di portarlo su altri sistemi operativi calerebbe il buio. Inoltre se dovessi rilasciare un anticheat, rilascerei eseguibili decisamente protetti. Per fare questo userei strumenti compatibili solo con il formato PE, proprio degli eseguibili per windows, in quanto nessuno fino ad oggi sembra aver avuto un serio interesse a creare strumenti di protezione per altre piattaforme.
  • Supporto agli utenti: come detto in precedenza l'ultima cosa che intendo fare è perdere la vita a risolvere problemi di compatibiltà della gente perché ho usato questo o quel trucco che per chi è rimasto a XP SP0 o per chi ha un crack per il WGA fatto 1po' male non funziona.
  • Troppo lavoro per una sola persona: anche assumendo di voler supportare un solo gioco la mole di lavoro è impressionante, credetemi. Fosse un team di altre 2-3 persone (tutte con buona conoscenza di C++, assembly e fondamenti di sistemi operativi, preferibilmente conoscenza WinAPI) anche sì, ma diversamente è troppo. Certo non c'è bisogno di qualcosa come l'anticheat di warsow (l'ultima volta che l'ho provato era ancora così stupido che facendo fallire GetModuleHandle su un modulo di quelli che desiderava analizzare saltava completamente il check senza causare violazioni di alcun genere) e un buon prodotto richiede tempo.
  • Tutto il tempo speso non sarebbe giustificabile in termini di remunerazione (non che quella attuale sia elevata, ma almeno mi da una difesa da attacchi del tipo "quello che fai non vale niente").

@sgra: ti anticipo che se trovi una soluzione per questi problemi chapeau, puoi contare sulla mia partecipazione, diversamente la vedo...del colore dello sfondo del forum
Antracite?

Una domandina. Giuridicamente e' illegale fare quello che fai? Se ti presenti a EvenBalance o alla ID e racconti quello che fai/hai fatto, ti becchi una denuncia?
io invece mi chiedo cosa farai a 30 anni? Secondo me hai trovato una grossa scusa per coprire il tuo non sapere in alcune parti di programmazione che non ti permettono di far domanda di assunzione in alcune ditte che producono/sviluppano videogiochi o parte di esse, correlato al fatto che la maggior parte dei giocatori non ha idea di cosa significhi programmare in assembly e derivati come l'FP è facile sparare due termini di un certo livello e buttare li frasi a caso. Sinceramente penso che una persona non abbia l'ambizione di creare un cheat nella vita. Il fatto che tu ti sia buttato a cercare il cheat perfetto significa che devi coprire un vuoto dall'altra parte che ti rode e non riesci a colmare.

gl cmq eh.
secondo me se ammazzi il pro gaming ci fai solo un favore a tutti
visto che stiamo entrando nel dettaglio del codice, vediamo se kotic sa darmi qualche consiglio su un problema affrontato al lavoro.

Ho un oggetto COM scritto in c++ referenziato a una applicazione .net (c#).
Nell'applicazione .net ho scritto una funzione che crea una stringa formata da una chiave di licenza corretta + un numero generato randomicamente.
Di questa stringa generata creo un hash md5 e lo confronto con il risultato di un metodo dell'oggetto COM al quale passo lo stesso numero random generato, il quale prende la chiave di licenza attualmente utilizzata dall'utente e crea un hash md5 come nella funzione .net.
problema numero 1: nell'applicazione dot net ho dovuto mettere hardcoded il valore di una chiave di licenza corretta in una stringa, che non mi sembra molto sicuro.
problema numero 2: il tutto si riduce ad un IF, nel quale confronto i 2 hash generati dall'oggetto com e dall'applicazione dotnet, solo che credo che questo if sia facilmente skippabile da una persona mediamente skillata nel cracking.

Hai qualche altra soluzione da propormi? (possibilmente isi da implementare)

Ne ho una quantità, non una...
Premesse: se non proteggi adeguatamente mediante offuscamento(ed eventuale packing) l'assembly .NET sarà questione di meno di un minuto per chiunque effettuare il cracking.
Ecco tuttavia una serie di soluzioni che puoi adottare, partendo da quelle più semplici:


  • per aumentare la difficoltà del cracking usa un SN per l'assembly .NET.
  • cambia il sistema per fare una cosa 1po' più sicura: visto che è nell'oggetto COM che si ottiene la chiave di licenza in uso, riprogramma il codice di verifica di conformità della chiave in C++ (il codice nativo si offusca e protegge molto facilmente, l'MSIL invece è difficilissimo da proteggere). A questo punto se il codice .NET è per un EXE, la cosa più conveniente sarebbe usare una chiamata a TerminateProcess se il controllo della licenza fallisce nel COM. Se invece stai programmando un add-in continua a leggere
  • critta tutte le comunicazioni tra COM e assembly (assumo che nessuno dei due sia usato solo per questioni di licenza) passando stringhe base64 ottenute crittando ogni parametro con AES256 e usando come chiave qualcosa di derivato dalla licenza esatta (quanto all'IV passa pure un random da usare come nonce direttamente, è un problema minore e se capiscono che stai facendo non importa quanto compilcato è l'IV, ti fregano) così se una parte non conosce la chiave di licenza esatta incontrerà errori crittografici. In questo modo non ti serve nemmeno tenere un codice esatto come string nell'assembly, crei il valore in runtime e poi viene direttamente trasformato nella chiave di crittografia, che è un oggetto byte[] in memoria e non salvato nell'assembly. In questo modo sarà più difficile capire il significato e origine della key per uno che disassembla.
  • mischia la logica del programma a quella dell'autenticazione spezzando il codice di verifica in più parti del programma eseguite necessariamente in maniera consecutiva evitando così blocchi interi di codice che uno possa ad esempio NOPare (sì, puoi farlo anche in .NET, il NOP è 00 in MSIL)
  • Se sono molti gli assembly che fanno parte del progetto, aggiungi un riferimento a quello che controlla la licenza in tutti gli altri. In questo modo se qualcuno modifica lo strong name, dovrà anche aggiornare tutti i riferimenti altrimenti il caricamento dell'assembly non aggiornato fallirà
  • Usa DNGuard HVM. Se hai le tasche profonde è la soluzione migliore, possibilmente abbinata alle precedenti. Se non te lo puoi permettere (è l'unico che ti possa dare qualche sicurezza, tutti gli altri sono stati unpackati, deoffuscati etc facilmente in passato) è sempre questione di poco tempo affinché uno abbia successo nel cracking. In ogni caso offusca, offusca e offusca

Quanto a blackdragon mi fa abbastanza ridere, personalmente programmo tutti i principali linguaggi di programmazione (salvo javascript - mai avuto una passione per tecnologie web) ed altri ancora, e lo faccio in maniera non solo elegante, ma anche efficiente. Certo non ho fatto domande di assunzione per diventare un programmatore nella vita, non è questo che voglio e certo grazie alla mia situazione economica familiare non ne ho bisogno. In passato la mia capacità di programmazione (e non di cheats) ha fatto anche comodo a mio padre, che aveva un'azienda indietro su un progetto per un grosso appalto e anche grazie a me è riuscito ad arrivare in tempo. Insomma, dite quello che volete ma non che: non ho una vita - esco di continuo e sono molto inserito, donne non mancano etc; non so programmare - chi me lo dice deve dimostrare di essere migliore di me e nonostante ciò di non essere niente di che; che è banale fare quel che faccio - quando ho iniziato a usare cheats programmati da me e non rilevati su Q3 avevo 16 anni ed ero completamente autodidatta (avevo tuttavia iniziato a programmare 6anni prima), ora ne ho 20 e se anche fossi al livello a cui ero 4 anni fa (e sono molto più in su) sarei comunque sopra alla media di qualsiasi perito informatico e quasi di qualunque studente di ingegneria informatica (cosa che so visto che sono uno di quelli).
Quello che c'è da dire è univoco assolutamente:

genio o non genio, di qualsiasi natura, razza, genere tecnico o artistico, non è più tale nel momento in cui si adopera nell' "illecito" e nel momento in cui il suo operato non è per il bene della gente o società.

Mi è subito giunto a mente un unico concetto di elogio e lo esprimo senza nessun tipo di recriminazione alcuna e lo esrpimo a chi come kotic si adopera per ledere a cose persone e/o anche semplicemente in un contesto ludico:

VERGOGNA
tra l'altro potevi evitare di postare un banale vettore.
bah... grazie a dio cé la gente che crakka le cose... senno certi software per uso educativo non me li potrei di certo permettere

certo cé da dire... se il problema economico non si pone, ma si é mossi dal gusto della sfida, io opterei per crackare applicazioni costose, piuttosto che creare cheats per quake...

Suppongo che sia molto piu una sfida, craccare XSI da 20mila dollari che punkbuster...

ma forse mi sbaglio...
beh..
due punti credo di riuscirli a fare fuori facilmente, soluzioni trovate quasi subito

dammi tempo per vedere se riesco a risolvere il resto kotic

per quanto riguarda la domanda di meme? come stanno le cose dal punto di vista legale esattamente?


Devo quotare scusate
come fa ad ammazzare il pro gaming? Le competizioni si vincono in lan.....


Norchia il calcio piace a tutti, dai il tempo a sti giochini di diventare come il calcio

poi stai sicuro che i "calciatori" la smetteranno di andare a giocare nel campetto dietro la scuola insieme a tutti gli altri e li lasceranno li a giocare tra loro

se poi il titolo di ragazzino che gioca nel campo dietro la scuola sta scomodo a qualcuno che sa farsi il figo tra i ragazzini.. c'è sempre la serie D, la c2 la c1 e la b

esiste ed esisterà sempre il livello professionale di qualcosa

Eheh, mi sopravvaluti, sono bravino ma non sono il famoso porco di 3 lettere, quindi non devi chiederlo a me il tempo
Detto questo la questione legale è semplice. SE si riuscisse a provare che ho violato un EULA (e non è banale) e se l'EULA reggesse alle leggi italiane e a ottimi avvocati che lo attaccano allora FORSE potrei avere sanzioni pecuniarie in ragione del danno causato, ma questo in primo grado. Ora della cassazione sarei certamente pulito, e comunque meno di 10anni non passerebbero. Insomma, in termini di legge sono in una botte abbastanza solida...
Quanto al cracking è noioso, creatività zero, il cracking è tutto metodo. Non importa se fai un crack per un software da 500€ o da 60000€. Ho visto crack a tutti per tutte e due le fasce e gente che ha dimostrato come la protezione di quello da 500€ fosse migliore di quello da 60000, il prezzo non conta niente. I software più costosi poi vengono spesso venduti senza nemmeno copy protection, visto che si tratta di soluzioni personalizzate per clienti enormi e la sola installazione richiede il lavoro di tecnici per giorni.


Non sono daccordo, ne parleremo in altre sedi.
più leggo e più capisco che kotic in un certo senso è affascinante
ok snake sta diventando gay