能力值:
( LV1,RANK:0 )
|
-
-
51 楼
abcz316
建议阅读linux内核源码page管理部分
还有那个struct page无法访问指的的并非struct_page的物理内存无法访问,而是struct page无法访问,尽管是打印里面的值也会出错(死机)。
|
能力值:
( LV1,RANK:0 )
|
-
-
52 楼
abcz316
建议阅读linux内核源码page管理部分
get_user_pages得到的访问就未出过错,貌似是android进程mman了java堆的大内存 写时复制的锅。我本想调用get_user_pages里面的函数试错,可是里面大部分都不是导出函数
|
能力值:
( LV3,RANK:20 )
|
-
-
53 楼
mb_tdizvstz
还有那个struct page无法访问指的的并非struct_page的物理内存无法访问,而是struct page无法访问,尽管是打印里面的值也会出错(死机)。 理论上不会出现这种情况,你开linux kernel debug模式,双机调下内核看看。推荐入手一台高通855开发板来调,功能多,性能强,3万块就有了
最后于 2022-3-2 00:22
被abcz316编辑
,原因:
|
能力值:
( LV3,RANK:20 )
|
-
-
54 楼
mb_tdizvstz
我估计是涉及到写时复制的问题,进程的虚拟内存并没有分配物理内存。我用get_user_pages的结果和手算的地址基本一致,猜测应该还是锁或者写时复制的锅。所以楼主才用/dev/mem的方式?
安卓无/dev/mem
|
能力值:
( LV3,RANK:20 )
|
-
-
55 楼
mb_tdizvstz
get_user_pages得到的访问就未出过错,貌似是android进程mman了java堆的大内存 写时复制的锅。我本想调用get_user_pages里面的函数试错,可是里面大部分都不是导出函数 ...
那你就用get_user_pages就好了,问题解决了
|
能力值:
( LV1,RANK:0 )
|
-
-
56 楼
abcz316
那你就用get_user_pages就好了,问题解决了
get_user_pages大范围的遍历struct page确实会触发反调试,猜测应该还是轮训检查/proc下的文件。单独的指定地址的读写并不会,但是如果说类似GG那样全部内存的搜索就会触发反调试。如果手算地址卡死的问题解决不用get_user_pages应该可以解决反调试
|
能力值:
( LV3,RANK:20 )
|
-
-
57 楼
mb_tdizvstz
get_user_pages大范围的遍历struct page确实会触发反调试,猜测应该还是轮训检查/proc下的文件。单独的指定地址的读写并不会,但是如果说类似GG那样全部内存的搜索就会触发反调试。 ...
你可以看下get_user_pages的实现,把get_user_pages梳理一遍,打内核断点去调,把计算地址部分全部排除,就会剩下两三个可疑点,你就知道原因了
|
能力值:
( LV4,RANK:40 )
|
-
-
58 楼
等个后续捏
|
能力值:
( LV2,RANK:10 )
|
-
-
59 楼
模块需要修改哪些地方?
最后于 2022-6-9 13:52
被wjwujian编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
60 楼
令人不得不佩服的大神
|
能力值:
( LV2,RANK:10 )
|
-
-
61 楼
在没有官方内核源码,内核版本5.10情况下强制加载驱动成功,加载模块和卸载模块都正常,应用层调用ioctl至驱动层时,驱动可以获取到应用层传入的指针地址,可是调用copy_from_user时就会导致死机,在驱动里单独使用pgt的方法转换物理地址也会死机,这是因为什么原因呢?模块已经使用了cfi不读取应用层内存好像就没事?有没有什么办法解决呢?挺头疼的
|
能力值:
( LV2,RANK:10 )
|
-
-
62 楼
打错字pgd不是pgt
|
能力值:
( LV2,RANK:10 )
|
-
-
63 楼
mark, 楼主好样的
|
能力值:
( LV1,RANK:0 )
|
-
-
64 楼
阿辰
在没有官方内核源码,内核版本5.10情况下强制加载驱动成功,加载模块和卸载模块都正常,应用层调用ioctl至驱动层时,驱动可以获取到应用层传入的指针地址,可是调用copy_from_user时就会导致 ...
老哥解决没 我也遇到了相同情况 copy_from_user这个调用失败
|
能力值:
( LV3,RANK:20 )
|
-
-
65 楼
|
能力值:
( LV1,RANK:0 )
|
-
-
66 楼
wx_嗨
新手+1,有找到编译教程么[em_2]
哥,有编译教程吗?我编译出了好多问题,有偿
|
能力值:
( LV2,RANK:10 )
|
-
-
67 楼
自己编译的内核可以正确计算物理地址,逆向的内核获取不到pud_t *pud 获取就重启,小米手机
|
能力值:
( LV1,RANK:0 )
|
-
-
68 楼
3
最后于 2023-1-22 03:08
被mb_zhckbqoz编辑
,原因:
|
能力值:
( LV1,RANK:0 )
|
-
-
69 楼
驱动已经连接了,但是驱动没有权限操作进程是怎么回事
|
能力值:
( LV2,RANK:10 )
|
-
-
70 楼
大佬可否留个联系方式?
|
能力值:
( LV2,RANK:10 )
|
-
-
71 楼
学习
|
能力值:
( LV2,RANK:10 )
|
-
-
72 楼
搞定了~~~~ 需要修复的地方太多了,修改以后gki测试通过
最后于 2023-4-14 10:04
被wx_范迪塞尔编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
73 楼
看不懂 不知要如何手动修改
|
能力值:
( LV2,RANK:10 )
|
-
-
74 楼
mark
最后于 2023-4-29 15:07
被万里星河编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
75 楼
编译好难
最后于 2023-5-1 17:25
被万里星河编辑
,原因:
|
|
|