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

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

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

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

WhatsApp call receiver
После появления звонков можно ли как определить начало и конец звонка как в gsm?

Реализация голосовой связи в WhatsApp
Вопрос не конкретный, скорее на тему "общих знаний" - какой алгоритм реализации...

Как послать сообщение с приложения в Whatsapp
О, великие умы, помогите :help: Как послать с приложения сообщение с...

есть спецы? приложение WhatsApp и его бэкап по хрону! Готов заплатить!
Помогите :) приложение whatsApp делает автоматические бэкапы в 4 утра!!! ...

Получить данные о ошибке
А можно ли как-то при возникновении ошибки в приложении, получить имя ошибки,...

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
Модератор
3247 / 2048 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
17.08.2016, 13:49 #4
rhou, базу чего? как можно собрать базу находясь на одном устройстве? вы просто получите данные авторизованного пользователя
0
rhou
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 6
17.08.2016, 13:51  [ТС] #5
Как попасть на другое устройство это уже второй вопрос. Он пока меня не беспокоит. В поставленном вопросе мне кто нибудь сможет помочь ? Вот мне надо получить данные авторизованного пользователя. Какие методы можно применить ?
0
vxg
Модератор
3247 / 2048 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
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
Модератор
3247 / 2048 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
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
Модератор
3247 / 2048 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
17.08.2016, 15:37 #10
rhou, есть только официальные доки по которым вроде все что можно это послать текст в приложение для того что бы пользователь выбрал адресата и вручную послал ему этот текст
0
REALIST07
Автор FAQ
Автор FAQ
181 / 181 / 20
Регистрация: 11.06.2010
Сообщений: 949
17.08.2016, 18:42 #11
пишу приложение по тому же протоколу, что и whatsapp, даже если автор получит доступ к данным whatsappa, залогиниться под тем же пользователем и получить историю переписок ему все равно не получится, потому что там все привязано к железу и по многим параметрам, поверьте человеку, который разбирал whatsapp

Добавлено через 12 минут
Открыл с помощью аппа "Settings Debugger Lite" менеджера данные своего whatsapp, в preferences увидел несколько файлов, телефон хранится в registration.RegisterPhone.xml? остальные данные в com.whatsapp.preferences.xml
0
vxg
Модератор
3247 / 2048 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
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
181 / 181 / 20
Регистрация: 11.06.2010
Сообщений: 949
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
Модератор
3247 / 2048 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
18.08.2016, 14:50 #15
REALIST07, у меня выдает ac.name whatsapp)

Добавлено через 1 минуту
наверное не залогинен
0
REALIST07
Автор FAQ
Автор FAQ
181 / 181 / 20
Регистрация: 11.06.2010
Сообщений: 949
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
Модератор
3247 / 2048 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
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

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

На смарт получить данные с сервера
Приветствую. Хочу написать прогу для личного пользования. На сервере есть БД....

Получить данные по конкретному чату
Здравствуйте, такая проблема, не могу понять как лучше реализовать эту идею. У...


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

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

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