Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Shellbefehle aus apk ausführen (sqlite3)

Das Thema "Shellbefehle aus apk ausführen (sqlite3)" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 15.07.2011, 16:13   #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
Standard Shellbefehle aus apk ausführen (sqlite3)

Hallo

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
assenda ist offline   Mit Zitat antworten
Alt 15.07.2011, 16:18   #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
Standard AW: Shellbefehle aus apk ausführen (sqlite3)

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?!
assenda ist offline   Mit Zitat antworten
Alt 15.07.2011, 16:19   #3 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Shellbefehle aus apk ausführen (sqlite3)

(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.
DieGoldeneMitte ist offline   Mit Zitat antworten
Alt 15.07.2011, 16:26   #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
Standard AW: Shellbefehle aus apk ausführen (sqlite3)

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....
assenda ist offline   Mit Zitat antworten
Alt 15.07.2011, 16:37   #5 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Shellbefehle aus apk ausführen (sqlite3)

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.
DieGoldeneMitte ist offline   Mit Zitat antworten
Alt 15.07.2011, 16:41   #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
Standard AW: Shellbefehle aus apk ausführen (sqlite3)

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
assenda ist offline   Mit Zitat antworten
Alt 15.07.2011, 16:53   #7 (permalink)
Android Guru
 
Benutzerbild von Fr4gg0r

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
Standard AW: Shellbefehle aus apk ausführen (sqlite3)

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^^
Fr4gg0r ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei Fr4gg0r für diesen Beitrag:
assenda (15.07.2011)
Alt 15.07.2011, 16:56   #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
Standard AW: Shellbefehle aus apk ausführen (sqlite3)

wow hab nur um paar Tipps gebeten und hier kommt gleich ne lösung xD

Herzlichen Dank!!!

werd das testen und mich melden wenns klappt

assenda ist offline   Mit Zitat antworten
Alt 15.07.2011, 17:38   #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
Standard AW: Shellbefehle aus apk ausführen (sqlite3)

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");
        }

    }
}
Trotzdem Danke

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
assenda ist offline   Mit Zitat antworten
Alt 17.07.2011, 19:33   #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
Standard AW: Shellbefehle aus apk ausführen (sqlite3)

So
hab mich mal wieder hingesetzt und erstmal über es erstmal geschaft über die Console den Schutz mit folgenden Befehlen aufzuheben -->Android 2.3

1) 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();
        }
Der Code wird ohne Probleme ausgeführt...allerdings erhalte ich über die Console den alten Wert: 999999999

Also werden die Befehle nicht so angenommen...

Was mache ich falsch?!
assenda ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

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




Du liest gerade: "Shellbefehle aus apk ausführen (sqlite3)" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.