Android Open Source - android-ssl-bypass Abstract Plugin Service






From Project

Back to project page android-ssl-bypass.

License

The source code is released under:

Copyright (c) 2012, iSEC Partners. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the ...

If you think the Android project android-ssl-bypass listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.isecpartners.android.jdwp.pluginservice;
//w  w  w . ja  v  a 2 s .  c o m
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Iterator;
import java.util.ServiceLoader;

import org.apache.log4j.Logger;

import com.isecpartners.android.jdwp.LocationNotFoundException;
import com.isecpartners.android.jdwp.VirtualMachineEventManager;

public abstract class AbstractPluginService implements PluginService {
  private final static org.apache.log4j.Logger LOGGER = Logger
      .getLogger(AbstractPluginService.class.getName());
  protected File pluginsDir = null;

  protected AbstractPluginService(File dir) {
    if (!dir.exists()) {
      throw new IllegalArgumentException();
    }
    this.pluginsDir  = dir;
  }

  public abstract Iterator<JDIPlugin> getPlugins();

  @Override
  public void initPlugins(VirtualMachineEventManager vmem) throws PluginNotFoundException{
    Iterator<JDIPlugin> iterator = this.getPlugins();
    if (!iterator.hasNext()) {
      LOGGER.info("no plugins were found!");
    }
    while (iterator.hasNext()) {
      JDIPlugin plugin = iterator.next();
      this.pluginInit(vmem, plugin);
    }
  }

  @Override
  public void initPlugin(VirtualMachineEventManager vmem, String pluginName) throws PluginNotFoundException {
    Iterator<JDIPlugin> iterator = this.getPlugins();
    if (!iterator.hasNext()) {
      LOGGER.info("no plugins were found!");
    }
    while (iterator.hasNext()) {
      JDIPlugin plugin = iterator.next();
      if (plugin.getPluginName().equals(pluginName)) {
        this.pluginInit(vmem, plugin);
      }
    }
  }
  
  private void pluginInit(VirtualMachineEventManager vmem, JDIPlugin plugin) throws PluginNotFoundException{
    LOGGER.info("initializing the plugin " + plugin.getPluginName());  
    try {
      vmem.setQueueAgentListener(plugin);
      plugin.init(vmem, this.pluginsDir.getAbsolutePath());
    } catch (LocationNotFoundException e) {
      throw new PluginNotFoundException("could not find location referenced by plugin: "
          + e);
    } catch (FileNotFoundException e) {
      throw new PluginNotFoundException("plugin directory not found: " + e);
    } catch (IOException e) {
      throw new PluginNotFoundException("IO Exception reading plugin dir: " + e);
    }
  }

}




Java Source Code List

com.isec.helperapp.EasySSLSocketFactory.java
com.isec.helperapp.EasyX509TrustManager.java
com.isec.helperapp.MainActivity.java
com.isec.helperapp.TrustAllTrustManager.java
com.isec.ssltest.SSLTestActivity.java
com.isecpartners.android.jdwp.ADBInterface.java
com.isecpartners.android.jdwp.ClassLoaderUtils.java
com.isecpartners.android.jdwp.ClassWrapper.java
com.isecpartners.android.jdwp.CommandLine.java
com.isecpartners.android.jdwp.Constants.java
com.isecpartners.android.jdwp.Control.java
com.isecpartners.android.jdwp.DalvikUtils.java
com.isecpartners.android.jdwp.DexClassLoaderNotFoundException.java
com.isecpartners.android.jdwp.LocationNotFoundException.java
com.isecpartners.android.jdwp.NoLoadClassMethodException.java
com.isecpartners.android.jdwp.NoVMSessionException.java
com.isecpartners.android.jdwp.NotImplementedException.java
com.isecpartners.android.jdwp.ReferenceTypeNotFoundException.java
com.isecpartners.android.jdwp.VirtualMachineEventManager.java
com.isecpartners.android.jdwp.VirtualMachineSession.java
com.isecpartners.android.jdwp.common.Message.java
com.isecpartners.android.jdwp.common.QueueAgentInterface.java
com.isecpartners.android.jdwp.common.QueueAgent.java
com.isecpartners.android.jdwp.connection.AbstractConnection.java
com.isecpartners.android.jdwp.connection.AttachingConnection.java
com.isecpartners.android.jdwp.connection.DVMConnectionProvider.java
com.isecpartners.android.jdwp.connection.DefaultConnectionFactory.java
com.isecpartners.android.jdwp.connection.NoAttachingConnectorException.java
com.isecpartners.android.jdwp.connection.NoListeningConnectorException.java
com.isecpartners.android.jdwp.plugin.JythonConsoleJDIPlugin.java
com.isecpartners.android.jdwp.plugin.SSLBypassJDIPlugin.java
com.isecpartners.android.jdwp.plugin.TestJDIPlugin.java
com.isecpartners.android.jdwp.plugin.TraceMethodsJDIPlugin.java
com.isecpartners.android.jdwp.pluginservice.AbstractJDIPlugin.java
com.isecpartners.android.jdwp.pluginservice.AbstractJythonConsolePlugin.java
com.isecpartners.android.jdwp.pluginservice.AbstractPluginService.java
com.isecpartners.android.jdwp.pluginservice.ClasspathUtils.java
com.isecpartners.android.jdwp.pluginservice.JDIPluginServiceFactory.java
com.isecpartners.android.jdwp.pluginservice.JDIPluginService.java
com.isecpartners.android.jdwp.pluginservice.JDIPlugin.java
com.isecpartners.android.jdwp.pluginservice.JythonPluginServiceFactory.java
com.isecpartners.android.jdwp.pluginservice.JythonPluginService.java
com.isecpartners.android.jdwp.pluginservice.PluginNotFoundException.java
com.isecpartners.android.jdwp.pluginservice.PluginService.java