1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom

【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom

时间:2023-03-14 16:51:11

相关推荐

【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom

文章目录

一、/proc/pid_num 进程号对应进程信息文件1、进程查询2、进程目录3、进程启动命令 / 包名4、oom_adj 进程优先级5、maps 进程内存使用概况6、smaps 进程内存使用详情7、mem 进程内存映射8、task 子线程9、environ 环境变量

一、/proc/pid_num 进程号对应进程信息文件

在 /proc 目录下 , 有许多以整数命名的文件 ;

这些整数都是进程号 ;

1|walleye:/proc # ls11334 198 231 253 28 318 370 417 469 517 588 71 813 922 keys10 14 199 23138 25331 280 3182 371 418 47 518 59 715 814 927 kmsg100 149 19998 232 25391 281 319 372 419 470 519 590 72 82 928 kpagecount1008 15 2233 254 2817 32 373 420 471 52 592 720 821 93kpageflags101 150 20 23340 255 282 3207 374 421 472 522 5951 723 823 94loadavg1015 151 200 23341 25506 283 321 375 422 473 523 598 729 826 941 locks102 152 20000 23342 2558 284 322 376 423 474 524 599 73 829 942 mdstat1023 15329 201 23350 25584 2848 323 377 424 475 525 6 730 83 945 meminfo1024 16 202 23354 256 285 324 378 425 476 526 60 731 830 946 misc1028 1628 2024 23355 257 286 325 379 426 477 527 600 732 831 947 modules103 1645 20275 23356 258 287 326 38 4260 478 528 602 74 84 95mounts104 1654 203 234 25844 2871 327 380 427 479 529 603 748 845 950 net1048 16867 204 235 25852 2876 328 381 428 48 53 604 75 848 958 pagetypeinfo105 17 205 236 25887 288 329 382 429 480 530 61 750 849 9607 partitions106 1708 206 237 259 289 33 383 43 481 531 610 751 85 962 sched_debug107 17695 207 238 25936 29 330 384 430 482 532 614 753 86 963 schedstat108 1775 208 23808 25946 290 331 385 431 483 533 616 754 87 964 scsi11 17851 2086 23855 25954 291 332 386 432 484 534 617 755 870 97self110 1814 209 239 260 292 333 387 433 485 535 618 756 871 98softirqs111 184 21 2391 26020 293 338 388 434 486 536 62 757 873 983 stat1110 1849 210 23937 26021 294 339 389 435 487 537 625 758 877 985 swaps112 185 211 23967 26086 295 343 39 436 488 538 626 759 878 986 sys113 1850 21123 23993 261 296 344 390 437 489 539 63 76 879 99sysrq-trigger11348 1851 21137 23997 26159 297 345 391 438 49 54 637 761 88 999 thread-self11349 186 212 24 262 298 346 392 439 490 540 638 762 880 asoundtimer_list114 18691 213 240 26209 299 347 393 44 491 542 639 764 881 ath_pktlog timer_stats115 187 21399 241 26248 2990 348 394 440 494 543 64 765 882 buddyinfo tty11529 18751 214 24133 26268 3349 395 441 495 544 640 766 884 bus uid116 188 2150 242 26298 30 35 396 442 496 546 641 767 885 cgroupsuid_cpupower117 18838 21537 24217 263 300 350 397 443 499 547 646 768 889 cld uid_cputime1176 18865 217 243 26320 301 351 398 444 5 548 65 7686 89 cmdlineuid_io118 189 218 24327 26346 302 352 40 445 500 549 650 769 890 config.gz uid_procstat1184 1895 219 24378 26365 303 353 401 446 501 55 652 77 891 consoles uid_time_in_state1185 19 22 24397 264 304 354 402 447 502 550 655 770 897 cpuinfouptime119 19048 220 244 265 3048 355 4022 45 503 551 656 771 898 cryptoversion1191 19060 221 245 266 305 356 403 450 504 552 657 772 9 debugdriver vmallocinfo12 19088 222 24510 267 306 357 404 451 505 553 667 774 90 device-tree vmstat120 191 223 246 268 3078 358 405 453 5050 554 669 78 900 deviceszoneinfo121 19120 224 247 269 308 359 406 454 506 555 67 781 909 diskstats1213 1915 22417 248 27 309 36 407 455 507 556 677 784 91 driver122 192 225 24836 270 31 361 408 456 508 56 679 787 910 execdomains123 1924 226 249 271 310 362 409 457 509 564 68 79 912 fb1259 193 22686 24977 272 311 363 41 459 51 565 683 791 913 filesystems12843 19313 22695 24992 273 312 364 410 46 510 566 684 795 914 fs13 194 227 25 274 313 365 411 460 511 568 685 798 915 interrupts1315 19489 228 250 275 31359 366 412 461 512 57 688 8 917 iomem1316 195 229 251 276 314 367 413 462 513 571 69 801 918 ioports1331 196 23 25122 277 315 368 414 463 514 574 7 804 919 irq1332 197 230 252 278 316 369 415 464 515 586 70 807 92 kallsyms1333 19791 23051 25299 279 317 37 416 465 516 587 7022 81 921 key-users

1、进程查询

执行ps -ef命令 , 可以查看当前所有进程 , 这些进程对应的 PID 就是上述 /proc/ 目录下的所有整数对应的文件 ;

在 /proc/ 目录下使用ls -l | grep 31359命令 , 查询31359进程号对应的文件 , 该 /proc/31359 进程信息文件对应ps -ef输出的如下进程信息 ; 腾讯 QQ 进程对应的进程号是 31359 , 对应的进程信息文件是 /proc/31359 文件 ;

u0_a29631359 730 2 09:52 ? 00:04:44 com.tencent.mobileqq

2、进程目录

进入 /proc/31359 目录中 , 有如下文件 :

walleye:/proc # cd 31359walleye:/proc/31359 # lsattr concurrent_active_time exe maps ns root stattimerslack_nsauxv concurrent_policy_time fd mem oom_adj sched statm wchancgroupcoredump_filter fdinfo mountinfo oom_scoreschedstat statusclear_refs cpuset io mountsoom_score_adj smaps syscallcmdline cwdlimits mountstats pagemap smaps_rollup taskcomm environmap_files net personality stack time_in_statewalleye:/proc/31359 #

3、进程启动命令 / 包名

/proc/31359/cmdline 文件内容 : 进程应用对应的包名 ;

walleye:/proc/31359 # cat cmdlinecom.tencent.mobileqq

查看 /proc/1/cmdline 文件内容 , 1 进程号对应的进程的 cmdline 文件中 , 显示的是 /init 可执行文件 , 这是个应用程序 , 这是 Android 系统启动时 , Linux 初始化 Android 环境时 , 调用到的进程 ;

walleye:/proc/1 # cat /proc/1/cmdline/init

4、oom_adj 进程优先级

查看 /proc/31359/oom_adj 文件内容 : 16 , 这是进程的优先级 , 在之前进行进程保活时 , 分析过该参数 ; oom_adj 值越小 , 进程优先级越高 , 越不容易被杀死 ;

walleye:/proc/31359 # cat oom_adj16

查看 /proc/31359/oom_adj 文件内容 : 该文件展示进程所使用到的内存 ;

5、maps 进程内存使用概况

查看 /proc/1/maps 文件内容 : init 进程对应的内存使用情况 ;

6、smaps 进程内存使用详情

查看 /proc/1/smaps 文件内容 : 这是进程使用内存的详细说明 , 比 maps 信息更详细 ; 内存的实际大小Size: kB, 真正使用的大小Rss: 428 kB;

这是声明了 kB 内存 , 只使用了 428 kB 内存 , 一旦使用了更多的内存 , 会触发缺页中断 , 由系统补上空缺的内存 , 然后结束中断 , 继续执行 ;

7、mem 进程内存映射

mem 是进程的内存映射文件 , 通过 smaps 可以获取各个模块的地址 , 如下面的7fcf430000-7fcf451000, 这些地址是进程内存中的偏移地址 ;

7fcf430000-7fcf451000 rw-p 00000000 00:00 0[stack]Size:132 kBKernelPageSize: 4 kBMMUPageSize: 4 kBRss: 12 kBPss: 12 kBShared_Clean:0 kBShared_Dirty:0 kBPrivate_Clean: 0 kBPrivate_Dirty: 12 kBReferenced: 12 kBAnonymous: 12 kBAnonHugePages: 0 kBShared_Hugetlb: 0 kBPrivate_Hugetlb: 0 kBSwap: 28 kBSwapPss: 28 kBLocked:0 kBVmFlags: rd wr mr mw me gd ac

将 mem 看做一个文件 , 使用 fseek 跳转到对应偏移地址中 , 可以读取对应地址内存中的数据 ;

Android 逆向时 , 该文件很重要 ;

8、task 子线程

查看 /proc/31359/task 目录内容 : task 目录是该进程的子线程 , 下面是腾讯QQ 的子线程 ;

1|walleye:/proc/31359 # lsattr comm cwdio mountinfo oom_adj root stack taskauxv concurrent_active_time environ limits mountsoom_scoresched stat time_in_statecgroupconcurrent_policy_time exemap_files mountstats oom_score_adj schedstat statm timerslack_nsclear_refs coredump_filter fdmapsnet pagemap smaps status wchancmdline cpuset fdinfo mem ns personality smaps_rollup syscallwalleye:/proc/31359 # cat task/cat: task/: Is a directory1|walleye:/proc/31359 #1|walleye:/proc/31359 # cd task/walleye:/proc/31359/task # ls13090 16652 2381 31370 31389 31484 31504 31563 31666 31696 31731 31766 31791 31831 31870 32482 59331484 16663 2084 2440 31371 31395 31493 31505 31564 31667 31697 31733 31774 31792 31834 31876 32500 59341485 1702 2104 31359 31372 31396 31494 31507 31566 31668 31699 31741 31777 31793 31838 31877 32545 593516427 1733 2113 31364 31373 31397 31495 31508 31580 31678 31700 31744 31778 31808 31844 31931 32557 594216429 1841 2120 31365 31377 31399 31496 31509 31589 31680 31701 31751 31779 31810 31845 32240 3260316430 1842 2125 31366 31379 31408 31497 31512 31592 31685 31702 31752 31780 31823 31846 32241 371116434 1918 2226 31367 31380 31409 31498 31514 31617 31687 31703 31753 31783 31826 31848 32242 555516442 1945 2273 31368 31381 31410 31502 31522 31653 31693 31704 31757 31785 31828 31857 32243 556516456 2374 31369 31388 31413 31503 31538 31654 31694 31710 31765 31790 31830 31868 32340 5566walleye:/proc/31359/task #

9、environ 环境变量

查看 /proc/31359/environ 文件内容 : 该文件内容是该应用环境变量配置 ;

walleye:/proc/31359 # cat environPATH=/sbin:/system/sbin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbinDOWNLOAD_CACHE=/data/cacheANDROID_BOOTLOGO=1ANDROID_ROOT=/systemANDROID_ASSETS=/system/appANDROID_DATA=/dataANDROID_STORAGE=/storageEXTERNAL_STORAGE=/sdcardASEC_MOUNTPOINT=/mnt/asecBOOTCLASSPATH=/system/framework/core-oj.jar:/system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/bouncycastle.jar:/system/framework/apache-xml.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/android.hidl.base-V1.0-java.jar:/system/framework/android.hidl.manager-V1.0-java.jar:/system/framework/framework-oahl-backward-compatibility.jar:/system/framework/android.test.base.jar:/system/framework/com.google.vr.platform.jarSYSTEMSERVERCLASSPATH=/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar:/system/framework/com.android.location.provider.jarANDROID_SOCKET_zygote_secondary=12walleye:/proc/31359 #walleye:/proc/31359 #

【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom_adj | maps | smaps | mem | task | environ )

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。