PDA

View Full Version : MultiIDE


Megasoft
09-03-2004, 10:02
Beh, ragazzi sto sviluppando un IDE Multilinguaggio con varie caratteristiche che la renderanno unica per la didattica come la possibilita di Tradurre istantaneamente da Diagramma di flusso a Codice e da Codice a Diagramma di Flusso.

Che posso dirvi, visitatevi il sito e provatela.
Postate ogni impressione che avete.

http://multiide.altervista.org

ri
09-03-2004, 12:53
upperò complimenti
appena ho tempo ci do un'occhiata... se ne fai una versione per linux :p

Megasoft
09-03-2004, 13:17
Infatti penso di farla. Dammi solo il tempo di completare la win version e poi faccio un porting. ;)

Megasoft
10-03-2004, 21:00
Ho postato l'aggiornamento N°1 al programma. Scaricate e ditemi cosa ne pensate.
Il sito è sempre lo stesso. ;)

DanieleC88
10-03-2004, 21:23
L'idea è grandiosa! Dovrò scaricarlo, prima o poi.
Sarà Open Source? Potremo collaborare al progetto?

Megasoft
10-03-2004, 21:25
Sono ancora indeciso se renderlo Open-Source o meno. Devo pensarci su...

Cmq per ora voglio del FeedBack per vedere se l'idea è piaciuta e se il modo in cui l'ho sviluppata pure.

Poi si vede per un eventuale apertura di un sito su Sourceforge. ;)

Ora se volete proprio collaborare, postate ogni minimo bug o cosa che volete sviluppata nel programma perchè io a fantasia sto messo male. :D

VICIUS
10-03-2004, 22:44
qualche screenshot ? :D
in questo momento non ho windows sotto mano e non posso provarlo ma sono curioso.

ciao ;)

Megasoft
10-03-2004, 22:59
http://multiide.altervista.org/Screen1.JPG
http://multiide.altervista.org/Screen2.JPG
http://multiide.altervista.org/Screen3.JPG
http://multiide.altervista.org/Screen4.JPG
http://multiide.altervista.org/Screen5.JPG

Ne ho fatti un po, ma non coprono tutto il prog. :D

Luc@s
10-03-2004, 23:03
in che lang è?

Megasoft
11-03-2004, 07:18
In che linguaggio è sviluppato o in che linguaggio crea codice?

Luc@s
11-03-2004, 07:21
tutti e 2 :D

Megasoft
11-03-2004, 14:08
Al momento genera codice in Pascal, ma in seguito sara esteso al C e al Basic.

L'ho sviluppato con piu di un linguaggio, ma non posso rivelare di piu per ora:rolleyes:

Megasoft
11-03-2004, 14:20
Per la prossima versione che uscira penso entro 1 settimana o massimo 2 ci saranno questi cambiamenti :

1) Design Blocco Elaborazioni
2) Design Blocco Commenti
3) Bug End; di troppo dopo procedure (Corsa.pas)
4) Creare 2 Modalita, 800*600 e 1024*768
5) Aggiungere i vari filtri (Tutti i file supportati) nei vari dialoghi.
6) Correggere l'auto-indentazione perchè lenta su lunghi file
7) Trasformazione One Way (Pascal |--> Diagramma) del blocco Elaborazioni
8) Trasformazione Two Way (Pascal <--> Diagramma) del blocco Commenti
9) Correggere messaggi Update quando non ci sono aggiornamenti.
10) Rendere possibile la dinamicita degli host negli update.
11) Aggiungere icone agli item del menu Window
12) Migliorare le caratteristiche user Friendly del programma aggiungendo un aiuto in linea su ogni operazione
13) Creare una guida in file .CHM per il programma
14) Aggiungere autocomposizioni per le matrici e per gli altri tipi del pascal.
15) Completare la creazione visiva delle frecce

e forse molto altro ancora.

Luc@s
11-03-2004, 14:33
Originariamente inviato da Megasoft
Al momento genera codice in Pascal, ma in seguito sara esteso al C e al Basic.

L'ho sviluppato con piu di un linguaggio, ma non posso rivelare di piu per ora:rolleyes:

e cosi segreto???
Hai letto il mio messaggio privato?

Megasoft
11-03-2004, 15:56
Ho pure risposto al tuo msg privato.

Per quanto riguarda i linguaggi (perche sono piu di 1) per ora sono segreti, se diventa open-source lo sapranno tutti. ;)

Ecio
12-03-2004, 13:03
complimenti, l'idea mi sembra intelligente (chiaramente con target didattico)!

PS Forse poteva essere interessante crearla sopra Eclipse (www.eclipse.org) che fornisce gia' tutto il necessario x syntax highlighting, code completion e cosi' via, cque in bocca al lupo per il progetto :)

Megasoft
12-03-2004, 13:30
vabbe, quelle cavolate come syntax highlight o code completation le sanno fare tutti. Un parser e via. :)

Grazie per i complimenti

Ecio
12-03-2004, 13:45
Originariamente inviato da Megasoft
vabbe, quelle cavolate come syntax highlight o code completation le sanno fare tutti. Un parser e via. :)


Si, ma meglio ancora se e' gia' integrato nel sistema e tu devi specificare solo le keyword no ? :D

Megasoft
14-03-2004, 10:01
Vabbe, non dobbiamo cadere cosi in basso :D

(ho aggiornato il sito con le nuove caratteristiche del MultiIDE)

Ecio
14-03-2004, 10:48
Originariamente inviato da Megasoft
Vabbe, non dobbiamo cadere cosi in basso :D

(ho aggiornato il sito con le nuove caratteristiche del MultiIDE)

beh, io ritengo Eclipse un'ottima base per costruirci IDE sopra, poi uno e' libero di scegliere la strada che preferisce ;)

DanieleC88
14-03-2004, 15:35
Hmm.. l'ho scaricato (solo l'aggiornamento) e l'ho provato: secondo me dovresti proprio migliorare l'interfaccia. Usi il Delphi? Prova a non riempire ogni finestra con un background gradiente, secondo me è meglio. Poi: usa una toolbar piatta (flat), è più gradevole. Ultima cosa: usi un semplice RichEdit? Forse il tuo progetto sarebbe più professionale con il già citato Eclipse o con Scintilla, etc... Sarebbe comunque meglio scrivere una DLL o comunque un controllo a parte, perchè altrimenti ogni volta si dovrebbe aggionare l'intero eseguibile (che è abbastanza grande, da come vedo: 1.1Mb), e per gli utenti con un 56k sarebbe fastidioso.

Megasoft
14-03-2004, 16:18
Allora...

1) Bravo. Uno dei due linguaggi è il Delphi (l'altro il C++, mi avete scoperto) :eek:
2) Per il fatto degli aggiornamenti ho gia ridotto notevolmente il tutto. ora gli aggiornamenti non supereranno il MB in totale. (il programma l'ho ridotto a 600 kb grazie ad un algoritmo di Encriptazione-Compressione del eseguibile fatto da me appositamente.
3) Uso un discendente del RichEdit fatto da me perchè dovevo aggiungere il Syntax Highlighter e l'autoindentazione (ancora buggosa :D) e le nuove caratteristiche (che usciranno con il nuovo aggiornamento) di N° riga, di movimento Dos-Like (ovvero senza dover riempire di spazi) e di auto-completation (non so se questa la aggiungo gia dalla prossima release).
4) Per il fatto di usare Scintilla o Eclipse rispondo di no perchè odio trasportare DLL con il programma.
5) Per i colori vedo di rendere il tutto piu gradevole :D
6) Il fatto di dividere il programma in DLL non lo faro mai, piuttosto passo ad usare programmi freeware di patching che creano delle patch di sole differenze. (anche se penso che 800-900 Kb li possano scaricare tutti, anche i 56kappettari)

Ecio
15-03-2004, 09:19
Originariamente inviato da Megasoft
Allora...

6) Il fatto di dividere il programma in DLL non lo faro mai, piuttosto passo ad usare programmi freeware di patching che creano delle patch di sole differenze. (anche se penso che 800-900 Kb li possano scaricare tutti, anche i 56kappettari)

Dubito che fare un diff sull'exe abbia un qualche senso (secondo me cambia troppa roba). I file di patching li usano in genere per piccole modifiche (come i cr@ck) oppure fanno diff delle sorgenti...

Megasoft
15-03-2004, 19:08
Fuori il secondo aggiornamento per MultiIDE. In questa nuova release tantissimi bug-fixes e nuove caratteristiche.
(mi sembrava infatti doverosa una release per risolvere i bug gravi che aveva la precedente)

maxithron
15-03-2004, 19:11
Originariamente inviato da Megasoft
Sono ancora indeciso se renderlo Open-Source o meno. Devo pensarci su...


Ecco un serio ostacolo al mio già improbabile ritorno a windows.... :p

DanieleC88
15-03-2004, 22:21
Originariamente inviato da Megasoft
Allora...

1) Bravo. Uno dei due linguaggi è il Delphi (l'altro il C++, mi avete scoperto) :eek:
2) Per il fatto degli aggiornamenti ho gia ridotto notevolmente il tutto. ora gli aggiornamenti non supereranno il MB in totale. (il programma l'ho ridotto a 600 kb grazie ad un algoritmo di Encriptazione-Compressione del eseguibile fatto da me appositamente.
3) Uso un discendente del RichEdit fatto da me perchè dovevo aggiungere il Syntax Highlighter e l'autoindentazione (ancora buggosa :D) e le nuove caratteristiche (che usciranno con il nuovo aggiornamento) di N° riga, di movimento Dos-Like (ovvero senza dover riempire di spazi) e di auto-completation (non so se questa la aggiungo gia dalla prossima release).
4) Per il fatto di usare Scintilla o Eclipse rispondo di no perchè odio trasportare DLL con il programma.
5) Per i colori vedo di rendere il tutto piu gradevole :D
6) Il fatto di dividere il programma in DLL non lo faro mai, piuttosto passo ad usare programmi freeware di patching che creano delle patch di sole differenze. (anche se penso che 800-900 Kb li possano scaricare tutti, anche i 56kappettari)

Vedo che ami complicarti la vita, eh ? :D
Scherzo! Comunque complimenti per l'idea, è rivoluzionaria a dir poco. Spero che tu possa fare grandi cose.

cionci
16-03-2004, 09:02
Magari sarebbe interesante anche poter generare diagrammi UML a partire da codice ad oggetti (è più difficile lo so)...
In quel caso la tua applicazione potrebbe avere applicazioni notevoli, anche se solitamente si passa dal codice UML al sorgente e non viceversa, ma vuoi mettere per un sorgente senza documentazione avere il diagramma UML corrispondente ?!!?!?

Ecio
16-03-2004, 09:22
Originariamente inviato da cionci
Magari sarebbe interesante anche poter generare diagrammi UML a partire da codice ad oggetti (è più difficile lo so)...
In quel caso la tua applicazione potrebbe avere applicazioni notevoli, anche se solitamente si passa dal codice UML al sorgente e non viceversa, ma vuoi mettere per un sorgente senza documentazione avere il diagramma UML corrispondente ?!!?!?

mi pare che il target dell'applicazione sia un pochino piu' basso rispetto al "discorso" UML (mi pare piu' didattica a livello di scuola dell'obbligo che a livello universitario). Cque di prodotti che fanno reverse engineering da sorgente a diagrammi UML (quantomeno class diagram) ce ne sono, per esempio Poseidon (www.gentleware.com) o OmondoUML (www.omondo.com). Il primo e' un prodotto standalone che si integra anche con NetBeans, Omondo invece si integra con Eclipse. Hanno target Java (anche se forse poseidon lavora anche col C++), ma sicuramente ce ne sono tanti altri che supportano altri linguaggi (Se non erro Visio di Microsoft si integra con Visual Studio e permette di farlo per linguaggio come VB, C++/C# etc..)

cionci
16-03-2004, 09:24
Appunto...la proposta era per ampliarne il target ;)

Ecio
16-03-2004, 09:35
Originariamente inviato da cionci
Appunto...la proposta era per ampliarne il target ;)

imho e' meglio mantenere il target circoscritto e realizzare un prodotto valido per un certo tipo di "studente", piuttosto che aggiungere funzionalita' ad ampio spettro che pero' poi vengono sfruttate poco (anche xche' come detto ci sono prodotti gia' ad-hoc, commerciali e non, che svolgono quelle funzioni in modo egregio)

Insomma, meglio un prodotto con tutto il necessario per lo studente delle medie/superiori piuttosto che un'accozzaglia di funzioni che van bene dal bambino delle elementari all'ingegnere :D

Megasoft
17-03-2004, 14:10
Sono pienamente daccordo con Ecio, meglio rimanere in un ambito circoscritto.

Megasoft
18-03-2004, 18:39
Ecco a voi le nuove caratteristiche che conterra MultiIDE nella sua nuova versione che uscira a breve.

http://multiide.altervista.org/Caratteristiche0370.txt

Megasoft
19-03-2004, 21:50
Fuori la nuova versione di MultiIDE. Scaricatela dal sito.

Megasoft
20-03-2004, 22:23
Rilasciate le nuove caratteristiche che conterra la nuova versione di MultiIDE che verra rilasciata fra 7-8 giorni. Controllate sul sito.

Mark0
21-03-2004, 21:06
Originariamente inviato da Megasoft
2) Per il fatto degli aggiornamenti ho gia ridotto notevolmente il tutto. ora gli aggiornamenti non supereranno il MB in totale. (il programma l'ho ridotto a 600 kb grazie ad un algoritmo di Encriptazione-Compressione del eseguibile fatto da me appositamente.Ehm...

D:\trid>trid d:\MultiIDE\MultiIDE.Exe /r:2

TrID/32 - File Identifier v1.55 - (C) 2003 By M.Pontello

Collecting data from file: d:\MultiIDE\MultiIDE.Exe
Definitions found: 1032
Analyzing...

82.7% (.EXE) Petite compressed Win32 executable (29069/9/6)
5.9% (.EXE) Win16/32 Executable Delphi generic (2072/23)
Veramente mi sembra semplicemente il risultato della compressione con Petite (link: http://www.un4seen.com/petite/), ovvero un compressore tipo UPX. L'EXE risultante dev'essere stato poi editato per rimuovere stringhe tipo "Compressed by Petite (c)1999 Ian Luck.", e per buttare un po' di fumo negli occhi.
Ma basta sapere dove guardare.

Infatti, ad esempio, provando ad alterare ulteriormente l'eseguibile (ad esempio modificando il nome della section PETITE), salta fuori la classica MessageBox che Petite aggiunge agli eseguibili se si decide di includere un selfcheck.

http://mark0.ngi.it/var/petite.png

Alla faccia della segretezza! ;)

Bye!

Megasoft
22-03-2004, 07:19
hahahaa, non è compresso con Petite, è una caratteristiche che ho creato appositamente, inserisce titoli dei piu famosi compressori-encriptatori (UPX, .asPack, etc...)
Non farti tutto sto genio, sei solo un n00b xD

(e se fosse stato fatto con Petite perche non lo decripti? xDDDDDD)

Mark0
22-03-2004, 09:43
Originariamente inviato da Megasoft
Non farti tutto sto genio, sei solo un n00b xD
Non è questione di "farsi genio" (e non capisco la necessità di fare ironie di questo genere, visto che io non ho espresso nessun giudizio di merito).
Il punto è che, quantomeno quel pezzo che genera la dialog che ho mostrato, è preso pari pari da Petite.
E forse dico forse Ian Luck non sarebbe entusiasta del fatto che non c'è la sua copyright notice.

Non che ci sia nulla di troppo strano. E' dalla notte dei tempi che come blanda misura anticrack si usano exe packer/encryptor (e probabilmente, come in questo caso, più di uno in sequenza) andando poi a modificare le stringhe leggibili, per renderne più difficoltosa l'identificazione e/o magari non far funzionare il normale decompressore (che per Petite non c'è nemmeno).
Ma modificare le stringhe è una cosa, modificare il codice un'altra; e quello resta in genere riconoscibile.


Bye!

Mark0
22-03-2004, 11:32
Verificando il codice all'entrypoint, ad esempio, direi che l'ultima compressione (o anche l'unica) è stata fatta con teLock. Corrisponde il disassemblato della prima 30ina di opcodes a cui ho dato un'occhiata (che all'entrypoint sono praticamente un'impronta digitale, visto che quello è il codice che effettivamente viene eseguita).
teLock tra l'altro ha proprio la possibilità di inserire le stringhe di altri compressori negli header delle varie section (e anche il numero di queste corrisponde).
Tra l'altro in quel codice ci sono una serie di 0xCC (INT 0x3), ovvero breakpoint per un eventuale debugger (e anche questa è una features di teLock, per complicare un eventuale lavoro di analisi).

Possiamo allora dire semplicemente che il fatto di dire che è un codice che "hai fatto tu appositamente" fa parte del gioco, nel senso di cercare di complicare le cose e dissuadere eventuali analisi? :)

Nessun problema comunque.
Anzi, grazie per l'occasione data per creare una definizione più accurata per TrID.

Bye!

ri
22-03-2004, 11:59
sta prendendo una piega interessante la discussione :)

Mark0
22-03-2004, 13:22
Originariamente inviato da Megasoft
[...]perche non lo decripti? xDDDDDD)
Visto che, data la gentile richiesta, non potevo esimermi dall'ottemperarvi, ho provveduto! :)

http://mark0.ngi.it/var/multiide-unpacked.png

Se vuoi una lista dei componenti inclusi (tra cui, ad esempio, il Synedit (http://synedit.sourceforge.net/) per l'editing/hilighting, etc.), o preferisci l'EXE decompresso (1.7MB circa) via e-mail, fai pure un fischio.

Dunque effettivamente non era stato utilizzato Petite, ma tElock. Il concetto non cambia, nel senso che si tratta di un tool liberamente disponibile, e non di qualcosa creato ad hoc. Il n00b un (po' fuori luogo) mi ha "incoraggiato" ad andare a fondo! :)

Comunque per carità, non voglio uscire troppo dal topic, per cui chiedo venia anticipatamente all'egregio Mod. della sezione.

Bye!

Megasoft
22-03-2004, 14:03
Non è nemmeno teLock! Pero l'algoritmo che sta alla base è quello, dato che è stato fatto prendendo spunto dai sorgenti del TeLock! e risviluppandoli in C++ (la famosa parte in C++ del prog). (i sorgenti li ho avuti dal creatore di TeLock!). ;)

Altro fatto importante è che non uso il SynEdit, ma ho preso spunti dal codice di SynEdit derivando da alcune sue classi per l'autoindentazione, utilizzando il codice liberamente distribuito da SynEdit, e non per l'highlight che è stato fatto con un Parser ricorsivo discendente che penso che sai cosa sia!!! :D

Sei bravino con queste cose, ma lo sai che ora potrei denunciarti dato che detengo il diritto d'autore? Ricordati che queste cose dovresti farle di nascosto e magari mandarmi un e-mail, io naturalmente non faccio nulla, ma potresti incappare in seri problemi legali. :rolleyes:

Detto questo, ti avverto che nella prossima versione ho modificato il MIO algoritmo di encriptazione-compressione e sarà un piacere mostrartelo. :p

Megasoft
22-03-2004, 14:04
Ultima piccola nota, per decriptare l'eseguibile non ci vuole un caspio, basta aprire il programma e poi attacchare un debugger qualsiasi fra i milioni disponibili in rete dato che il file prima di essere eseguito deve venire decriptato. :sofico: Un semplice DUMP e via, pero le conseguenze legali vanno dai 3 anni in poi se non sbaglio. :D

Mark0
22-03-2004, 14:24
Originariamente inviato da Megasoft
Ricordati che queste cose dovresti farle di nascosto e magari mandarmi un e-mail, io naturalmente non faccio nulla, ma potresti incappare in seri problemi legali. :rolleyes: Guarda che sei tu che hai scritto "perche non lo decripti?", per cui tant'è! :)

Nessuno ha poi detto che ci vogliano chissà quali conoscenze per aggirare protezioni di questo genere, anzi: è proprio il motivo per cui nella maggior parte dei casi sono solo una perdita di tempo.

Sul resto delle considerazioni (fatto da chi, con cosa, etc.) penso che ognuno si sarà fatto una sua idea, per cui non avrei intenzione di aggiungere altro.
Buon proseguimento.

Bye!

Megasoft
22-03-2004, 14:31
Vabbe prendere sul serio, lasciamo perdere va. (mio fratello è avvocato e si sta pisciando dalle risate :D)

AGGIORNAMENTI MULTIIDE:

1) Corretti vari bug sull'IDE e sul TRichTextBox.
2) Implementate registrazione e login sulla community server
3) Aggiunte le barre di scorrimento al diagramma (dimenticanza fatale :O )
4) Aumentata sensibilmente la velocita del syntax Highlighter
5) Corretti alcuni bug di interpretazione delle dichiarazioni delle variabili.
6) Aggiunta encriptazione a 128 bit blowfish sulle comunicazioni fra client e server della community
7) e molto altro ancora... :)

cionci
22-03-2004, 15:30
Bbbbooni.... :O

cionci
22-03-2004, 15:37
Non so se è sempre in valida, ma sembra che il reverse engineering sia consetnito qui in italia ;)

http://www.liberliber.it/biblioteca/tesi/giurisprudenza/diritto_del_lavoro/tutela_giuridica_del_software/html/cap3_7.htm

Mark0
22-03-2004, 17:02
... e comunque penso che se la cosa viene simpaticamente richiesta "a mo' di guanto sfida" (Oliano Ferrari di Zelig lo direbbe in un altro modo! :D ) il problema non si ponga nemmeno! :)

Bye!

Megasoft
22-03-2004, 17:56
la vecchia legge lo consente, le ultime modifiche che sono state fatte sul diritto d'autore no. Appena torna mio fratello mi faccio dire il numero legge esatto e il comma. ;)

Ora torniamo in topic se no i mod ci decapitano.

DanieleC88
23-03-2004, 00:18
Si, torniamo in topic, che è meglio :D .
Anzi, proprio a proposito di questo, che ne dici di pensare anche un po' all'aspetto, come già ti avevo detto tempo fa ? (non se se hai già provveduto, ma il mio 56k è da suicidio, quindi cerco di evitare i download :D ) Intendo dire, ad esempio, usa delle icone più curate insieme ad una toolbar piatta: l'aspetto sarà più... professionale, o comunque più gradevole (anche l'occhio vuole la sua parte). Io certo non sono esperto come voi, ma qualcosa ho imparato, finora.

Megasoft
23-03-2004, 07:48
Si, ho cambiato le icone con icone piu professionali e carine, mi manca solo di mettere la toolbar piatta e tutto dovrebbe essere completo. Ho anche aggiunto una barra di scorrimento al diagramma perche molti utenti mi volevano scannare. xD La prossima versione la faccio uscire giovedi o venerdi. Dipende...

Megasoft
25-03-2004, 23:20
Spostato il sito ad un altro indirizzo e ricreato quasi completamente

http://megasoft78.altervista.org

soalle
09-04-2004, 19:00
Detto questo, ti avverto che nella prossima versione ho modificato il MIO algoritmo di encriptazione-compressione e sarà un piacere mostrartelo. :p

Security through obscurity...
esattamente quello che viene richiesto quando si parla di sicurezza...
:eek: :confused:

Mark0
09-04-2004, 19:16
;)

Per ora comunque, anche la nuova 0.2.03.0435 è sempre packed/encrypted con tElock (solo che per i nomi delle varie sezioni è stata scelta la stringa C13, come da apposito setting).

E questo ovviamente, ripeto, senza nulla togliere al programma in se, che è senz'altro interessante.

Bye!

Megasoft
13-04-2004, 07:55
Se avessi visitato il forum avresti scoperto che non ho avuto tempo di fare il 75 % delle cose xche il software è stato adottato da 1 scuola come metodo di insegnamento. >_<

Mark0
13-04-2004, 09:25
Buon per te. Ho sempre scritto che il software in questione era sicuramente interessante (specie nell'ambito didattico).

E' proprio per questo che, se mi posso permettere un consiglio, ti suggerirei di continuare ad investire il tempo nella parte veramente interessante del tuo software (che sicuramente può dare delle soddisfazioni), e lasciare invece perdere improbabili sistemi di "occultamento" custom, che comunque lasciano il tempo che trovano.

Poi fate vobis, ci mancherebbe! :)

Bye!