topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Tuesday April 16, 2024, 12:18 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Plugins  (Read 4296 times)

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Plugins
« on: May 06, 2012, 04:14 AM »

Can a good programmer create plugins for any application? Can you just hand someone an EXE and say "write a plugin for this" or do they need API's or such?

fenixproductions

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 1,186
    • View Profile
    • Donate to Member
Re: Plugins
« Reply #1 on: May 06, 2012, 05:10 AM »
Good programmer may not need any API/SDK and create DLL which will inject its code on runtime into desired application (i.e. TWinKey) but this is not very secure way and it is prone to errors. In some scenarios may also be malicious.

Standard way is to have proper API from software developer: easier to maintain, debug and test. If such documentation does not exist: beg for it ;)
Or use macro tools/languages like AutoHotkey or AutoIt.

vlastimil

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 308
    • View Profile
    • Donate to Member
Re: Plugins
« Reply #2 on: May 06, 2012, 05:13 AM »
If the application has an interface for plug-ins and the programmer has infinite time, then yes, they can create plug-ins for anything. In reality, the programmer needs something to guide them. Having documentation, API specification, or an example helps. Without them, it is like creating a key without knowing anything about a lock.

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Re: Plugins
« Reply #3 on: May 06, 2012, 05:19 AM »
If the application has an interface for plug-ins and the programmer has infinite time, then yes, they can create plug-ins for anything. In reality, the programmer needs something to guide them. Having documentation, API specification, or an example helps. Without them, it is like creating a key without knowing anything about a lock.

So some applications don't have a plugin interface at all?

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: Plugins
« Reply #4 on: May 06, 2012, 05:43 AM »
So some applications don't have a plugin interface at all?

Right. They have no plug-in interface. Most don't, in fact. I mean, that's something a programmer adds if there is a need, not by default.

However, the poster was expressing the possibility that with *MUCH WORK* an external programmer could come in and create such an interface. Without the source code, this requires massive amounts of work, reverse engineering, and even then it may have limitations or be imperfect. The mechanism would involve injection into the process, then modification of the applicable code, on the instruction set level -- making the whole thing also very prone to errors and other risks.

In the case of signed executables, other platforms, or certain protection schemes, creation of such a 'third-party API interface into a program that has no plug-in interface' could be infeasible.