Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
rhou
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 6
1

Получить персональные данные из WhatsApp

17.08.2016, 13:31. Просмотров 554. Ответов 16
Метки нет (Все метки)

Всем доброго времени суток !
Ребята задача такая: нужен код для приложения. Требуется получить персональные данные из WhatsApp (Никнэйм, статус, номер телефона из настроек)
Само собой с условием что WhatsApp установлен и авторизован.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2016, 13:31
Ответы с готовыми решениями:

== Персональные данные в Adsense ==
Понятное дело, что если чек выписывается в Штатах, то Ф.И.О., адрес должны быть написаны на...

Восстановить данные, удалил приложение WhatsApp
Случайно удалил приложение WhatsApp. Синхронизаций не делал. Можно ли восстановить фото и переписки.

персональные страницы
Здравствуйте, прошу консультации. Есть сайт, каждому клиенту фирмы требуется показываться "ход...

Персональные настройки сайта
Вот допустим есть абстрактный сайт, где человек может, зайдя в личный кабинет увидеть кучу своей...

персональные сообщения на DLE 9.2
Здраствуйте у меня такая проблема.... Сайт работал нормально а тоу вдруг нужно написать сообщение...

16
mr_guru
2 / 2 / 0
Регистрация: 11.12.2013
Сообщений: 22
Записей в блоге: 2
17.08.2016, 13:42 2
А для чего вам это нужно, хотите забабахать какой то вирусняк??
0
rhou
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 6
17.08.2016, 13:46  [ТС] 3
Базу собрать хочу. Я с удовольствием побеседую если тема актуальна и разговор не пустой.
0
vxg
Модератор
3281 / 2077 / 328
Регистрация: 13.01.2012
Сообщений: 8,073
17.08.2016, 13:49 4
rhou, базу чего? как можно собрать базу находясь на одном устройстве? вы просто получите данные авторизованного пользователя
0
rhou
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 6
17.08.2016, 13:51  [ТС] 5
Как попасть на другое устройство это уже второй вопрос. Он пока меня не беспокоит. В поставленном вопросе мне кто нибудь сможет помочь ? Вот мне надо получить данные авторизованного пользователя. Какие методы можно применить ?
0
vxg
Модератор
3281 / 2077 / 328
Регистрация: 13.01.2012
Сообщений: 8,073
17.08.2016, 13:57 6
rhou, первое что следует посмотреть - не предоставляет ли WhatsApp какой либо API
0
rhou
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 6
17.08.2016, 14:21  [ТС] 7
Ок. пойду поищу.

Добавлено через 15 минут
Нет, дружище. Api Whatsapp точно не для смертных )
0
vxg
Модератор
3281 / 2077 / 328
Регистрация: 13.01.2012
Сообщений: 8,073
17.08.2016, 14:31 8
rhou если он есть то он вам поможет лучше чем что бы то ни было кроме человека который делает все за вас
0
rhou
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 6
17.08.2016, 14:37  [ТС] 9
Я с тобой полностью согласен. Но по поводу API в сети тишина. Если есть ссылки то буду благодарен тому кто поделится ими.
0
vxg
Модератор
3281 / 2077 / 328
Регистрация: 13.01.2012
Сообщений: 8,073
17.08.2016, 15:37 10
rhou, есть только официальные доки по которым вроде все что можно это послать текст в приложение для того что бы пользователь выбрал адресата и вручную послал ему этот текст
0
REALIST07
Автор FAQ
Автор FAQ
195 / 194 / 21
Регистрация: 11.06.2010
Сообщений: 1,016
17.08.2016, 18:42 11
пишу приложение по тому же протоколу, что и whatsapp, даже если автор получит доступ к данным whatsappa, залогиниться под тем же пользователем и получить историю переписок ему все равно не получится, потому что там все привязано к железу и по многим параметрам, поверьте человеку, который разбирал whatsapp

Добавлено через 12 минут
Открыл с помощью аппа "Settings Debugger Lite" менеджера данные своего whatsapp, в preferences увидел несколько файлов, телефон хранится в registration.RegisterPhone.xml? остальные данные в com.whatsapp.preferences.xml
0
vxg
Модератор
3281 / 2077 / 328
Регистрация: 13.01.2012
Сообщений: 8,073
17.08.2016, 19:12 12
REALIST07, эти вещи можно открыть как файлы из другого андроид-приложения?
0
rhou
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 6
17.08.2016, 19:23  [ТС] 13
REALIST07, передо мной не стоит задача залогиниться под чужим пользователем и воровать его переписку. Я пытаюсь выяснить возможно ли с помощью мною написанного приложения и установленного на дэвайс (на котором уже установлен whatsapp и авторизован) получить персональную информацию о пользователе допустим номер телефона. Не допустим а конкретно номер телефона.

Дело в том что я перерыл весь инет и понял что многие симки не хранят в себе номер телефона допустим мой девайс выдает значение null. Зато номер телефона отображается в мессенджерах. есть возможность прочесть с мессенджера и записать в переменную моего приложения ?

Я понимаю что в мессенджере может отличаться номер телефона от реального, но вероятность выше нежели вариант с чтением данных с сим
0
REALIST07
Автор FAQ
Автор FAQ
195 / 194 / 21
Регистрация: 11.06.2010
Сообщений: 1,016
18.08.2016, 14:38 14
vxg, если есть права рут, то они должны лежать в папке data/data от корня, у разных девайсов может положение меняться, но принцип такой как у этой программы через которую смотрел -> найти папку whatsappa или любой другой программы,получить файлы preferences, ну и считать оттуда, без проблем, этим и опасен рут

rhou, вы вообще искали? Первая же ссылка дала ответ на ваш вопрос:

Разрешение:

XML
1
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Код:

Java
1
2
3
4
5
6
7
8
9
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
 
for (Account ac : accounts) {
    String acname = ac.name;
    String actype = ac.type;
    // Take your time to look at all available accounts
    System.out.println("Accounts : " + acname + ", " + actype);
}
Проверьте actype для WhatsApp счета

Java
1
2
3
if(actype.equals("com.whatsapp")){
    String phoneNumber = ac.name;
}
1
vxg
Модератор
3281 / 2077 / 328
Регистрация: 13.01.2012
Сообщений: 8,073
18.08.2016, 14:50 15
REALIST07, у меня выдает ac.name whatsapp)

Добавлено через 1 минуту
наверное не залогинен
0
REALIST07
Автор FAQ
Автор FAQ
195 / 194 / 21
Регистрация: 11.06.2010
Сообщений: 1,016
18.08.2016, 16:11 16
100% решение, нужен BusyBox
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
public class MainActivity extends AppCompatActivity {
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Button btn = (Button) findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {
                    //
                   if ( copyFile())
                       Toast.makeText(getApplicationContext(),getPhoneFromWhatsAppPref(),Toast.LENGTH_LONG).show();;
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
 
    }
    
    private boolean run(boolean runAsRoot, String cmd) throws IOException, InterruptedException {
 
        String shell = runAsRoot ? "su" : "sh";
        int exitCode = 255;
        Process p;
        
            p = Runtime.getRuntime().exec(shell);
            DataOutputStream os = new DataOutputStream(p.getOutputStream());
 
            os.writeBytes(cmd + "\n");
            os.flush();
 
            os.writeBytes("exit\n");
            os.flush();
            exitCode = p.waitFor();
        
        return (exitCode != 255);
    }
 
    public boolean copyFile() throws IOException, InterruptedException {
        return run(true, "busybox cp /data/data/com.whatsapp/shared_prefs/registration.RegisterPhone.xml /mnt/sdcard/");
    }
 
    private  String getPhoneFromWhatsAppPref() throws IOException {
                File file=new File(Environment.getExternalStorageDirectory(),"registration.RegisterPhone.xml");
                StringBuilder text=new StringBuilder();
                BufferedReader br=new BufferedReader(new FileReader(file));
                String line;
 
                while((line=br.readLine())!=null){
                    text.append(line);
                    text.append('\n');
 
                }
        br.close();
        String tag = "RegisterPhone.phone_number">";
                String phone=String.copyValueOf(text.toString().toCharArray(),text.indexOf(tag)+tag.length(),10);
                return phone;
        
    }
}
0
vxg
Модератор
3281 / 2077 / 328
Регистрация: 13.01.2012
Сообщений: 8,073
18.08.2016, 16:28 17
REALIST07, специфично. у меня IOException
0
18.08.2016, 16:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2016, 16:28

Предметная область ИС: Персональные ЭВМ
ПОМОГИТЕ РЕШИТЬ: Предметная область ИС: Персональные ЭВМ Минимальный список характеристик: ...

Получить данные в поле текстбокса автоматом и перенести данные с формы на лист
Добрый день. Имеется таблица -реестр. Заполняется через форму. В поле текстбокса вводится номер...

Как установить персональные пароли в Access
Подскажите пожалуйста-как установить пароль персональный для каждого пользователя, созданной мной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru