2
votes

I want to send some APDU commands to my SIM card inserted in an Android smart phone. Based on my researches, The options are using SEEK4Android library or Telephony library. (Is there any other option?)

The question is that how can I recognize which one of these libraries is supported by my smart phone?

Regarding this Q&A I guess I need either Open Mobile API or Telephony supported by phone. But how I can check if these are supported or not?

It is written there that , Open Mobile API is just an interface for SmartcardService, right? How I can check if my smartphone have this service or not?

I listed the services using adb:

C:\adb> adb shell service list

Found 128 services:

0       sip: [android.net.sip.ISipService]
1       phone: [com.android.internal.telephony.ITelephony]
2       isms: [com.android.internal.telephony.ISms]
3       iphonesubinfo: [com.android.internal.telephony.IPhoneSubInfo]
4       simphonebook: [com.android.internal.telephony.IIccPhoneBook]
5       isub: [com.android.internal.telephony.ISub]
6       telecom: [com.android.internal.telecom.ITelecomService]
7       emergency_service: [com.sec.android.emergencymode.IEmergencyManager]
8       edmnativehelper: [mdm.edmnativehelperservice]
9       imms: [com.android.internal.telephony.IMms]
10      lpnet: [android.os.ILpnetManager]
11      media_projection: [android.media.projection.IMediaProjectionManager]
12      FMPlayer: [com.samsung.media.fmradio.internal.IFMPlayer]
13      voip: [android.os.IVoIPInterface]
14      launcherapps: [android.content.pm.ILauncherApps]
15      fingerprint: [android.service.fingerprint.IFingerprintService]
16      trust: [android.app.trust.ITrustManager]
17      media_router: [android.media.IMediaRouterService]
18      media_session: [android.media.session.ISessionManager]
19      restrictions: [android.content.IRestrictionsManager]
20      print: [android.print.IPrintManager]
21      dreams: [android.service.dreams.IDreamManager]
22      commontime_management: []
23      samplingprofiler: []
24      diskstats: []
25      voiceinteraction: [com.android.internal.app.IVoiceInteractionManagerService]
26      appwidget: [com.android.internal.appwidget.IAppWidgetService]
27      backup: [android.app.backup.IBackupManager]
28      jobscheduler: [android.app.job.IJobScheduler]
29      uimode: [android.app.IUiModeManager]
30      serial: [android.hardware.ISerialManager]
31      usb: [android.hardware.usb.IUsbManager]
32      DockObserver: []
33      audio: [android.media.IAudioService]
34      wallpaper: [android.app.IWallpaperManager]
35      dropbox: [com.android.internal.os.IDropBoxManagerService]
36      search: [android.app.ISearchManager]
37      country_detector: [android.location.ICountryDetector]
38      location: [android.location.ILocationManager]
39      devicestoragemonitor: []
40      notification: [android.app.INotificationManager]
41      ABTPersistenceService: [com.absolute.android.persistence.IABTPersistence]
42      updatelock: [android.os.IUpdateLock]
43      servicediscovery: [android.net.nsd.INsdManager]
44      connectivity: [android.net.IConnectivityManager]
45      rttmanager: [android.net.wifi.IRttManager]
46      wifiscanner: [android.net.wifi.IWifiScanner]
47      wifi: [android.net.wifi.IWifiManager]
48      wifip2p: [android.net.wifi.p2p.IWifiP2pManager]
49      netpolicy: [android.net.INetworkPolicyManager]
50      netstats: [android.net.INetworkStatsService]
51      network_score: [android.net.INetworkScoreService]
52      textservices: [com.android.internal.textservice.ITextServicesManager]
53      network_management: [android.os.INetworkManagementService]
54      clipboard: [android.content.IClipboard]
55      statusbar: [com.android.internal.statusbar.IStatusBarService]
56      enterprise_policy: [android.app.enterprise.IEnterpriseDeviceManager]
57      knox_timakeystore_policy: [com.sec.enterprise.knox.keystore.ITimaKeystore]
58      enterprise_billing_policy: [com.sec.enterprise.knox.billing.IEnterpriseBillingPolicy]
59      mum_container_policy: [com.sec.enterprise.knox.container.IKnoxContainerManager]
60      remoteinjection: [android.app.enterprise.remotecontrol.IRemoteInjection]
61      phone_restriction_policy: [android.app.enterprise.IPhoneRestrictionPolicy]
62      wifi_policy: [android.app.enterprise.IWifiPolicy]
63      application_policy: [android.app.enterprise.IApplicationPolicy]
64      enterprise_license_policy: [android.app.enterprise.license.IEnterpriseLicense]
65      log_manager_service: [android.app.enterprise.ILogManager]
66      harmony_eas_service: [android.content.IHarmonyEAS]
67      device_policy: [android.app.admin.IDevicePolicyManager]
68      lock_settings: [com.android.internal.widget.ILockSettings]
69      mount: [IMountService]
70      cover: [com.samsung.android.cover.ICoverManager]
71      accessibility: [android.view.accessibility.IAccessibilityManager]
72      input_method: [com.android.internal.view.IInputMethodManager]
73      mDNIe: [com.samsung.android.mdnie.IMdnieManager]
74      rcp: [android.os.IRCPManager]
75      bluetooth_secure_mode_manager: [android.bluetooth.IBluetoothSecureManagerService]
76      bluetooth_manager: [android.bluetooth.IBluetoothManager]
77      CCM: []
78      input: [android.hardware.input.IInputManager]
79      window: [android.view.IWindowManager]
80      alarm: [android.app.IAlarmManager]
81      consumer_ir: [android.hardware.IConsumerIrService]
82      CustomFrequencyManagerService: [android.os.ICustomFrequencyManager]
83      vibrator: [android.os.IVibratorService]
84      cepproxyks: [com.samsung.android.cepproxyks.ISCEPKeystoreService]
85      TUI: []
86      tima: [android.service.tima.ITimaService]
87      sedenial: [android.service.ISEDenialService]
88      SatsService: [com.samsung.android.service.sats.ISatsService]
89      ReactiveService: [com.samsung.android.service.reactive.IReactiveService]
90      DirEncryptService: [IDirEncryptService]
91      content: [android.content.IContentService]
92      account: [android.accounts.IAccountManager]
93      SEAMService: [com.sec.enterprise.knox.seams.ISEAMS]
94      persona: [android.os.IPersonaManager]
95      entropy: []
96      telephony.registry: [com.android.internal.telephony.ITelephonyRegistry]
97      scheduling_policy: [android.os.ISchedulingPolicyService]
98      webviewupdate: [android.webkit.IWebViewUpdateService]
99      usagestats: [android.app.usage.IUsageStatsManager]
100     battery: []
101     hardware: [android.os.IHardwareService]
102     permission: [android.os.IPermissionController]
103     cpuinfo: []
104     dbinfo: []
105     gfxinfo: []
106     meminfo: []
107     procstats: [com.android.internal.app.IProcessStats]
108     activity: [android.app.IActivityManager]
109     user: [android.os.IUserManager]
110     package: [android.content.pm.IPackageManager]
111     persona_policy: [android.content.pm.IPersonaPolicyManager]
112     display: [android.hardware.display.IDisplayManager]
113     power: [android.os.IPowerManager]
114     appops: [com.android.internal.app.IAppOpsService]
115     batterystats: [com.android.internal.app.IBatteryStats]
116     sensorservice: [android.gui.SensorServer]
117     mdm.remotedesktop: [mdm.samsung.IRemoteDesktopService]
118     media.sound_trigger_hw: [android.hardware.ISoundTriggerHwService]
119     media.audio_policy: [android.media.IAudioPolicyService]
120     media.camera: [android.hardware.ICameraService]
121     media.player: [android.media.IMediaPlayerService]
122     media.audio_flinger: [android.media.IAudioFlinger]
123     SurfaceFlinger: [android.ui.ISurfaceComposer]
124     display.qservice: [android.display.IQService]
125     batteryproperties: [android.os.IBatteryPropertiesRegistrar]
126     drm.drmManager: [drm.IDrmManagerService]
127     android.security.keystore: [android.security.keystore]

As you see above, there is no SmartCardService service in my smartphone. Why?

I googled Open Moblie API and the results are almost for SIM Alliance company. Why? Shouldn't I receive some Google (Because Android is for Google) documents instead of SIM Alliance documents?

My smartphone is a Sumsung Galaxy A3 with android version 5.0.2.

1

1 Answers

0
votes

Navigate to where your adb drivers are located (Mine are in C:/Users/my_username/AppData/Local/Android/sdk/platform-tools) and try using these commands:

adb root
adb shell

cd /system/framework
ls

If org.simalliance.openmobileapi.jar is there, your device should support the SmartCardServices that SEEKForAndroid needs to work.