home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 1 / Mecomp-CD.iso / amiga / tools / utillities / setfunction / setfunction.dok < prev    next >
Text File  |  1996-07-12  |  5KB  |  87 lines

  1.  
  2.  
  3.         *****************************************************************
  4.         *                                                               *
  5.         *                 'SetFunction' Manager © V 1.16                *
  6.         *                                                               *
  7.         *                     von Hans-Werner Schober                   *
  8.         *                                                               *
  9.         *             12 Jul. 1996  47798 Krefeld  Ostwall 208          *
  10.         *                                                               *
  11.         *            100% Assembler    Amiga 2000 GForce 68040          *
  12.         *                                                               *
  13.         *****************************************************************
  14.  
  15.                         Warum einen Manager ?
  16.  
  17.         Der 'SetFunction'-Vector der  exec.library  ist wohl  die einzige
  18.         Funktion  auf dem  Amiga die  nicht  multitaskfähig  ist. Stellen
  19.         Sie sich vor  das zwei Programme  ein und den selben Vector einer
  20.         Library auf eine eigene Funktion verbiegen.
  21.         Beispiel:
  22.           Programm A verbiegt  den Vector  auf die Adresse 'x' und erhält
  23.           die Originaladresse 'o'.
  24.           Programm B verbiegt  den selben Vector auf die  Adresse 'y' und
  25.           erhält die Adresse 'x' zurück.
  26.           Sie beenden  jetzt Programm A,  dieses setzt  den Vector zurück
  27.           auf die  Originaladresse 'o'.  Ist  ja  nicht  weiter  schlimm.
  28.           Jetzt  beenden  Sie Programm B,  auch dieses  setzt den  Vector
  29.           zurück  und zwar  auf  die Adresse 'x'  die  es  erhalten  hat.
  30.           Da  diese  Adresses  von Programm A  stammt und  dieses bereits
  31.           beendet wurde, hat es auch den  Speicher  freigegeben  wo diese
  32.           Funktion stand. Wenn jetzt dieser Vector der Library angesprun-
  33.           gen wird, grüßt mit Sicherheit der GURU.
  34.  
  35.  
  36.         Der  'SetFunction'  Manager  Übernimmt  jetzt die  Aufgabe  diese
  37.         Adressen korrekt  zu verwalten.  Hierbei  kann es  durch unsauber
  38.         und nicht nach  den Amiga  Programmierrichtlinien,  geschriebenen
  39.         Programmen zu Schwierigkeiten kommen.
  40.         Es darf zum Beispiel kein Programm selbst einen Vektor verbiegen,
  41.         es muß  die Funktion  'SetFunction'  der  exec.library  benutzen.
  42.         Es darf  auch nicht erwarten  das die Adresse als  JMP-Adresse in
  43.         der  Vectortabelle  steht ,  die  es  der  'SetFunction'-Funktion
  44.         übergeben  hat. Das  heißt  das der  Programmierer es sich anders
  45.         merken  muß  ob er einen  Vektor veändert  hat  z.B. durch  einen
  46.         Message-Port.Durch dieses Fehlverhalten wird ein solches Programm
  47.         diesen  Vektor immer  wieder neu  auf seine  Funktion setzten und
  48.         seinen Patch nie entfernen.
  49.  
  50.         Der SetFunction-Manager © V1.16 muß in Ihrer startup-sequence vor
  51.         dem 'SetPatch' Befehl aufgerufen werden. Auf Turbosystemen muß er
  52.     ebenfalls vor Befehlen  aufgerufen werden die den  Status der CPU
  53.         verändern, oder das FastRom einschalten.
  54.  
  55.         Der Manager  kann  auch  die Offsetnamen  der  einzelen  Librarys
  56.         mit anzeigen insofern Sie das Programm 'AmigaLibHelp' installiert
  57.         haben, auch dieses Programm ist aus meiner Werkstatt.
  58.  
  59.         Geplant ist  eine Benutzeroberfläche  als Commodities-Objekt  und
  60.         eine Funktion, die es erlaubt  einen Patch durch  einen Requester
  61.         zu verhindern oder auch  einen  installierten Patch zu entfernen.
  62.  
  63.         Duch einen Aufruf des Programmes mit der Option 'INFO',listet der
  64.         Manager alle bekannten Veränderungen. Unter angabe eines Library-
  65.         namens wird nur die Information zu dieser library gegeben.
  66.  
  67.         Wollen Sie mir Ihre Erfahrungen, Kritik,  Verbesserungsvorschläge
  68.         oder Bugreports mitteilen, dann schreiben Sie mir.
  69.  
  70. ********************************** Viruserkennung *****************************
  71.  
  72.         SetFunction läßt den Bildschirm beim  ersten Aufruf einmal in der
  73.         Farbe grün aufblinken. Wenn ein Linkvirus 'FileGhost' oder 'Happy
  74.         New Year 96!' erkannt wird,wird er wieder inaktiv gemacht und der
  75.         Bildschirm  blinkt in  der Farbe gelb auf .  Verändert  irgendein
  76.         Programm den Vector  'LoadSeg' von  der dos.library  ohne hierfür
  77.         SetFunction  der exec.library zu benutzen , so wird dieser sofort
  78.         wieder entfernt und der Bildschirm blitzt wieder gelb auf.
  79.         Wird die exec.library ohne SetFunction verändert so blinkt der
  80.         Bildschirm rot auf und der Patch wird zurückgesetzt.
  81.  
  82.         Diesem Packet  liegt ein kleines Prgramm dabei, welches die Link-
  83.         Viren 'FileGhost'  und  'Happy New Year 96!'  aus  einem Programm
  84.         ausbauen kann.
  85.  
  86.         Syntax KillVirus <filename>
  87.