Sunteți pe pagina 1din 17

Ingineria inversa - generalitati

Ce este ingineria inversa ?


Ingineria inversa este procesul de extragere a cunotintelor sau a elementelor de design din orice
obiect facut de mana omului. Conceptul a fost abordat cu mult inaintea calculatoarelor sau a tehnologiei
moderne si probabil dateaz din perioada revolutiei industriale. Ingineria inversa este similara cu cercetarea
stiintifica numai ca, n cazul procesului de inginerie inversa obiectul investigat este facut de mana omului, iar
in cercetarea stiintifica este vorba despre un fenomen natural.
Ingineria inversa este de obicei un proces derulat pentru a obtine informatiile lipsa, ideile si filosofia
de design atunci cnd asemenea informatii lipsesc. n unele cazuri informaiile sunt detinute de cineva care
nu este dispus sa le distribuie. In alte cazuri informatiile au fost pierdute sau distruse.
n mod traditional ingineria inversa consta in studiul unor obiecte create de om si disecia lor
pentru a le descoperi secretele designului. Asemenea secrete au fost apoi folosite pentru a face produse
similare sau mai bune. In multe industrii ingineria inversa implica examinarea produsului sub un microscop
sau analizarea componentelor sale pentru a descoperi rolul fiecareia.
Tehnologia software este una din cele mai complexe tehnologii existente in zilele noastre. Ingineria
inversa n acest caz este ingineria deconstruirii programelor si consta in deschiderea cutiei unui program
pentru a privi inauntru. Ca i ingineria programarii, ingineria inversa a programelor este un proces pur virtual
ce necesita numai un procesor si mintea umana. Ingineria inversa a programelor necesita intelegerea
profunda a calculatoarelor si a ingineriei programarii si combina o serie de elemente, cum ar fi: spargerea de
cod, programare, analiza logica, inspiratia rezolvarii unui puzzle. Procesul este folosit de o larga varietate de
oameni pentru o larga varietate de scopuri. In majoritatea industriilor, ingineria inversa este folosita n scopul
de a dezvolta produse competitive. In cazul industriei software, programarea este un proces atat de complex
incat in multe cazuri ingineria inversa pentru scopuri competitive este considerata a fi un proces prea
sofisticat si nu se justifica din punct de vedere financiar.
In general, exista doua categorii de aplicatii ale ingineriei inverse a programelor: una are legatura cu
securitatea sistemelor software, iar cealalta cu ingineria programarii. Ingineria inversa a programelor este
foarte cunoscuta printre spargatorii de sistem care o folosesc pentru a analiza si eventual a depasi diferite
scheme de protectie.
Internetul a schimbat complet industria calculatoarelor i aspectele legate de securitatea proceselor
asistate de calculator. Software-ul malitios, cum ar fi virusii, se raspandete foarte repede intr-o lume in care

1
milioane de persoane sunt conectate la Internet si folosesc e-mail-ul zilnic. Acum 10-15 ani, un virus ar fi
trebuit n mod normal copiat pe o discheta i acea dischet introdusa ntr-un alt calculator pentru ca virusul sa
se rspndeasc. Procesul de infectare era destul de lent, iar procedeul de aparare era mult mai simplu de
realizat, deoarece canalele de infectie erau numai cateva si cereau interventia umana pentru ca programul sa
se raspandeasca. In zilele noastre, datorita Internet-ului virusii moderni se pot raspandi automat catre
milioane de calculatoare, fara nici o interventie umana. Astfel, ingineria inversa poate fi folosita pentru a
localiza vulnerabilitile sistemelor de operare. Aceste puncte slabe pot fi utilizate apoi pentru a depasi
sistemul de aparare, permita nd infectarea. Dincolo de infectare, responsabilii atacului folosesc uneori
tehnicile de deconstruire pentru a localiza vulnerabilitatile programelor, care permit unui program malitios sa
aiba acces la informatiile sensibile sau chiar sa obtina control total asupra sistemului.
Etapele ingineriei inverse

1. Scanare 3D
2. Importare format stabilit catre un software specializat
3. Reconstructie
4. Realizare solid (format CAD)
5. Fabricare

1.Scanarea 3D

Scanarea 3D se poate face folosind sisteme portabile de masura prin palpare/scanare ,fie prin diverse solutii
constructive.Va voi prezenta sistemul portabil Kreon Tehnologies.

Figura 1.Brat robotic Kreon Tehnologies.

2
Principiu de functionare :

Piesa se fixeaza pe masa de lucru ,iar pentru scanare se defineste un palpator ( o bila cu diferite
dimensiuni in functie de dimensiunile piesei) ,sau se poate scana cu ajutorul laserului.Bratul trebuie calibrat
inainte de a se porni scanarea pentru a nu avea erori in stabilirea axelor de lucru.Intotdeauna in timpul scanari
pozitia laserului trebuie sa fie perpendiculara pe suprafata de lucru iar linia de referinta a scanerului trebuie
sa fie incadrata in mijlocul cercului. (fig.2)

Fig.2 Scanarea unei piese

3
2.Importare format stabilit catre un softwere specializat

Dupa realizarea scanarii ( se poate face cu ajutorul mai multor programe , Polyworks ,Solidworks,
Metrolog XG) ,se va realiza norul de puncte care se va importa ulterior in Catia .Densitatea norului de
puncte poate varia in functie de numarul de filtre folosite.Ideal ar fi sa avem un numar de puncte cat mai mic
,dar care sa ne ofere informatii despre suprafata piesei intr-un mod cat mai corect .Pentru reconstructia piesei
exista un numar de pasi care trebuie urmat pentru obtinerea produsului final.

Pasul 1. Spatiul de lucru

Trebuie sa selectam Modulul Shape , si apoi sa mergem catre Digitized Shape Editor,( fig.3 )
,deoarece aici putem introduce formatul nostru AC FILE, SAU PCL (point cloud library ) .Este vorba in
ambele cazuri de un format definit in programul cu , care a fost realizata scanarea piesei.

Fig 3 . Spatiul de lucru ales.

In partea de digitized shape editor , putem importa fisiere de tip point cloud,dar si prelucra ulterior
norul nostru de puncte,prin aplicarea numeroaselor tipuri de filtre ,si alte operatii ce au ca scop refacerea
manuala a suprafetei cum ar fi reconstructia prin utilizarea triunghiurilor.Se vor selecta suprafetele piesei
care prezinta defecte cum ar fi gauri sau ruperi ,apoi vom allege trei puncte intre care se va construe un
triunghi ,insa aceasta comanda se utilizeaza doar daca triunghiul poate mentine planeitatea suprafetei acolo
unde este nevoie ,mai pe scurt spus ,trebuie ca triunghiul format sa ramana pe acelasi plan cu piesa.

4
Pasul 2 . Importarea fisierului dorit

Fig.4 Importarea fisierului.

Din fereastra Insert se alege comanda import iar apoi se va selecta locatia fisierului,click pe apply ,iar
cand programul a terminat de importat norul de puncte se la selecta ok.

In figura 5 , se prezinta densitatea norului de puncte ,densitate care a fost stabilita in programul
Metrolog XG , program folosit in realizarea scanarii piesei .Chiar daca au fost aplicate filtre in acest program
,mai pot aparea insa dificultati datorita aparatului matematic complex al programului Metrolog XG, acolo
filtrele sunt aplicate in mod special pentru a diferentia suprafata de lucru ( este o masa solida folosita pentru
fixarea piesei ,dar si pentru pozitionarea bratului robotic) de piesa.Diferentierea se refera la faptul ca , in
timpul scanarii datorita numarului ridicat de treceri peste suprafata piesei cu scanerulu ,piesa are foarte multe
puncte, puncte ce nu pot evidentia conturul piesei .Prin urmare se formeaza puncte si pe suprafata de lucru
,deci trebuie sa avem in vedere o filtrare bazata pe planul in care lucram.Astfel o filtrare pentru punctele
aflate intr-o anumita vecinatate vor ramane ,iar cele care nu fac parte din planul nostru construit care nu au
alte puncte in vecinatatea apropiata vor fi sterse .Desigur culoarea norului de puncte poate fi modificata in
programul CATIA V5, prin selectarea Part Body ,si la proprietati ,putem selecta o culoare care sa ne ofere o
informatie mai exacta asupra densitatii norului de puncte construit.

5
Fig 5. Densitatea norului de puncte

Norul de puncte poate prezenta goluri ,linii in plus sau anumite defectiuni .De aceea norul de puncte
va trebui filtrate si aliniat.Norul de puncte este dat de ordinea si numarul de treceri in perioada scanarii ,asfel
piesa poate avea puncte duplicate sau puncte necorespunzatoare.

Un nor de puncte este un set de date intr-un anumit sistem de coordonate. Intr-un sistem de
coordonate tridimensional, aceste puncte sunt de obicei definite de coordonatele X, Y si Z, si deseori este
destinat sa reprezinte suprafaa externa a unui obiect. Norul de puncte poate fi creat de scanere 3D. Aceste
dispozitive masoara un numar mare de puncte de pe suprafaa unui obiect. Norul de puncte reprezint setul
de puncte pe care dispozitivul a masurat. Ca rezultat al unui proces de scanare 3D norul de puncte este
folosit in mai multe scopuri, inclusiv pentru a crea modele 3D CAD pentru piese fabricate, metrologie / de
control de calitate, precum si o multitudine de vizualizari, animatii, randare si aplicatii de personalizare n
masa. In timp ce norul de puncte poate fi redat in mod direct si inspectat, de obicei, norul in sine nu este , in
general, n mod direct utilizabil n majoritatea aplicatiilor 3D, si, prin urmare, este de obicei convertit in
modele polygon, ochi de plasa sau cu ochi de triunghi, modele de suprafata NURBS sau modele CAD printr-
un proces denumit in mod obisnuit ca reconstructie de suprafata. Exista mai multe tehnici de transformare a
unui nor de puncte la o suprafata 3D.O singura aplicatie, n care norii de puncte sunt direct utilizabili este
metrologia industriala de inspecie prin tomografie computerizata industriala. Norul de puncte de o parte
fabricat poate fi aliniat la un model CAD (sau chiar un alt nor de puncte ), si comparat pentru a verifica
diferenele. Aceste diferene pot fi afisate ca harti de culori care dau un indicator vizual al abaterii dintre
partea fabricata si modelul CAD. Dimensiunile si tolerantele geometrice pot fi extrase direct din norul de
puncte.

6
Fig .6 Nor de puncte piesa de sustinere

3.Reconstructie

Pasul 3.Generare mesh

Folosind comanda ( generate mesh se va selecta norul de puncte ,iar apoi se va genera dupa metoda dorita) fig. 6

Fig.6 Generare Mesh .

Dupa selectarea norului de puncte putem selecta modul dorit de lucru , in sensul ca mesh ul poate fi
construit din triunghiuri ,sa aiba proprietati cat mai bune de redare ,sa tina cont de vecinatatea punctelor pe o
distanta specificata de noi ,si ce tip de mesh dorim unul 3D ,sau 2D.
7
Norul de puncte va fi transformat ,obtinandu-se astfel alinierea si unirea punctelor dupa un tip anume
selectat(unirea prin triunghiuri ,puncte invecinate ,etc).Se va genera mesh-ul ,care ne ofera posibilitatea
ulterioara de conceptie a unei suprafete .De astfel dupa cum se poate observa ,piesa contine imperfectiuni
care vor fi corectate (fie prin optiunea de fill holes,optimize ,sau mesh control).

Figura 7.Mesh-ul generat

Dupa cum se poate observa in figura 7 ,datorita numarului de treceri ,si a dificultatilor avute in
scanarea suprafetelelor curbe( piesa este prinsa intr-o singura pozitie si scanarea se face pe ambele fete ,insa
apar dificultati in zonele lucioase,deoarece spectrul laserului se va reflecta ) apar cateva fisuri nedorite ,fisuri
ce vor fi corectate prin recreerea de triunghiuri.Optimizarea pieselor este necesar deoarece ,in operatiile
urmatoare va fi nevoie de o reconstructive a suprafetei ,prin metoda linie ,punct ,iar daca aceste goluri ar fi
pastrate ,suprafata noastra ar avea denivelari ,ce ar crea ulterior probleme in generarea solidului .

8
Pasul 4 .Operatii de filtrare si optimizare

Folosind comanda mesh cleaner ,se pot sterge triunghiurile formate care nu coincide cu piesa
,programul analizeaza numarul si directia triunghiurilor iar in functie de distanta aflata de alte triunghiuri (
asa numitele vecinatati ) se vor elimina acele triunghiuri care nu coincide.

Folosind comanda fill holes, se vor umple gaurile de care nu avem nevoie.Umplerea se face pe
un diametru selectat de noi ,si se va realiza pentru intreaga suprafata a piesei .

Folosind comanda remove , putem accesa metode de a sterge neregularitatile de pe suprafata


piesei ,aici avem mai multe metode , putem sterge triunghiuri formate, sau putem folosi o pensula pentru
stergerea pe o dimensiune mai mare .

Folosind comanda filter , putem modifica numarul efectiv de puncte ,pentru ca un numar mare
de puncte duce la ingreunarea desfasurari proiectului ,chiar si la imposibilitatea realizari ( in constructia unei
piese am intalnit un nor de puncte format din aproximativ 6.000.000 de puncte ,ceea ce ducea la blocarea fara
posibiliatea revenirii programului) .Reducerea se face de obicei undeva la 25 -70 % din numarul total de
puncte .Insa nu trebuie reduse punctele de care avem nevoie,ci in mod special cele care sunt duplicate,sau in
exteriorul piesei.Desigur ,in cadrul acestei comenzi exista mai multe variante putem filtra tipuri de puncte in
functie de omogenitate , un filtru adaptiv,sau pe o distanta selectata de noi .

Folosind comanda optimize ,mesh-ul va fi vizualizat mai clar si va fi pus mai bine in evidenta
prin imbunatatirea conturului exterior.

In figura 7 se poate observa o inchegare mai buna a suprafetei , si acele linii care evidentiaza conturul
piesei pentru a putea ulterior construi suprafata.Se poate observa ca numai avem acele mici gauri in
constructia piesei de care nu mai avem nevoie.

Toate aceste operatii devin necesare pentru realizarea cat mai precisa a produsului final,deoarece
fara operatiile de filtrare puncte se poate ajunge chiar la imposibilitatea realizari de suprafata si implicit
imposibilitatea realizarii solidului.Fiind prea multe puncte multe dintre acestea vor depasi conturul piesei ,iar
generarea de suprafete se bazeaza pe metoda linie punct, prin urmare planeitatea suprafetei ,va fi imposibila
daca punctele noastre vor iesi din planul piesei ,si vor fi mai sus decat celelalte .Stergerea unui numar de
puncte nu afecteaza intotdeauna calitatea suprafetei insa sunt si cazuri in care filtrarea poate duce la
eliminarea unor puncte de care aveam nevoie iar in acest caz suprafata piesei trebuie reconstruita folosind
metoda triunghiurilor.Este de preferat ca filtrarea sa se faca in numar cat mai mic deoarece reconstructia
prin metoda triunghiurilor nu are o eficacitatea foarte mare .

Un lucru important de retinut ,in utlizarea comenzii fill holes ,selectarea incorecta a diametrului poate
duce pana la umplerea gaurilor care trebuiesc construite ,fapt ce nu este de dorit ,deoarece piesa va deveni un

9
contur plin .Desigur se poate folosi comanda de realizare a gaurilor ulterior insa ,nu vom avea nicio
informatie despre dimensiunea ce trebuie realizata in vederea construirii gauri .

Figura 7.Mesh-ul filtrat.

O data cu filtrarea mesh-ului defectele de suprafata au fost inlaturate.In continuare se mai pot face
cateva operatii de finisare ,cum ar fi stergerea punctelor ce nu sunt in perimetrul dorit ,sau eliminarea
triunghiurilor ce nu au vecinatate.Nu au vecinatate in sensul ca intreg ansamblul este construit din un numar
de aproximativ 400.000 de mii de triunghuri (1.200.000 de puncte) , iar unele din ele sunt in exteriorul
conturului dorit.

In continuare se trece la modelarea suprafetelor.Se va utiliza metoda linie punct ,unde se vor trasa un
numar de contururi formate din puncte si linii ,care ulterior cu ajutorul comenzi fill se va transforma in
suprafata.Trasarea punctelor si liniilor este una din metodele utilizate folosind limbajul de programare
CATIA V5,,metoda ce permitereconstruirea unor suprafete cu un grad ridicat de dificultate si la un grad de
corectitudine ridicat.Deisigur ca o exagerare in scanare,poate duce la un numar exagerat de puncte,exagerarea
ce poate duce pana la blocarea programului si imposibiliatea de a reconstrui piesa.Insa aceasta exagerare se
poate corecta fie din programul folosit pentru scanare(exemplu Metrolog,fie prin Catia),metoda fiind
realmente similara si anume filtrarea numarului de puncte.

10
Pasul 5 .Construirea schitelor pe mesh .

Se selecteaza Shape, apoi quick surface reconstruction pentru realizarea ulterioara a conturului piesei (fig8).

Fig.8 Spatiul de lucru selectat

Folosind comanda curve 3D ,putem realiza suprafete curbe acolo unde avem nevoie ,aceasta
comanda este folosita si pentru realizarea arcelor de cerc.

Insa nu putem construi toata piesa numai din suprafete curbe ,deci va trebui sa modifcam spatiul de
lucru deoare in quick surface reconstruction toate comenzile sunt aproape exclusive dedicate pentru
realizarea de contururi formate din curbe, arce de cerc etc.

Asadar vom selecta shape si vom merge catre generative shape design unde vom si ramane pana la
realizarea complete a suprafetelor( fig.9).

11
Fig.9 Selectarea spatiului de lucru

Folosind comenzile ( linie si punct) putem realiza contururi pe care ulterior sa le transformam
in suprafete.

12
Figura 10.Modelarea contururilor

Figura 11 .Definitvare contur

Conturul generat trebuie sa fie compplet,si sa acopere intreaga suprafata a piesei ,este necesar ,ca in
cadrul constructiei ,,conturul sa fie in acelasi plan cu piesa,iar punctele sa fie construite pe suprafata piesei ,si
nu in exterior,deasupra sau orice alta parte care nu se intersecteaza cu piesa.In figura 8 se poate observa ca
este vorba de de mai multe contururi realizate ,acest fapt se datoreaza datorita neregularitatilor piesei date de
trecerea scanerului peste piesa.Astfel cu cat numarulde contururi este mai mare cu atat piesa devine mai
exacta ,insa totodata poate afecta complexitatea piesei ,deoarece in trecerea din suprafata in solid pot aparea
diverse probleme legate la imbinarea suprafetelor ( muchiile,suprafetele curbe ) datorita constructiei
solidizarea piesei poate avea probleme.
Astfel se prefera un numar de contururi gandit in prealabil ,pentru realizarea imbinarii lor ,ce face
posibila uniformizarea piesei .

Pasul 6.Realizarea suprafetelor

Folosind comanda fill ,din contururile realizate se vor genera suprafete .Insa si aici pot aparea
diverse probleme legate de distanta punctelor,astfel ca un contur mare , cu puncte aflate la distante ridicate
,in construirea suprafetei poate genera ondulari ale suprafetei datorita neregularitatilor punctelor. Insa aceste

13
probleme pot fi inlaturate prin selectarea unei abateri minime.( deviatii minime ,care pot atinge valori
maxime de 0,1)

Folosind comanda blend surface ,se pot realiza contururi intre doua cercuri selectate, insa pentru
a realiza acest lucru este nevoie ca acele contururi realizate din mai multe linii si puncte sa fie unite .

Folosind comanda join ,se va realiza unirea tuturor liniilor si punctelor selectate intr-un singur
contur.

Figura 12 .Crearea suprafetelor

In creearea procesului de suprafete trebuie tinut cont de toleranta suprafetei data de optiunea fill ,in
sensul ca se accepta o toleranta de ordinal zecimilor .Ordinea nu este importanta se poate genera de la
exterior catre interior sau invers.O data obtinuta suprafata solida se poate genera si solidul pentru piesa
noastra de sustinere.Trecerea in solid se poate face utilizand comenzile de baza ,Pad,Thick Surface etc

Pasul 7.Realizarea solidului .

Solidul se construieste prin selectarea fiecarei suprafete in parte si folosind comanda sau

comenzi similare cum ar fi thick surface .

14
4.Realizarea solid

Figura 13.Solidul construit.

Se poate observa in arbore ,ca pentru realizarea acestei piese de dificultate minima a fost nevoie de
aproximativ 100 de curbe , 12 suprafete si alte operatii .O piesa de plastic cu dificultate sporita poate duce
pana la aproximativ 1000 de puncte si linii ,300 de suprafete ,300 de operatii de unire ,si de asemenea alte
300 de operatii necesare pentru realizarea solidului .(figura 15)

15
Figura 14.Carcasa masinuta de pompieri.

In figura 14 cu galben este reprezentat suprafata piesei iar partea gri ,reprezinta solidul obtinut din
suprafata.

Figura 15.Carcasa finala

Figura 16. Interiorul piesei .

16
Asa cum se poate observa in constructia acestei simple piese de jucarie a fost nevoie de de foarte
multe linii,puncte suprafete si alte operatii .Ca numar de ore necesar realizarii,aproximativ 32 ore.

5.Fabricare

Fabricarea pieselor realizare prin metode de reverse engineering ,este utilizata in principal la firmele care vor
sa inceapa productia in serie a unor piese cu complexitate ridicata .Uneori datorita dimensiunilor unei piese ( bara
fata masina) ,metoda folosita poate fi ceea de reverse engineering ,deoarece avand piesa se poate reproduce si creea
documentatia necesara proiectarii acesteia .

Avantaje reverse engineering.

Realizare piese complexe


Nivel ridicat de precizie
Aparat matematic nu foarte complicat
Numar ridicat de programe care pot fi utlizate

Dezavantaje reverse engineering

Timp de realizare al modelelor ridicat


Costuri echipamente

17

S-ar putea să vă placă și