androguard中androdd文件名过长bug
来源:互联网 发布:数控加工中心编程100例 编辑:程序博客网 时间:2024/06/08 16:23
最近做android应用的分析,用到了androguard。这是一个相当强大的android逆向工程和静态分析工具,使用python编写,其中的androdd.py用来生成apk文件的每个类的方法调用图,可以生成png,jpg以及dot文件。
在这里有一个bug,由于androdd.py中使用如下方法生成文件名:
filename = output_name + valid_class_name( method.get_class_name() )
部分文件名(尤其是android内核自带方法生成的文件)长度很长,而Linux系统对文件名长度限制为256,造成程序终止,如下图:
解决方法很直接,在执行前判断文件名的长度,手动设置一个上限:
if len(filename) >= 128: filename = filename[0:128]这里没有设置256,因为还要实际长度还要加上文件路径。
另外,其实自己写的方法不会有这么深的路径,因此文件名也不会这么长,而且分析的时候主要分析的是应用程序的代码,而不希望生成android自带的代码块(这也很浪费时间),因此如果只希望生成与应用程序相关的代码,则可加上一句判断:
if valid_class_name( method.get_class_name() )[0:7] != "android": ......这样也基本不会发生文件名过长问题。
最终生成的png分析图例子如下:
可通过程序操作获取生成的dot文件。
0 0
- androguard中androdd文件名过长bug
- Androguard的androdd.py模块在使用过程中可能遇到的问题
- 文件名过长无法删除
- 删除文件名过长的办法
- 在python中直接调用androguard
- 在python中直接调用androguard
- 文件名过长/文件夹路径过长 无法删除文件夹之解决办法
- 文件名过长/文件夹路径过长 无法删除文件夹之解决办法
- 文件名过长 文件夹路径过长 无法删除文件夹 解决办法
- 文件名过长/文件夹路径过长 无法删除文件夹之解决办法
- 文件名过长下载不能打开解决方法
- 文件名过长下载不能打开解决方法
- ie7下载文件名过长的文件
- 文件名过长导致webstorm不识别文件类型
- 利用androguard来检查apk中得权限
- SmartUpload 中文文件名BUG修正
- 删除Windows文件名过长的文件或者目录
- 删除Windows文件名过长的文件或者目录
- php5.4中htmlspecialchars中文为空的解决办法
- 从网上找的DBMS_STATS.SET_DATABASE_PREFS资料
- Tcl/TK -- Http data
- 2014-1-10 17:18:15
- cocos2dx中使用中文
- androguard中androdd文件名过长bug
- 怎样用互联网思维意淫一家豆浆店
- impala
- R foundmental
- 如何在iOS中使用Block──How to use Blocks with iOS
- C++面向对象作业我之解答
- 好吧,CSS3 3D transform变换,不过如此!
- 互斥锁和条件变量
- 实用的JS代码大全