先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注鸿蒙)
正文
Frida的话就更简单了,函数执行之前判断当前函数是否被inlinehook ,有一种比较好的办法,就是先扫描本地文件,比如libc这个so库。
我们先通过解析本地elf文件的方式,libc.so文件得到函数符号,得到这个方法的相对偏移,从而得到这个方法的真实代码指令。
然后在解析内存判断和本地文件的指令是否相同即可确认当前方法是否被修改,而不需要做32位和64位判断。
以前的老方法基本都是检测函数头 32位检测LDR 64位检测BLX等指令,判断当前方法是否被Hook。
这种老方法的检测方式都有弊端,比如异常Hook或者断点Hook BKPT等断点指令hook。都没办法做到检测。
直接对比指令是否发生变化是最直接也是最有效的办法
沙箱&虚拟环境(关键)
沙箱的话检测方式还是很多的,列出来常用几种方式参考如下
1,刚启动的时候判断当前的进程,是否存在其他进程,直接popen ps一下即可。
2,或者检测当前Apk的私有路径是否正确,是否是/data/data/包名结构,
3,readdir打开当前用户所有的dir目录,判断是否存在多余的文件描述符fd。是否存在和父进程不同的pid。
4,检测当前IPC等类是否被动态代理,很多VA等虚拟沙盒原理就是动态代理IPC相关,直接获取到IPC类实体类以后.getClass().getName()
判断是否包含proxy等关键字即可。
5,…
注意:此字段一般在环境占比中很重要,当当前App环境一旦被石锤沙箱环境以后,直接可认定当前用户为黑设备
Apk签名(关键)
APK签名这个具体也在设备指纹那篇文章有详细介绍,市面上大厂和加固也都用这两种方法去检测。这里就不细说了。
一旦检测出来当前APK签名不正确的话,可以被认定为重打包,可以直接石锤用户作弊。
模拟器(关键)
常用的模拟器也有很多种,不同类型的模拟器检测也不一样,可以针对不同类型的模拟器特征文件去检测,百度一下一堆。
这个字字段也是关键字段,正常我们是不希望我们的App在模拟器里面进行执行的。所以当发现设备在模拟器内部执行以后可以直接认定为风险设备。
自定义ROM
现在能自定义的很少,基本都是谷歌系列的手机,因为很多大厂他不会开源当前手机的驱动代码,没有驱动代码也就没办法编译成rom。
很多大厂会扫描系统的一些文件MD5,主要用于判断google系列当前手机是否存在自定义Rom 。
查杀分离:
这个也是一种很重要的策略,主要就是当服务端或者命中风控以后,他不会及时封你的号,或者立刻给你号返回错误数据。
而是隔一段时间,可能是几个小时,也有可能是几天,这样做的好处防止你去不断地试探从而找到正确的检测规律。
防止攻击者不断试探的方式去获取正确的风控规则。规避风险。
用户行为&心跳包上报:
检测原理:
一般大厂会使用这种方案,在一些SDK初始化以后会开启一个socket,tcp长连接,覆盖App整个生命周期,当用户进行点击的时候
对页面某个位置点击的时候会进行上报,后台可以很清楚的看到当前用户的点击路径。如果攻击者直接通过rpc或者算法还原接口破解的方式调用接口的话,就可能会存在心跳包遗漏的问题,当长时间无心跳以后,可能会直接认为当前IP是风险IP,从而实现封禁。
这个方法也是很好用的办法,可以通过AI等进行自动化的行为判断,等AI的模型和数据足够完善以后,即可实现,自动化判断自动化&非自动化(人手点击)的判断。
比如某些的自动点击框架,如果只是为了业务去点击的话,是没有一些多余操作的,而我们们的手在屏幕不断滑动的时候是会产生很多用户路径,我们称之为随机路径。
对抗原理:
自动化点击脚本控制App+用户随机路径,自动化脚本控制App去实现自动化点击,防止心跳包和用户点击路径的遗漏。
需要添加随机路径,防止被AI检测出来自动化操作,添加随机路径也很简单,在不影响点击结果的情况下,仿人触摸随机对屏幕滑动。
(可以提前录制一些用户的操作流程,将数据保存到Json里面,在对屏幕进行dispatch事件分发的时候,采用真人点击的event即可)
细节点:如何记录用户的点击行为?
手机屏幕好像是一个分发器,而屏幕的view是消费者。他可能选择消费这个事件,也可以选择抛出去,给下级view去消费。
但是事件只要被消费了就一定会走view->ontouch();方法,所以我们只需要hook view的view->ontouch(); 方法,把参数1进行toString打印和保存即可。即可得到全部的的点击事件消费对象objection。
异常&行为埋点:
检测原理:
指的是在某个页面进行埋点,只有触发某条请求或者打开某个页面的时候才会进行埋点上报。
举个case:
当攻击者调用登入接口获取token的时候,正常肯定需要打开App的登入页面,而这个埋点是通过打开页面时候进行上报。
如果攻击者只进行了调用登入接口,没有调用埋点接口,可能会导致当前请求缺少前置埋点。可能会导致数据被风控。
埋点上报其实在风控里面发挥的作用还是很大的,正常用户从登入到查看个人信息,需要触发5个埋点信息。
但是攻击者只触发了1-2个埋点,则可认定当前用户存在作弊行为,可能存在脱机的嫌疑。会被直接标识成黑设备。
在后台看的话就是一些点点,而这些点就是不同的埋点信息,哪个点被点亮,哪个点没有被点亮,和正常的用户做一下对比,很容易就可以确认。
对抗原理:
同上
总结:
说了这么多总结一下,用上述的方法可以有效对抗,RPC,或者常规的自动点击,包括一些大批量的数据获取。
当账号数量足够多的时候(账号足够成熟,很多新号会有限制),并且满足一下条件的时候:
群控+自动点击+用户点击随机路径+完善的改机软件+一机多号(设备够多无视),即可实现风控的对抗。
当然还需要分析,一些账号的临界值,不同的数据可能触发的风控点也不一样。
比如有的数据单用户日获取量不超过20条,那么你你就不可能获取超过20次。群控服务端还需要记录每个用户的日点击数,等信息。
当然有风控肯定不是无敌的,他能做的就是提高你得逆向成本,小规模的抓取基本无视。当发现数据过大的时候及时发现并上报,这就已经足够了。而这些成本最小的就是客户端SDK检测能力的提升,客户端的数据上传的越准确,往往对灰黑产的识别效果也越好。不过现在国内基本检测都差不多。有创新的东西很少了。
无风控App:
无风控App对抗起来还是很简单的,因为服务端没有限制,所以遇到这种我一般都是不会去分析他的实现的。
我们只关注我们需要的数据即可。找到可以触发这次请求的地方,直接控制目标App无限触发该行为,比如点击或者刷新等操作。找到数据保存的地方进行上报即可,RPC等也是很好的办法。因为对抗这种无风控的App RPC是效率最高的方法之一。
**
`黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
4.工具包、面试题和源码
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
4.工具包、面试题和源码
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
[外链图片转存中…(img-6h2rqYU3-1713440827490)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!