AIR

A collection of 2 posts

AIR

Adobe AIR 应用程序目录文件访问漏洞

在ActionScript 3.0参考的FileStream条目中,标明了当文件位置位于应用程序目录中,并将fileMode参数设置为“追加”、“更新”或“写入”模式时,FileStream对象的open和openAsync方法会抛出SecurityError异常。亦即AIR程序是没有权限修改应用程序目录中的文件的。应用程序的配置文件则推荐存储于File.applicationStorageDirectory文件夹中。测试后发现,其判断文件位置是否位于应用程序目录中的算法是判断File对象是否是File.applicationDirectory对象的resolvePath方法返回的值,而不是进行nativePath的判断,所以可以通过nativePath的导出再导入的方式突破这个限制。具体来说就是 var f:File = File.applicationDirectory.resolvePath("hello.world").nativePath; var s:FileStream = new FileStream(); s.open(f, FileMode.WRITE); s.close(); 这个过程会在open一行抛出SecurityError异常。