社区
刘海龙的课程社区_NO_4
intel pin视频教程
帖子详情
image插桩
C-haidragon
2023-01-13 03:02:19
课时名称
课时知识点
image插桩
image插桩image插桩image插桩image插桩image插桩image插桩
...全文
51
回复
打赏
收藏
image插桩
课时名称课时知识点image插桩image插桩image插桩image插桩image插桩image插桩image插桩
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Large
Image
Monitor:一个使用ASM进行字节码
插桩
的大图监控框架
Large
Image
Monitor 背景 在平时开发中,我们经常会出现OOM和APK体积过大的情况,其中有很大的原因在于图片过大。当图片占用内存过大,内存不足时就会导致OOM。而图片的文件太大,会导致在打包成APK后,APK的体积增加。关于局部加载的图片,UI给我们图时,我们或许会下意识看一眼文件大小,如果文件太大我们可能会跟UI小姐姐进行沟通。对于从网络加载图片,很多时候客户端拿到的只是一个URL,我们并不知道要加载的图片大小,这时候就有可能造成图片过大的情况。 介绍 Large
Image
Monitor是一个使用ASM进行字节码
插桩
的大图监控框架,可以对我们要加载的图片进行监控,如果出现图片超过阈值的情况会进行报警。 功能与特点 1.支持Glide,Fresco,Picasso,Universal
Image
Loader。 2.可以对图片的文件大小设置阈值。 3.可以对图片所占用的
解包打包android内核system.img文件所需工具
使用方法:http://blog.csdn.net/asmcvc/article/details/11770851 工具: unyaffs,mkyaffs2
image
其中unyaffs有windows版本和linux版本,mkyaffs2
image
只有linux版本。 windows版本的unyaffs用法: 把system.img复制到unyaffs的相同目录下,cmd命令下cd到unyaffs的目录下,然后执行命令:unyaffs system.img unyaffs会把system.img解压到其目录下。 linux版本的unyaffs用法: 把unyaffs复制到/usr/bin目录下,并修改权限为可执行。 然后cd到system.img目录下(假定目录为system目录),执行命令:unyaffs system.img 然后对system目录下的文件进行修改。 注意:修改完后的文件要修改一下权限,尽量和其他文件的权限保持一致。例如:chmod 644 framework-res.apk mkyaffs2
image
用法: 复制到/usr/bin目录下,并修改权限为可执行。 这里以打包system目录为system.img为例,执行命令: mkyaffs2
image
system system.img 然后把新生成的system.img复制替换掉原:adt-bundle-windows-x86\sdk\system-
image
s\android-17\armeabi-v7a\system.img 执行bat批处理命令启动模拟器: D:\adt-bundle-windows-x86\sdk\tools\emulator-arm.exe -avd AndroidVM -partition-size 128 这里以修改android系统启动画面为例: 打开解包目录下的\framework\framework-res.apk 替换图片:framework-res.apk\assets\
image
s\android-logo-mask.png为下图: 然后对\framework\framework-res.apk文件重新签名,复制到linux下后修改文件权限和原来一致。 然后mkyaffs2
image
system system.img打包生成新的system.img,替换原来的system.img,并启动模拟器,效果图如下: 修改代码: 工具:odextools(参考:《一键odex批量合并工具odextools的重新整理与使用》)、dexopt-wrapper 其中odextools.bat的代码: 批处理有一处bug:每打包一次会把odex文件删除掉,导致在后面的打包过程中会出现找不到:system/framework/core.odex类似的错误,因此只需要在打包完后不删除odex文件即可,找到del /f !apkx!.odex 1>nul 2>nul改为:::del /f !apkx!.odex 1>nul 2>nul,也就是注释掉这一行代码。 具体使用方法(操作在windows下): 在odextools\romdir目录下创建文件夹:system 利用unyaffs解包system.img后,把所有文件复制到system目录下。 然后运行odextools.bat,如图: 选择一个需要整合odex的目录选项即可。odextools.bat会自动设置环境变量,使用baksmali.jar来反编译odex为smali,然后再调用smali.jar打包为classes.dex, 然后再打包到相应的apk包(framework目录下对应的是jar后缀的,实际上也是个apk包),最后再重新签名。 如果要修改代码,则需要把上面重新打包生成的apk文件,利用常规方法反编译后修改smali代码,例如
插桩
输入log信息。然后再回编译并重新签名。 最后一步:因为system.img中的apk是优化过的,apk主目录下是没有classes.dex文件的,而是一个被优化过的odex文件,用于优化启动速度。 因此需要将修改后的apk包再用dexopt-wrapper优化apk包后生成出odex文件,然后删除apk包里的classes.dex,并在相同目录下放置与apk包同名的odex文件。 按照原system目录的文件结构组织好后,目录复制到linux环境下使用mkyaffs2
image
重新打包成system.img。
c语言自动
插桩
,01 - LLVM Pass 实现 C函数
插桩
网上我就搜到这一篇文章介绍使用 LLVM Pass 的方式,来实现函数
插桩
。但是按照他文章的一步步坐下来,发现各种报错,要不就是 pass 无法被 xcode 加载,反正遇到了不少的问题。而且该作者很多核心的部分都没有写出来,不知道是因为太简单,还是不想让别人知道 ~经历了两周多左右的研究,以 LLVM 小白的身份,终于跑起来了 ~ 不容易 ~注意:如下内容,最好需要你已经有 LLVM 环境!!!...
Android ASM
插桩
技术学习
ASM
插桩
在网上其实已经有很多资料了,我之所以再写这篇文章呢,一是因为好久前学习的ASM,现在已经忘的差不多了,需要再回顾一下,二来是记录一下学习过程,以后如果再有细节记不清楚可以很方便的就能查到,三来再学习的过程中也踩了一些坑,收获了一些心得,这些也需要一个地方记录一下。好了,废话就说到这里,接下来开始正文。
插桩
技术指在保证原有程序逻辑完整性的基础上,在程序中插入探针,通过探针采集代码中的信息(方法本身、方法参数值、返回值等)在特定的位置插入代码段,从而收集程序运行时的动态上下文信息。
插桩
技术大体可以分为
深入探索编译
插桩
技术(一、编译基础)
前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。 现如今,Gradle + 编译
插桩
的应用场景越来越多,无论是 各种性能优化中的插件工具制作,还是用来支持 插件化、热修复的各种插件,都会使用到这个组合,因此,掌握 Gradle + 编译
插桩
技术能够大大提升我们的技术竞争力。从本篇开始,笔者将会与大家一起深入探索编译
插桩
技术,关于整个编译
插桩
技术研究系列的大纲如下所示: 通常来说,整个《深入探索编译
插桩
技术系列》到第四篇 ASM 也就结束了,
刘海龙的课程社区_NO_4
2
社区成员
498
社区内容
发帖
与我相关
我的任务
刘海龙的课程社区_NO_4
我的视频学习地址:https://edu.csdn.net/lecturer/5805?spm=1003.2001.3001.4144
复制链接
扫一扫
分享
社区描述
我的视频学习地址:https://edu.csdn.net/lecturer/5805?spm=1003.2001.3001.4144
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章