Skip to content

5.4.61-qgki内核如果不换手机,是否可以通过刷内核开启配置的方式进行支持 #81

@DarkCoder-01

Description

@DarkCoder-01

大佬好,看了工具介绍能力很强,确实是一款利器,对于非5.10+的内核,如果不换手机,是否可以通过刷内核开启配置的方式进行支持。如果可以,方便告知需要依赖于哪些内核功能,当前内核版本问题
内核版本

haydn:/data/local/tmp # uname -r
5.4.61-qgki-g698d62142ade

内核配置

haydn:/data/local/tmp # zcat /proc/config.gz | grep CONFIG_HAVE_HW_BREAKPOINT
CONFIG_HAVE_HW_BREAKPOINT=y

尝试hook系统调用断点报错如下

haydn:/data/local/tmp # ./stackplz -n com.xxx.china --syscall exit --kill SIGSTOP --stack --debug
findBTFAssets btf_file=a12-5.10-arm64_min.btf
Executable:/data/local/tmp/stackplz
add lib_search_path => [/data/app/~~r5LWQu4MhzurZeO5RaE-fA==/com.gof.china-65NpL85i_VfVrAtLDVaGHQ==/base.apk]
[*] save maps to maps_31479.txt
[*] save maps to maps_31539.txt
hook syscall count:1
PerfMod module started successfully
...
SyscallMod      module Run failed, [skip it]. error:couldn't init manager error:program raw_syscalls_sys_enter: load program: invalid argument: invalid func unknown#117 (12927 line(s) omitted) , couldn't load eBPF programs, cs:&{map[.rodata:Array(keySize=4, valueSize=34, maxEntries=1, flags=128) arg_filter:Hash(keySize=8, valueSize=272, maxEntries=40, flags=0) base_config:Array(keySize=4, valueSize=8, maxEntries=1, flags=0) bufs:PerCPUArray(keySize=4, valueSize=32768, maxEntries=2, flags=0) child_parent_map:Hash(keySize=4, valueSize=4, maxEntries=512, flags=0) common_filter:Hash(keySize=4, valueSize=20, maxEntries=1, flags=0) common_list:Hash(keySize=4, valueSize=4, maxEntries=1024, flags=0) ctx_regs_map:Hash(keySize=8, valueSize=272, maxEntries=1024, flags=0) event_data_map:PerCPUArray(keySize=4, valueSize=32072, maxEntries=1, flags=0) events:PerfEventArray(keySize=4, valueSize=4, maxEntries=8, flags=0) op_ctx_map:PerCPUArray(keySize=4, valueSize=72, maxEntries=2, flags=0) op_list:Hash(keySize=4, valueSize=24, maxEntries=256, flags=0) str_buf:Hash(keySize=256, valueSize=4, maxEntries=256, flags=0) str_buf_gen:Array(keySize=4, valueSize=256, maxEntries=1, flags=0) str_buf_map:LRUHash(keySize=8, valueSize=256, maxEntries=256, flags=0) sysenter_point_args:Hash(keySize=4, valueSize=1036, maxEntries=512, flags=0) sysexit_point_args:Hash(keySize=4, valueSize=1036, maxEntries=512, flags=0) thread_filter:Hash(keySize=16, valueSize=4, maxEntries=40, flags=0) uprobe_point_args:Hash(keySize=4, valueSize=1036, maxEntries=6, flags=0)] map[raw_syscalls_sys_enter:0x40000219e0 raw_syscalls_sys_exit:0x4000021830 tracepoint__sched__sched_process_fork:0x4000021950] 0x400026d900 LittleEndian}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions