安卓逆向工具
链接:https://pan.baidu.com/s/16ycrpZcl-pBhz5oGJ3MC1Q提取码:i8tx
1./fs/proc/base.c
/** Provides a wchan file via kallsyms in a proper one-value-per-file format.* Returns the resolved symbol. If that fails, simply return the address.*/static int proc_pid_wchan(struct seq_file *m, struct pid_namespace *ns,struct pid *pid, struct task_struct *task){unsigned long wchan;char symname[KSYM_NAME_LEN];wchan = get_wchan(task);if (wchan && ptrace_may_access(task, PTRACE_MODE_READ_FSCREDS)&& !lookup_symbol_name(wchan, symname)){//seq_printf(m, "%s", symname);if (strstr(symname, "trace")){seq_printf(m, "%s", "sys_epoll_wait");}}elseseq_putc(m, '0');return 0;}
2./fs/proc/array.c
/** The task state array is a strange "bitmap" of* reasons to sleep. Thus "running" is zero, and* you can test for combinations of others with* simple bit tests.*/static const char * const task_state_array[] = {"R (running)", /* 0 */"S (sleeping)", /* 1 */"D (disk sleep)", /* 2 */"T (stopped)", /* 4 */"S (sleeping)",//"t (tracing stop)", /* 8 */"X (dead)", /* 16 */"Z (zombie)", /* 32 */};
tpid = 0;seq_printf(m,"State:\t%s\n""Tgid:\t%d\n""Pid:\t%d\n""PPid:\t%d\n""TracerPid:\t%d\n""Uid:\t%d\t%d\t%d\t%d\n""Gid:\t%d\t%d\t%d\t%d\n""Ngid:\t%d\n""FDSize:\t%d\nGroups:\t",get_task_state(p),tgid, pid_nr_ns(pid, ns), ppid, tpid,from_kuid_munged(user_ns, cred->uid),from_kuid_munged(user_ns, cred->euid),from_kuid_munged(user_ns, cred->suid),from_kuid_munged(user_ns, cred->fsuid),from_kgid_munged(user_ns, cred->gid),from_kgid_munged(user_ns, cred->egid),from_kgid_munged(user_ns, cred->sgid),from_kgid_munged(user_ns, cred->fsgid),ngid, max_fds);
Android系统源码结构
链接:https://pan.baidu.com/s/1ocvfmLXnkw2ufbg96dfzfQ提取码:9hr4
定制版安全分析辅助测试手机
Android系统定制需求,联系作者
推荐阅读
商务合作
更多业务合作,点击下方"阅读原文"