how to bypass j2me sign - java-me

j2me jar application asks user for permission to make a photo and etc. is there a free way to bypass this? or is there a free webcam aplication for mobile phones?
thanks

The only way to bypass these kinds of warnings is to sign your application with an appropriate security certificate, which is normally not free and varies by device manufacturer and/or wireless carrier. Read Java ME Signing For Dummies for more information.

Related

Galaxy S3 questions

I'm not very experienced with the codes on a cell phone. But I wanted to know how would someone be able to open up the com.sec.android application on a Samsung Galaxy S3 Cell Phone to see hidden contacts, text messages and other information ?
Thanks.
Generally Samsung phones comes with pre-installed applications by default. These applications are system applications which cannot be removed unless the device is rooted. Some applications use content providers to use sensitive information. Some malicious apps can use the content providers to get these sensitive information and can misuse them.
Check out this link so that you can get to know about it and the vulnerabilities.

Shutdown nokia series 40 phone if sim is changed

I need to restrict only a particular sim on a given phone (nokia 2700) such that the phone is not usable if the sim is changed. I'm thinking of either preventing the sim from registering on the network or having some background app that will shutdown the phone or prevent usage if the sim is change.
QT (new to it) and JavaMe suggestions are both fine.
How do I proceed with this?
Edit1:
The idea is to prevent the user of the phone from changing the sim card. The phone should not work if the sim card is changed. For this, I need a way of notifying this and either shutting down the phone or doing something to prevent it from being used.
regards
Qt is not supported on Series 40 phones. It is available for Symbian and MeeGo based Nokia phones. Check this list for supported models.
In order to achieve this you need to be able to detect a sim card and prevent phone from functioning if necessary.
On Series 40 JavaME, there are a few system.properties that you can use to detect the current sim card. There are no events for receiving the sim card change. Some of the properties are restricted to manufacturer and operator security domains. Unfortunately, com.nokia.mid.imsi which identifies a particular sim card is one of those. However com.nokia.mid.networkid is not restricted and should be sufficient to identify a particular network(If that is your purpose).
There is no JavaME way of blocking the use of the phone (I guess that is the point with Java security and sandboxing). Also the ability to start an app. at the boot and keep it running on the background is restricted to manufacturer and operator signing on Series 40 phones.
The phone should have this function already.
From the manual (page 12):
Access codes
The security code helps to protect your phone against
unauthorised use. The preset code is 12345. You can create and change
the code, and set the phone to request the code. Keep the code secret
and in a safe place separate from your phone. If you forget the code
and your phone is locked, your phone will require service and
additional charges may apply. For more information, contact a Nokia
Care point or your phone dealer. The PIN code supplied with the SIM
card protects the card against unauthorised use. The PIN2 code
supplied with some SIM cards is required to access certain services.
If you enter the PIN or PIN2 code incorrectly three times in
succession, you are asked for the PUK or PUK2 code. If you do not have
them, contact your service provider. The module PIN is required to
access the information in the security module of your SIM card. The
signing PIN may be required for the digital signature. The barring
password is required when using the call barring service. To set how
your phone uses the access codes and security settings, select Menu >
Settings > Security.
I used to have a Sony-Ericsson phone that had the same function and it allowed the access code to be saved on the sim card. The phone would not ask for the access code unless the sim was changed. I hope you can find the same function in the Security menu on your Nokia phone.

J2ME SIM card change detection

I wanted to create J2ME application, in which the application should work only with the SIM card that was used during installation. On SIM card (GSM) change the application should now work.
For achieving this, i thought of taking an signature of the simcard and save it in a persistent storage. On every start of the application the signature can be verified. Any idea of how to implement this.
Thanks in advance
The 'SATSA' (Security and Trust Services API aka JSR177) could be used from your J2ME application to communicate with the SIM. You could send '3GPP TS 11.11' commands to obtain the IMSI (select file DG_GSM, select file EF_IMSI, read binary).
Drawbacks are: (1) You're talking to the SIM on a relatively low level of abstraction (the ISO7816-4 layer); (2) Not all handsets support JSR177 at the moment.
I believe this is not possible. If it was possible with a specific phone it would not be possible in a generic way.
For ATT in US, for J2ME apps, the handset embeds "CarrierDeviceId" in the Jad file. This is unique per SIM card. So, if something similar is available to you, just read this Jad parameter the first time the app starts, save it to RMS or send it to server. Now each time the app starts, you can verify this number matches, and thus verify the SIM card is same.
You can also try obtaining the phone number that is tied to the SIM card and thus verify the old SIM is being used.

how can I save data in mobile phone using j2me?

How can I save data in mobile phone using j2me?
I want code examples which describes how to store data in mobile phones using j2me.
Further how to give access permission to read/write in mobile phones?
I am using netbeans 6.5 and motorola L6 phone.
Can any one tell me a code example giving how to store, give read/write permission?
You can save data in the record management store. There are some limitations though. The biggest one is that only your application will be able to read the data.
An alternative is to use the FileConnection API, which offers access to the device's file system. All modern phones should support it. However, unless the Midlet is signed, the user will be nagged to give permission to access a file.
Use the PDAPDemo example code from the Sun Wireless Toolkit.
Last time I checked it had a few error handling bugs but it is easily modifiable.
It will tell you what parts of the handset file system your application can read from and write to, both on the phone and on any eventual memory card.

Midlet connectivity via broadband or GPRS

Midlet using HttpConnection to connect a webservice application.
A mobile can use a wireless broadband to connect to internet or can use internet facility provided by the network provider i.e. Vodafone or Virgin which is I think known as GPRS. Correct me if my understanding is wrong.
Now my question is when the midlet will run which connectivity it will use? Secondly do I need to code differently for midlet to use GPRS or it doesn't matter?
I deployed my application on Nokia E65 and it asked me which connection to use. The mobile had both wireless lan and provider GPRS active.
On IPhone the preference is for wireless lan. (Not related to J2me)
There is no standard Access Point Selection APi in J2ME.
That means the MIDlet itself can't decide whether to use Wi-Fi or GPRS.
Some phones will allow the user to change application settings in order to force a MIDlet to use a specific network when it is available (and maybe prompt the user for an alternative when the preferred network is not available).
This is mostly because there is no standard way to describe a wireless network that contains enough information : QoS, cost per byte downloaded and uploaded, average bitrate, ping time...
In most cases, the logic to automatically choose a network without those information would be too complicated and not reliable enough.
Manual Access Point selection is the only way to put the user in charge of the cost of data transfer, so far.
It depends on the client mobile phone. On some models, there is only one GPRS configuration that is used by all applications including midlets, On some others the configuration used for browsing can be different than the one used by midlets.

Resources