标签: uid

获取Android应用程序的Linux UID

我希望能够获得已安装的Android应用程序的Linux UID(用户ID).

安全和权限摘录:"在安装时,Android为每个软件包提供了一个独特的Linux用户ID.在该软件包的生命周期内,该标识保持不变."

有没有办法检索这个UID?

linux android uid

23
推荐指数
4
解决办法
3万
查看次数

计算UID可能性的大小

根据DICOM规范,UID由以下内容定义:9.1 UID编码规则.换句话说,以下是有效的DICOM UID:

  • "1.2.3.4.5"
  • "1.3.6.1.4.35045.103501438824148998807202626810206788999"
  • "1.2.826.0.1.3680043.2.1143.5028470438645158236649541857909059554"

而以下是非法的DICOM UID:

  • " .1.2.3.4.5"
  • "1..2.3.4.5"
  • "1.2.3.4.5."
  • "1.2.3.4.05"
  • "12345"
  • "1.2.826.0.1.3680043.2.1143.50284704386451582366495418579090595540"

因此我知道该字符串最多为64个字节,并且应该与以下正则表达式匹配[0-9\.]+.然而,这个正则表达式实际上是一个超集,因为(10+1)^64 (=4457915684525902395869512133369841539490161434991526715513934826241L)可能性要少得多.

如何精确计算尊重DICOM UID规则的可能性数量?


读取组织根/后缀规则清楚地表明我至少需要一个点('.').在这种情况下,组合至少为3个字节(字符),格式为:[0-9].[0-9].在这种情况下10x10=100,UID的长度可能为3.

看一下第一个答案,似乎有些不清楚:

除非组件是单个数字,否则每个组件的第一个数字不应为零.

这意味着:

  • "0.0"有效
  • "00.0"或"1.01"无效

因此,我会说一个正确的表达方式是:

(([1-9][0-9]*)|0)(\.([1-9][0-9]*|0))+
Run Code Online (Sandbox Code Playgroud)

使用简单的C代码,我发现:

  • f(0)= 0
  • f(1)= 0
  • f(2)= 0
  • f(3)= 100
  • f(4)= 1800
  • f(5)= 27100
  • f(6)= 369000
  • f(7)= 4753000
  • f(8)= 59049000

Root UID部分的验证超出了本问题的范围.第二个验证步骤可以处理拒绝一些不可能注册的OID(例如,有些人提到对第一和第二弧的限制).为简单起见,我们将接受所有可能的(有效)Root UID.

math dicom uid

16
推荐指数
2
解决办法
506
查看次数

如何使用Windows 8中的cmd按进程名称终止程序?

似乎每当我在Windows 8中打开一个程序时,进程名称就是 WWAHost.exe

我希望能够做一些类似的事情,TASKKILL /F /IM notepad.exe并按名称终止一个特定的过程

如果我杀了WWAHost.exe那么所有开放的程序都会死

有任何想法吗?

windows cmd process taskkill uid

14
推荐指数
1
解决办法
2万
查看次数

如何将应用程序创建的线程视为与应用程序的ContentProvider不同的应用程序?

我有一个应用程序,当通过ContentObserver对a的更改通知时ContentProvider,尝试在后台线程上查询提供程序.这导致SecurityException抛出:

8-10 15:54:29.577    3057-3200/com.xxxx.mobile.android.xxx W/Binder? Caught a RuntimeException from the binder stub implementation.
  java.lang.SecurityException: Permission Denial: reading com.xxx.mobile.android.mdk.model.customer.ContentProvider uri content://com.xxx.mobile.android.consumer.xxx/vehicle from pid=0, uid=1000 requires the provider be exported, or grantUriPermission()
at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:539)
           at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:452)
           at android.content.ContentProvider$Transport.query(ContentProvider.java:205)
           at android.content.ContentResolver.query(ContentResolver.java:478)
           at android.content.ContentResolver.query(ContentResolver.java:422)

应用程序创建的线程如何以应用程序的ContentProvider中的不同UID结束?

通过将异常断点在android.content.ContentProvider我看到UserHandle.isSameApp(uid, mMyUid)falseUserHandle.isSameUser(uid, mMyUid)true.我还看到提供者UID是10087.

android uid android-contentprovider android-securityexception

13
推荐指数
2
解决办法
575
查看次数

有没有办法在使用java的Linux机器上获取用户的UID?

有没有办法在使用java的Linux机器上获取用户的UID?我知道System.getProperty("user.name");方法,但它返回的用户名,我正在寻找UID.

java linux uid

11
推荐指数
3
解决办法
2万
查看次数

uid_t类型是签名还是未签名?

我知道标准没有说明uid_t或是的签名gid_t.

不一致性:

页面http://www.gnu.org/software/libc/manual/html_node/Reading-Persona.html说:

在GNU C库中,这是unsigned int的别名.

但是man setreuid说:

为实际或有效用户ID 提供值-1会强制系统保持该ID不变.

问题:

  1. 那么,uid_t在GNU库中签名还是未签名?

  2. 我如何能提供-1,如果uid_tgid_t是无符号(-1将被转换为0xFFFFFFFF)?

c uid

11
推荐指数
2
解决办法
1万
查看次数

SecurityException:从不受信任的UID调用

我在Crashlytics帐户中遇到错误,并尝试找到此错误的解决方案,但没有取得任何成功.

Fatal Exception: java.lang.SecurityException: Calling from not trusted UID!
       at android.os.Parcel.readException(Parcel.java:1431)
       at android.os.Parcel.readException(Parcel.java:1385)
       at android.app.ActivityManagerProxy.finishInstrumentation(ActivityManagerNative.java:3249)
       at android.app.ActivityThread.finishInstrumentation(ActivityThread.java:4706)
       at android.app.Instrumentation.finish(Instrumentation.java:201)
       at android.support.test.runner.MonitoringInstrumentation.finish(MonitoringInstrumentation.java:334)
       at android.support.test.runner.AndroidJUnitRunner.finish(AndroidJUnitRunner.java:405)
       at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:394)
       at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1738)
Run Code Online (Sandbox Code Playgroud)

我不明白这个警告或错误.

android uid

11
推荐指数
0
解决办法
1006
查看次数

Linux - 如何列出所有用户

如何编写linux脚本,列出/ etc/passwd中的所有用户及其UID

User1 uid=0001
User2 uid=0002
Run Code Online (Sandbox Code Playgroud)

...

脚本应该使用:grep,cut,id,for

linux awk grep uid

9
推荐指数
2
解决办法
5万
查看次数

如何在Android上使用uid获取用户名

我有几个这样的uid:10022,10011,1000

其实我知道他们的用户名是u0_a22,u0_a11,system.

但问题是如何使用代码获取用户名?根本没有/ etc/passwd文件..

linux android username uid

9
推荐指数
2
解决办法
3215
查看次数

ICS(iCalendar)UID的目的和用途

我正在使用Java创建一个针对ICS文件的同步适配器,并且我遇到了一个问题,即在针对动态创建的远程文件的新更新中识别相同的事件.

所以我想,很好,我可以使用UID,事实证明它是每次下载ICS文件时随机生成的.那么如果每次都随机生成UID属性的重点是什么?为什么不假设宇宙中存在的每个ICS事件都是唯一的?是不是ICS文件生成器故障因为没有使用相同的UID进行同样的事件(我看过2个ICS文件提供商这样做,2所学校)?

那么,在ICS文件更新中识别同一事件的标准方法是什么,而不是擦除整个日历并重新导入?

java icalendar uid ical4j rfc5545

9
推荐指数
1
解决办法
8727
查看次数