| |||||||
Das Thema "Shellbefehle aus apk ausführen (sqlite3)" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 02.12.2010
Beiträge: 52
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
| ![]() Ich bräuchte paar Tipps bei meiner SMS app ..> zum versenden von sms über eine Webseite (Die app funktioniert an sich schon, aber leider stoppt sie, sobald die grenze von 100 SMS/ Stunde überschritten wird) Deshalb muss ich den schutz umgehen, wofür ich bei android 2.1 noch die app infititeSMS remover benutz habe... Leider funktioniert das jetzt nicht mehr (nicht kompatible mit android 2.3) und die kompatible App sms remover kann ich nicht kaufen, da ich keine Kreditkarte hab ![]() SMS Limit Remover - Android Also dachte ich mir, ich baue standardmaßig das umgehen in meine app ein... Dazu habe ich folgende sql befehle (für die Konsole): NarkTwo: Android SMS Limit - 1.6, 2.1 now 2.2! Jetzt muss ich es jedoch hinbekommen, von Java diese Shellbefehle auszuführen... Könnt ihr mir einige Tipps geben?! (ich weiß nicht genau, wonach ich suchen muss!) danke |
| | |
| | #2 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 02.12.2010
Beiträge: 52
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
|
Wieso?! wenn ich das für mich nutze?! wo ist das Problem?! meinst du jetzt das umgehen der sms begrenzung oder das versenden der sms über eine I-netseite?!
|
| | |
| | #3 (permalink) |
| Android Experte Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
|
(Nagut, dann eben doch) Wenn dir eine Seite nur erlaubt, eine bestimmte Menge SMSe zu versenden, und du umgehst das, dann ist das illegal. ADD: Ich sag nicht dass das kriminell wäre...
__________________ Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon. Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten. Tipp: Zum "Danke" sagen gibt es einen Button. ![]() |
| | |
| | #4 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 02.12.2010
Beiträge: 52
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
|
Oh ich glaube, du hast das etwas missverstanden... Also die App als auch die Webseite wurde von mir gebastelt... sobald auf meiner Webseite ein Eintrag gemacht wurde, wird ein Eintrag in die Datenbank gemacht. Die smsApp ist auf einem Handy installiert, das zuhause liegt. Sie ist dafür zuständig, alle paar sekunden zu prüfen, ob neue nachrichten vorhanden sind. Sind welche da, werde ich benachrichtigt (2.Handy) ![]() Bei meinem Problem geht es nur darum, die 100SMS einschränkung von meinem gerooteteten Handy zu umgehen - genauso, wie es die SMS LIMIT REMOVER APP macht... Und dafür muss ich in der app Shellbefehle ausführen können ... Nur weiß ich eben nicht, wie ich das angehen muss.... |
| | |
| | #5 (permalink) |
| Android Experte Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
|
Achsoo. Was im Handy selbst. Naja, das ist wohl eher eine Grenze zu deinem eigenen Schutz. ![]() Naja, du musst kein Script starten, Du kannst SQL Befehle auch direkt von Java aus absetzen (android.database.sqlite). Brauchst halt nur die Root rechte. Da kenne ich mich allerdings nicht mit aus
__________________ Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon. Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten. Tipp: Zum "Danke" sagen gibt es einen Button. ![]() |
| | |
| | #6 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 02.12.2010
Beiträge: 52
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
| ist ja kein ding xD habs halt am anfang schlecht beschrieben ![]() also wenn ichs in der console eingebe, die Superuser rechte hat, muss ich folgendes eingeben (ohne #): # su --> dann kommt ne benachrichtigun, dass ich su rechte hab... dann kann ich # sqlite INSERT ... eingeben... Hast du evtl einen Link zu einer Webseite, damit ich ungefähr weiß, wonach ich suchen muss?! also einfach nur die Grundlegende Schnittstelle.. den rest kann ich mir selber erarbeiten..weiß halt nur nicht wie ich einsteigen muss... danke ![]() PS: ich habe schon mit sqlite gearbeitet..aber nur eigene db erstellt.. weiß nur nicht wie ich auf systemtabellen zugreifen kann.. Geändert von assenda (15.07.2011 um 16:43 Uhr) Grund: edit: PS |
| | |
| | #7 (permalink) |
| Android Guru Modell: Samsung Galaxy S (I9000) Registriert seit: 21.12.2009
Beiträge: 2.572
Abgegebene Danke: 76
Erhielt 506 Danke für 295 Beiträge
|
Process p = Runtime.getRuntime().exec("su -c /data/data/deinpackage/files/sqlite3"); DataOutputStream out = new DataOutputStream(p.getOutputStream()); out.writeBytes("INSERT INTO gservices (name, value) VALUES ('sms_outgoing_check_interval_ms', 0\n"); out.writeBytes("exit\nexit\n"); p.waitFor(); out.close(); würd ich mal versuchen ![]() Ich glaube nicht alle Geräte haben das sqlite3 binary im Path.. würde daher einmal die armv5 und die armv7 in die app packen und das entsprechende starten. Evtl. muss da auch noch nen out.flush() hin^^
__________________ Meine Apps: GTalk Widget free Filehosting mit direkt download links & ohne werbung |
| | |
| Folgender Benutzer bedankt sich bei Fr4gg0r für diesen Beitrag: | assenda (15.07.2011) |
| | #8 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 02.12.2010
Beiträge: 52
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
|
wow hab nur um paar Tipps gebeten und hier kommt gleich ne lösung xDHerzlichen Dank!!! werd das testen und mich melden wenns klappt ![]() |
| | |
| | #9 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 02.12.2010
Beiträge: 52
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
|
Hm wäre wohl zu schön gewesen, wenns auf sofort geklappt hätte...Es liegt wohl daran, dass die Befehle für Andoid 2.2 (Frojo) und nicht für 2.3 gelten... Der Code an sich dürfte vermutlich richtig sein..zumindest sind keine Fehler aufgetreten... (auf der Console wird "ist gerootet" ausgegeben) müsste dann mal die Werte erstmal auslesen^^ Hab jetzt leider keine Zeit mehr, werde vermutlich am WE weitersuchen... Code: public class rooted extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
Process p = Runtime.getRuntime().exec("su -c /data/data/com.android.providers.settings/files/sqlite3");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
os.writeBytes("INSERT INTO gservices (name, value) VALUES ('sms_outgoing_check_max_count', 999999999)");
os.writeBytes("INSERT INTO secure (name, value) VALUES ('sms_outgoing_check_max_count', 999999999)");
os.writeBytes("INSERT INTO gservices (name, value) VALUES ('sms_outgoing_check_interval_ms', 0)");
os.writeBytes("INSERT INTO secure (name, value) VALUES ('sms_outgoing_check_interval_ms', 0)");
os.writeBytes("exit\n");
os.flush();
try {
p.waitFor();
if (p.exitValue() != 255) {
Log.d("d", "Ist gerootet");
os.close();
} else {
Log.d("d", "Fehler beim Ausführen");
}
} catch (InterruptedException e) {
Log.d("d", "InterrupedException");
}
} catch (IOException e) {
Log.d("d", "IOException");
}
}
} ![]() Edit: Hier ist ne Anleitung für Android 2.2... http://dylantaylor.wordpress.com/201...t-removal-fix/ Wie gesagt gucke ichs mir am WE an Geändert von assenda (17.07.2011 um 19:17 Uhr) Grund: edit: link hinzugefügt |
| | |
| | #10 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 02.12.2010
Beiträge: 52
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
|
So ![]() hab mich mal wieder hingesetzt und erstmal über es erstmal geschaft über die Console den Schutz mit folgenden Befehlen aufzuheben -->Android 2.31) adb shell 2) sqlite3 /data/data/com.android.providers.settings/databases/settings.db 3) INSERT INTO secure (name, value) VALUES (‘sms_outgoing_check_max_count’, 999999999); 4) INSERT INTO secure (name, value) VALUES (‘sms_outgoing_check_interval_ms’, 0); (SU wird anscheinend nicht dafür benötigt) Anschließend zur Überprüfung über die Console abgefragt: 1) adb shell 2) sqlite3 /data/data/com.android.providers.settings/databases/settings.db 3) Select * from secure where name = 'sms_outgoing_check_max_count'; Ergebnis: 999999999 4) Select * from secure where name = 'sms_outgoing_check_interval_ms'; Erebnis: 0 Nach einem Neustart war die Einschränkung von 100sms/h nicht mehr da Also hab ich versucht, mit diesen Informationen die App zu überarbeiten: Code: Process p;
try {
p = Runtime.getRuntime().exec("sqlite3 /data/data/com.android.providers.settings/databases/settings.db\n");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
os.writeBytes("INSERT INTO secure (name, value) VALUES ('sms_outgoing_check_max_count', 111111111)\n");
os.writeBytes("INSERT INTO secure (name, value) VALUES ('sms_outgoing_check_interval_ms', 0)\n");
} catch (IOException e) {
e.printStackTrace();
} Also werden die Befehle nicht so angenommen... Was mache ich falsch?! |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Android APK`s mittels des Android-SDK-WIN installieren & auf PC im Emulator ausführen | fnetf | Archos 101 Forum | 12 | 20.04.2012 16:51 |
| .apk aus dem Market sichern | Gast556 | Google Play Store (Android Market) | 11 | 09.02.2011 20:39 |
| sqlite3 als Android-App | LolloGalaxy | Android App Entwicklung | 0 | 20.10.2010 22:48 |
| gtalkservice.apk, Talk.apk, TalkProvider.apk und der Android Market | triebstahl | Sonstige Apps & Widgets | 0 | 11.02.2010 07:45 |
| sqlite3: not found | flori9100 | Android App Entwicklung | 0 | 26.11.2009 20:36 |