Hoe (il)legaal is Reverse Engineering?

Pagina: 1
Acties:
  • 653 views sinds 30-01-2008
  • Reageer

  • TheBlasphemer
  • Registratie: September 2004
  • Laatst online: 13-11-2025
Ik denk dat mn topic het eigenlijk al duidelijk maakt, maar toch maar even uitleg ;)
Reverse engineering betekent meestal uitvogelen hoe andere programma's werken. Ikzelf doe heel veel met MSN waarmee ik met IDA (interactive disassembler) en OllyDBG. Ik zoek dan meestal uit hoe ik bepaalde dingen kan patchen, of hoe sommige undocumented interfaces werken.

Ik hoor heel vaak dat Reverse engineering illegaal is, maar ook heel vaak dat het wel legaal zou zijn onder bepaalde voorwaarden. Ik vroeg me af of hier iemand weet hoe dit precies in elkaar steekt?

Alvast bedankt,
TB

[img=http://www.web2messenger.com/smallstatus/w2m/theblasp.png]


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
volgens mij is het reverse enginerren opzich niet illigaal, maar zodra je iets veranderd is het dat wel

This message was sent on 100% recyclable electrons.


  • HunterPro
  • Registratie: Juni 2001
  • Niet online
als je met RE ervoor zorgt dat de ge-RE'de applicatie interoperabiliteit biedt met een andere applicatie zodat je uiteindelijk een beter werkend systeem krijgt, is RE toegestaan. RE is niet toegestaan om code te pikken en logica in je eigen applicatie te stoppen. Je mag dus bijvoorbeeld nakijken hoe dingen afgehandeld worden in een applicatie waardoor jouw applicatie kan praten met de ge-RE'ede applicatie.

Volgens mij is het idee daarachter dat als je op zo'n manier werkt, ook het ge-RE'de product in waarde stijgt. Als jouw product namelijk goed samenwerkt met hun product hebben jouw klanten een hogere kans om ook dát product aan te schaffen.

[ Voor 28% gewijzigd door HunterPro op 26-03-2006 20:33 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Dit wordt zo ongeveer letterlijk behandeld in de FAQ: Programming FAQ - Algemeen. :)

Een hernieuwde visie op dit onderwerp vind ik vooralsnog prima, maar ik wilde de FAQ even genoemd hebben. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 15:06
Als je helemaal zelf iets namaakt dat functioneel hetzelfde is, is het geen probleem denk ik, volgens mij ligt het probleem vooral aan de reverse engineering waarbij je probeert de bestaande toepassing klakkeloos over te nemen, dat mag niet vanwege de copyrightwetgeving.

Dus zoals je perfect legaal een programma mag maken dat CD's brand, en er mooi uitziet, als je alle code/afbeeldingen/... zelf hebt gemaakt. Als je het Nero burnig ROM noemt, of als je de menu's exact overneemt, of stukken code kopieert, of.... ben je wel illegaal bezig.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 10:27
HunterPro schreef op zondag 26 maart 2006 @ 20:30:
als je met RE ervoor zorgt dat de ge-RE'de applicatie interoperabiliteit biedt met een andere applicatie zodat je uiteindelijk een beter werkend systeem krijgt, is RE toegestaan. RE is niet toegestaan om code te pikken en logica in je eigen applicatie te stoppen.
Zelfs dat laatste mag onder bepaalde omstandigheden wel. naftebakje gaf al een aanzet in die richting.
naftebakje schreef op zondag 26 maart 2006 @ 20:38:
Als je helemaal zelf iets namaakt dat functioneel hetzelfde is, is het geen probleem denk ik, volgens mij ligt het probleem vooral aan de reverse engineering waarbij je probeert de bestaande toepassing klakkeloos over te nemen, dat mag niet vanwege de copyrightwetgeving.

Dus zoals je perfect legaal een programma mag maken dat CD's brand, en er mooi uitziet, als je alle code/afbeeldingen/... zelf hebt gemaakt. Als je het Nero burnig ROM noemt, of als je de menu's exact overneemt, of stukken code kopieert, of.... ben je wel illegaal bezig.
Reverse engineering is voor zover ik weet in z'n algemeenheid niet illegaal (volgens NL maar ook USA recht). Hiermee bedoel ik dat er wettelijk geen artikel is wat reverse engineering van software verbiedt. Copyrightwetgeving zoals DMCA en EUCD leggen wel beperkingen aan reverse engineering op, maar dan voor bepaalde gebieden. Een van die gebieden is reverse engineering van kopieerbeveiligingen, wat in principe verboden is. Een ander aspect uit de copyrightwetgeving is plagiaat: reverse engineering kan gemakkelijk tot het kopieren van oplossingen leiden wat niet toegestaan is. Dat laatste wordt overigens vaak voorkomen door clean-room reverse engineering toe te passen: iemand reverse engineert en documenteert, en iemand anders bouwt op basis van de documentatie een implementatie. Een laatste methode die reverse engineering vaak illegaal maakt is contractuele verplichtingen bijvoorbeeld in de gebruikslicentie van de software. Juist in verband met dit laatste zijn er in de wetgeving bepalingen opgenomen dat reverse engineering wel is toegestaan om interoperabiliteit te bewerkstelligen. Feitelijk bieden de wettelijke bepalingen mbt reverse engineering in dit geval meer ipv minder rechten, omdat ze boven eventuele contractuele bepalingen staan. Indien een fabrikant ook reverse engineering dmv een clean-room implementatie of interoperabiliteitsdoel wil voorkomen, dan zal deze geen beroep moeten doen op copyright, maar op patentrecht.
-NMe- schreef op zondag 26 maart 2006 @ 20:37:
Dit wordt zo ongeveer letterlijk behandeld in de FAQ: Programming FAQ - Algemeen. :)

Een hernieuwde visie op dit onderwerp vind ik vooralsnog prima, maar ik wilde de FAQ even genoemd hebben. ;)
De betreffende quotes van Europese richtlijnen zijn m.i. uit kun context gebruikt waardoor de suggestie gewekt wordt dat reverse engineering in principe illegaal zou zijn. De complete richtlijnen zullen overigens ongetwijfeld voldoende materiaal bevatten om een relatief goed antwoord te formuleren. Ik zeg relatief, aangezien Europese richtlijnen geen wet zijn in de individuele lidstaten.

edit: er wordt in de FAQ verwezen naar de 'software richtlijn', maar die is uiteindelijk toch ingetrokken?

edit2: de Auteurswet 1912 hoofdstuk VI en dan met name artikel 45(l/m) zijn relevant. Ik lees hier niet in dat reverse engineering in beginsel verboden zou zijn (45l), hoewel 45i icm 45m wel een zekere ambiguiteit oproepen. Met een run-time debugger de werking vaststellen lijkt sowieso toegestaan.

[ Voor 24% gewijzigd door Rukapul op 26-03-2006 23:59 ]


Verwijderd

Maar veel licenties vermelden een verbod op reverse engineering. Ik ken die van MSN niet, maar het lijkt me erg waarschijnlijk dat de gebruikerslicentie daarvan een verbod op reverse engineering bevat.
Als dit hem is http://messenger.msn.com/Help/Terms.aspx?mkt=en-us
dan staat er
You will not disassemble, decompile, or reverse engineer, any software or any machine included in the Service, except and only to the extent that such activity is expressly permitted by applicable law.
Word je alsnog weer naar de wet verwezen :)

[ Voor 48% gewijzigd door Verwijderd op 26-03-2006 21:38 ]


  • TheBlasphemer
  • Registratie: September 2004
  • Laatst online: 13-11-2025
Rukapul schreef op zondag 26 maart 2006 @ 21:20:
[...]

Zelfs dat laatste mag onder bepaalde omstandigheden wel. naftebakje gaf al een aanzet in die richting.

[...]

Reverse engineering is voor zover ik weet in z'n algemeenheid niet illegaal (volgens NL maar ook USA recht). Hiermee bedoel ik dat er wettelijk geen artikel is wat reverse engineering van software verbiedt. Copyrightwetgeving zoals DMCA en EUCD leggen wel beperkingen aan reverse engineering op, maar dan voor bepaalde gebieden. Een van die gebieden is reverse engineering van kopieerbeveiligingen, wat in principe verboden is. Een ander aspect uit de copyrightwetgeving is plagiaat: reverse engineering kan gemakkelijk tot het kopieren van oplossingen leiden wat niet toegestaan is. Dat laatste wordt overigens vaak voorkomen door clean-room reverse engineering toe te passen: iemand reverse engineert en documenteert, en iemand anders bouwt op basis van de documentatie een implementatie. Een laatste methode die reverse engineering vaak illegaal maakt is contractuele verplichtingen bijvoorbeeld in de gebruikslicentie van de software. Juist in verband met dit laatste zijn er in de wetgeving bepalingen opgenomen dat reverse engineering wel is toegestaan om interoperabiliteit te bewerkstelligen. Feitelijk bieden de wettelijke bepalingen mbt reverse engineering in dit geval meer ipv minder rechten, omdat ze boven eventuele contractuele bepalingen staan. Indien een fabrikant ook reverse engineering dmv een clean-room implementatie of interoperabiliteitsdoel wil voorkomen, dan zal deze geen beroep moeten doen op copyright, maar op patentrecht.

[...]

De betreffende quotes van Europese richtlijnen zijn m.i. uit kun context gebruikt waardoor de suggestie gewekt wordt dat reverse engineering in principe illegaal zou zijn. De complete richtlijnen zullen overigens ongetwijfeld voldoende materiaal bevatten om een relatief goed antwoord te formuleren. Ik zeg relatief, aangezien Europese richtlijnen geen wet zijn in de individuele lidstaten.
Wow, wat jij dus zegt is dat reverse engineering in principe niet illegaal is, tenzij het voor illegale doeleinden wordt gebruikt of in strijdt is met een gebruikerslicentie? :o
Dat is dan meteen ook fundamenteel anders dan wat ik tot nu toe altijd had gedacht!

[img=http://www.web2messenger.com/smallstatus/w2m/theblasp.png]


  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 10:27
Zie ook m'n laatste edit. In principe geeft artikel 45m juist meer rechten. Echter, bepaalde handelingen benodigd voor reverse engineering (zoals laden endecompilatie) worden in 45i juist als verveelvoudiging aangeduid. De exacte scope van 45i bepaalt dus of een beroep op 45m nodig is om reverse engineering te legitimeren. Dat laatste zou jammer zijn omdat 45m slechts een hele beperkte breedte heeft.

Verwijderd

TheBlasphemer schreef op zondag 26 maart 2006 @ 21:38:
[...]

Wow, wat jij dus zegt is dat reverse engineering in principe niet illegaal is, tenzij het voor illegale doeleinden wordt gebruikt of in strijdt is met een gebruikerslicentie? :o
Illegaal betekent toch per definitie, in strijd met de wet? Dus er is niets raars aan.
TheBlasphemer schreef op zondag 26 maart 2006 @ 21:38:
Dat is dan meteen ook fundamenteel anders dan wat ik tot nu toe altijd had gedacht!

[ Voor 3% gewijzigd door Verwijderd op 27-03-2006 01:22 ]


  • Ricvdp
  • Registratie: Juni 2005
  • Laatst online: 19-02 14:05
-NMe- schreef op zondag 26 maart 2006 @ 20:37:
Dit wordt zo ongeveer letterlijk behandeld in de FAQ: Programming FAQ - Algemeen. :)

Een hernieuwde visie op dit onderwerp vind ik vooralsnog prima, maar ik wilde de FAQ even genoemd hebben. ;)
RE is toch wel weer iets anders dan decompileren dacht ik? Een onderdeel ervan lijkt er wel sterk op (deassembleren, met OllyDbg ofzo).
Pagina: 1