FireBreath рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░рд▓ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦрдирд╛

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ Habr├й рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, FireBreath NPAPI [1] рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдФрд░ ActiveX рдирд┐рдпрдВрддреНрд░рдг рд╣реЛрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреНрд▓рдЧ-рдЗрди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИ, рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛: рдЧреЗрдХреЛ / рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, Google рдХреНрд░реЛрдо, рдРрдкреНрдкрд▓ рд╕рдлрд╛рд░реА, рдУрдкреЗрд░рд╛, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ 6, 7, рдФрд░ 8ред

рдпрд╣ рдврд╛рдВрдЪрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛: рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рд╡реЗрдм тАЛтАЛрдПрдкреНрд▓рд┐рдХреЗрд╢рди) рдиреЗ рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдХреЛ рд╕реАрдзреЗ рдкреНрд░рд┐рдВрдЯрд░ рдкрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛ рдкреЙрд▓рд┐рд╕реА рдФрд░ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рдПрдкреНрд▓реЗрдЯ + рдХреЗ рдЕрдиреНрдп рдЫреЛрдЯреЗ рдмрдЧреЛрдВ рдХреЗ рд╕реНрдерд┐рд░ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред рдХрд┐рд╕реА рддрд░рд╣ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдлреЛрдХрд╕ рдПрдкреНрд▓реЗрдЯ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдирд╛ рдпрд╛ рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдмреНрд░рд╛рдЙрдЬрд░ рдХреЛ рдлреНрд░реАрдЬ рдХрд░рдирд╛ред рд╢рд╛рдпрдж рдпрд╣ рд╕рд┐рд░реНрдл рдХреБрдЯрд┐рд▓ рд╣рд╛рде рд╣реЛред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреНрд░реЗрд╕ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рдерд╛ред

рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдПрдкреНрд▓реЗрдЯ рдФрд░ рдкреНрд░рд┐рдВрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЬрд▓реНрджреА рдФрд░ рдордЬрд╝рдмреВрддреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдпреЗрдЧрд╛ред рджрд░рдЕрд╕рд▓, рдореБрджреНрд░рдг рдЕрдм рдПрдХ рд╣реА рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрд╛рд╡рд╛ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░реЗрдХреНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд▓рдЧрдЗрди рд╣реИред

рдЕрдм рдПрдХ рд╕рд░рд▓ "рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ" рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦреЗрдВ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦ рджреЗрдЧрд╛ред

Firebreath рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ



alex@alex-laptop:~$ git clone git://github.com/firebreath/FireBreath.git -b firebreath-1.5 firebreath-1.5
Initialized empty Git repository in /home/alex/firebreath-1.5/.git/
remote: Counting objects: 16089, done.
remote: Compressing objects: 100% (4841/4841), done.
remote: Total 16089 (delta 12322), reused 14495 (delta 11066)
Receiving objects: 100% (16089/16089), 11.28 MiB | 535 KiB/s, done.
Resolving deltas: 100% (12322/12322), done.
alex@alex-laptop:~$ cd firebreath-1.5/
alex@alex-laptop:~/firebreath-1.5$ python fbgen.py
Plugin Name []: readFile
Plugin Identifier [readFile]:
Plugin Prefix [RFI]:
Plugin MIME type [application/x-readfile]:
Plugin Description []:
Invalid syntax: Description must be one or more characters long!
Plugin Description []: Read test.txt from ~ folder
Plugin has no UI [false]:
Company Name []:
Invalid syntax: Name must be at least one character, and may not contain carriage returns.
Company Name []: Takeforce
Company Identifier [Takeforce]:
Company Domain [takeforce.com]:
Done. Files placed in /home/alex/firebreath-1.5/projects/readFile


рдкреНрд▓рдЧрдЗрди рд╡рд┐рдзрд╛рдирд╕рднрд╛


рд╣рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
  1. рд╕реАрдПрдордХреЗ рд╕рдВрд╕реНрдХрд░рдг 2.8
  2. libgtk2.0-рджреЗрд╡
  3. Git
рдЙрдмрдВрдЯреВ / рдбреЗрдмрд┐рдпрди рдкрд░, рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
apt-get install cmake libgtk2.0-dev git


рдХреА рд╢реБрд░реВрдЖрдд


рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, npreadFile.so рдлрд╝рд╛рдЗрд▓ рдмрд┐рд▓реНрдб / рдмрд┐рди / рд░реАрдбрдлрд╝рд╛рдЗрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдХреЙрдкреА ~ / /mozilla / рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ рдХреНрд░реЛрдо рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдЗрд╕реЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдмрд┐рд▓реНрдб / рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ / рд░реАрдбрдлрд╝рд╛рдЗрд▓ / рдЬреАрди / FBControl.htm рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ
рдкреЗрдЬ рдХрд╣реЗрдЧрд╛ рдХрд┐ рдкреНрд▓рдЧрдЗрди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдЖрдк рдЗрд╕реЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ - рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
plugin().write('Hello');
рдФрд░ рд╣рдорд╛рд░реА рдлрд╝рд╛рдЗрд▓ /home/alex/log.txt рдХреЛ рджреЗрдЦреЗрдВ, рдЬрд┐рд╕рдореЗрдВ "рд╣реИрд▓реЛ" рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдпрджрд┐ рдЖрдкрдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдХреБрдЫ рднрд╛рд░реА рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рд╛рде рд╣реА, рдЖрдк рдЦреБрд╢ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдПрдХ рддрд░рдл рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред FireBreathред

рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рдХрд┐ FireBreath рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдкреНрд▓рдЧрдЗрди Google Chome, Mozilla Firefox рдФрд░ IE8 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдУрдкреЗрд░рд╛, рд╕рдлрд╛рд░реА рдФрд░ IE6-7 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

рд╕рдВрджрд░реНрдн:


1) en.wikipedia.org/wiki/NPAPI
2) www.firebreath.org

Source: https://habr.com/ru/post/In118897/


All Articles