0
他のプロセスからパッケージ名を取得しようとするプロセスがあります。 私はC++コードを使用しており、Android toolchainを使用してコンパイルしています。 私はそのソケットfdとipアドレスを持っていますが、apiではパッケージ名を含む文字列を返す関数は見つかりませんでした。取らC++でアンドロイドツールチェインを使ってパッケージ名を取得する方法は?
uid_t GetSocketID(int sockfd)
{
int err;
socklen_t len;
struct sockaddr_in addr;
len = sizeof(addr);
int res = getpeername(sockfd, (struct sockaddr*)&addr, &len);
if (res < 0)
{
err = errno;
return -1;
}
int iSockIp = addr.sin_addr.s_addr;
int iSockPort = ntohs(addr.sin_port);
int iUid = -1;
if (iSockIp == 0 || iSockPort == 0)
{
return -1;
}
}
例: https://github.com/android/platform_system_core/blob/master/libcutils/qtaguid.c
を誰もが、私は、パッケージ名を取得する方法を知ってい は、私はそれが助け場合は、ソケットのfdとアドレスを持っていますか?
ありがとうございます!
これは簡単なことですが、コマンドでより具体的にすることはできますか?私は関連するプロセスを見つけることができませんでした。ありがとう – inbaly
役に立つコマンド:busybox netstat -tp | grep | busybox awk '{print $ 7}は、' 10404/com.facebook 'のようにPID /プログラム名(最初の文字)を返さなければなりません。私はPIDを取得して以来、すでに私を助けた。 –
inbaly