——徐志摩 安卓请求文件授权 在AndroidManifest.xml中加上 <!
, 3 10月 2022 作者 847954981@qq.com 后端学习, 我的编程之路 Kotlin安卓开发学习(5) 在Activity中使用Menu 想要在activity内使用菜单,需要专门去创建菜单布局 ,菜单布局被统一放在menu资源文件夹下,通过创建Menu resource file来创建菜单布局。 true } 这里的menuInflater实际上是调用了父类的getMenuInflater()方法得到了对象,在调用它的inflate()方法,其传入两个参数第一个参数用于指定我们通过哪一个资源文件来创建菜单
(String name,int mode):打开对应文件的输出流 mode的参数如下 MODE_PRIVATE:该文件只能被当前程序读写 MODE_APPEND:追加打开的文件 MODE_WORLD_READABLE :文件的内容可以被其他应用程序读取 MODE_WORLD_WRITEABLE:该文件的内容可由其他程序读写 getDir(String name,int mode):获取或者创建对应的子目录 File getFilesDir():获取应用程序的数据文件夹的绝对路径 String[] fileList():返回应用的数据文件夹下所有文件 deleteFile(String):删除数据文件夹下指定文件 二 、写入示例代码(其中FILE_NAME表文件名) 代码如下:private void write(String content) { try { //追加模式打开文件输出 FileOutputStream 和FileOutputStream、FileReader、FileWriter读写SD卡文件 注意要点: 插入SD 配置应用程序读写权限 <!
在开发测试安卓APP时,遇到应用奔溃crash时,我们经常要抓取安卓APP日志来定位问题的原因,测试提交bug时也需要把日志提交给开发。 方法一adb命令 环境安装SDK(参考android sdk环境安装),使用adb工具,可参考之前的文章--安卓按开发测试小工具-adb 使用数据线链接手机 开启手机调试模式 cmd-->adb devices 查看手机是否连接 cmd--->adb logcat -v time>D:log.txt 然后运行对应的app 操作结束 使用ctrl+c 在电脑D盘下就有一个log.txt文件 方法二DDMS工具
c 版本代价太大了; 2、在安卓源码中,有个elf.h文件,这个文件定义了我们解析时需要用到的所有数据结构,并且给出了参考注释,是很好的参考资料。 每个字段解释如下: 1、e_ident 数组:前4个字节为.ELF,是 elf 标志头,第 5 个字节为该文件标志符,为 1 代表这是一个 32 位的 elf 文件,后面几个字节代表版本等信息。 2、e_type 字段:表示是可执行文件还是链接文件等,安卓上的 so 文件就是分享文件,一般该字段为 3,详细请看下图。 4、e_version 字段:该字段表示当前 so 文件的版本信息,一般为 1 5、e_entry 字段:该字段是一个偏移地址,为程序启动的地址。 5、sh_offset 字段:该字段也是一个地址,是该节区在该 so 文件中的偏移地址。 6、sh_size 字段:该字段表明了该节区的大小,单位是字节。
\system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。 在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是/data/文件夹中 \system\app\AlarmClock.apk 闹钟 \system\app\AlarmClock.odex ,bin文件夹名称是binary二进制的程序,里面主要是Linux系统自带的组件 Android手机网就主要文件做下简单的分析介绍: \system\bin\akmd \system\bin\am ,比如APN接入点设置等核心配置 \system\etc\apns-conf.xml APN接入点配置文件 \system\etc\AudioFilter.csv 音频过滤器配置文件 \system \01-test \system\etc\dhcpcd\dhcpcd-hooks\20-dns.conf \system\etc\dhcpcd\dhcpcd-hooks\95-configured5
前言 一道so文件动态加解密的CrackMe,运行时解密要执行的函数,且在执行后立马加密CrackMe:dex文件加的数字壳,so文件无壳,因为反调试,所以so文件采用全静态分析 分析环境:脱壳工具:FART 进程的内存映射文件maps,然后通过搜索切割字符串得到的,maps文件的内容如下: sub_8930函数接着调用了sub_8B90函数用于获取xxoo函数的相对虚拟地址和大小,如下: 其中步骤5— ) 获取xxoo函数的文件偏移(xxoo_offset) xxoo函数的文件偏移 = .txt段的文件偏移 + xxoo函数相对于.txt段的文件偏移xxoo函数相对于.txt段的文件偏移 = xxoo , 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B , 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B
so文件是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据 linux下何谓.so文件: 用过windows的同学应该都知道 .dll文件吧, 这二者有什么共通之处呢,其实 .so文件就跟 .dll文件差不多 一般来说.so文件就是常说的动态链接库, 都是C或C++编译出来的。 与Java比较就是:它通常是用的Class文件(字节码) Linux下的.so文件时不能直接运行的,一般来讲,.so文件称为共享库 那么.so文件是怎么用的呢? for example: (1) 动态库的编译 这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件编译成一个动态库:libtest.so (2) 动态库的链接 这里有个程序源文件 test.c 与动态库 libtest.so 链接生成执行文件 test: 命令:$ gcc test.c -L.
安卓文件在Mac电脑上无法传输?你需要一款安卓设备传输工具! MacDroid Mac版是一款强大的安卓设备传输助手,使用非常简单,只需要将安卓手机使用 USB 连接到 Mac 电脑上即可将安卓设备挂载为本地磁盘,就像编辑mac磁盘上的文件一样编辑安卓设备上的文件 下载:MacDroid Mac版在Mac上将Android作为磁盘挂载Android的内部和外部存储都可以安装在Mac上编辑Android文件,而无需在计算机上复制它们您只需要MacDroid和通过USB
实用方法很简单,在手机上安装这个软件,然后运行,然后进入Setting,点击User's settings,然后Create new user(我新建了一个叫做ACE的用户),注意这里在豌豆荚的截图只是做教程用的,实际不需要连接豌豆荚,甚至不需要WIFI,只要你打开了GPRS
fitstart" 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置 //android:scaleType="matrix" 用矩阵来绘制 //图片来源,需要将图片复制放到res/drawable文件夹里面 text1的控件的左边 android:layout_toLeftOf="@id/text1" //在名字叫text1的控件的上边 android:layout_above="@id/text1" 5. radiobutton1" //选项文字 android:checked="ture" //是否默认选中 7.ImageView ImageView控件负责显示图片,其图片的来源可以是在资源文件中的 fitstart" 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置 //android:scaleType="matrix" 用矩阵来绘制 //图片来源,需要将图片复制放到res/drawable文件夹里面 在布局文件中使用: <ProgressBar android:id="@+id/pb" android:layout_width="match_parent" android:
LayoutInflater.from(ToastActivity.this).inflate(R.layout.layout_toast, null); toast.setView(view1); 使用inflate从xml文件中加载我们定义的布局 android:id="@+id/textView" android:layout_gravity="center_horizontal" /> </LinearLayout> 在线程中使用 根据安卓编程规范
如果你也正在学习Android可以一起交流一下~~ 上代码:(安卓客户端代码)直接贴出关键部分 /* * 图片上传 */ private void httpUpload() { HttpClient urlServer); File file = new File(pathToOurFile); MultipartEntity mpEntity = new MultipartEntity(); // 文件传输 IOException e) { e.printStackTrace(); } httpclient.getConnectionManager().shutdown(); //上传成功,删除临时文件 我这里只是为了实现上传功能,随后需要按照服务器端的返回结果进行处理~ 服务器端代码:(PHP代码) $arrTmp = pathinfo($_FILES['file']['name']);//获取上传文件信息
如果之前是安卓用户,在购买 iphone 12 新款手机之后,如何从安卓转移数据到 ios?可以通过苹果官方提供的“转移到 ios”应用,将安卓手机中的内容进行转移,感兴趣的朋友快来看看吧! 使用前准备事项: 1.通过苹果官网下载“转移到 ios”应用,并在安卓手机中进行安装。 2.在安卓设备上,确保 wi-fi 已开启。 3.将新 iphone 和安卓设备插入电源。 5.如果您想要转移 chrome书签,请将安卓设备上的 chrome 更新至最新版本。 6.需要确保两台设备放在一旁不动,直到转移完成。 例如,在安卓设备上,“转移到 ios”app 应全程显示在屏幕上。如果您在转移完成之前在安卓设备上使用另一个 app 或接到电话,您的内容将无法完成转移。 如果安卓设备显示您的互联网连接信号弱的警告,您可以忽略这条警告。 4.在安卓设备上输入代码。然后等待“传输数据”屏幕出现。 5.在安卓设备上,选择您想要转移的内容并轻点“下一步”。
大家好,又见面了,我是你们的朋友全栈君 这篇是一系列的关于SO文件保护的自我理解,SO文件保护分为加固,混淆以及最近炒的比较火的虚拟机 加固就是将真正的so代码保护起来,不让攻击者那么轻易的发现,至于混淆,由于ART机制的介入,使得O-LLVM越来越火,这以后有机会再分析,这次主要是基于有源码的so文件保护,下次介绍无源码的so文件保护 ,废话不多说,开搞 在这之前首先对elf文件结构有一定的了解,不一定完全了解,本菜鸟就不是完全懂,在文章开始之前有个知识点必须了解: 这两个节头要有所了解:.init:可执行指令, ok,以上编写完以后就编译生成.so文件。 2.对得到的.so文件进行加密:这一块也是一个重点,大致上逻辑我们可以这么认为:先找到那个我们自己所定义的节,然后找到对应的offset和size,最后进行加密,加密完以后重新的写到另一个新的.so文件中
方法1: 修改pc端的hosts文件(本地hosts配置优先级最高),并使手机或模拟器走pc端的代理(借助Charles等代理工具)。 方法2: 修改手机或模拟器的hosts。 在D盘下创建文件【hosts】,在控制台执行 adb pull /system/etc/hosts D:\hosts,就将模拟器的hosts文件拉取到了Windows中。 ? 用文本编辑器修改hosts这个文件中的host信息,注意文件中原本有的内容:127.0.0.1 localhost要保留,新增的行最好是复制这原本就带有的行,并替换其中的内容,以免格式不对造成配置不生效 控制台执行:adb push D:\hosts /system/etc/hosts,即将Windows中修改好的hosts文件重新导入了模拟器中。
做的比较简陋,将就用哈,自己优化也许 调用: this.$refs.openPdf.preview(item.url) 使用: <previewPdf ref="openPdf"></previewPdf> 引用: import previewPdf from '@/components/preview-pdf/preview-pdf.vue' //pdf预览 <template> <view> </view
MacDroid for mac版是一款帮助用户在mac安卓手机数据传输助手,由于 Mac OS X 本身并不支持 MTP 协议,所以通过 USB 将 Android 设备连接到 Mac 电脑上是无法识别的 ,更别说读取里面的文件了。 MacDroid for mac(安卓文件传输助手)在Mac上将Android作为磁盘挂载Android的内部和外部存储都可以安装在Mac上编辑Android文件,而无需在计算机上复制它们您只需要MacDroid 处理整个文件夹您可以在Mac和Android之间移动整个文件夹,并且始终在设备上拥有最新的文档。观看长途飞行的电视节目如果您想在离线状态下在设备上观看新剧集,则MacDroid会进行转移。 直接在Android上编辑文件您甚至不必在Mac上保存Android文件即可对其进行编辑。只需连接手机,在Mac上编辑文件,然后保存更改即可。
Provider 内容提供者 通过content provider为不同的应用提供数据存储和读取 通过Uri来标识唯一的访问入口 Content Provider通常会跟数据库(Sqlite)一起使用,也有网络、文件
文章首发于奇安信攻防社区 原文链接:https://forum.butian.net/share/648 一、安卓开发工具 安卓开发工具主要是一些Java开发环境、集成开发环境和安卓开发环境等 1、JDK 在官网直接下载即可,双击安装 安装类型 确认安装 二、安卓逆向工具 这部分介绍的安卓逆向工具是一些用于安卓反编译、逆向分析的工具,可以将源程序反编译成可读代码,如Android Killer、Jadx 在smali文件中按q可以反编译回java代码 按Ctrl+b下断点 三、安卓调试工具 这部分为安卓调试工具,主要先介绍下载及安装,JEB动态调试在本文的第六节中介绍,其余的IDEA和IDA会在后面的动态调试文章中体现 对于没有真机的情况下还介绍了一些上手还可以的安卓模拟器 1、APK helper APK helper工具用于查看apk文件简单信息,包括包名、证书、版本、文件信息等 2、PKiD 查壳工具 PKiD 工具,将apk文件拖入可以查看是否加壳 3、安卓模拟器 如果没有真机做实验的情况下,可以使用安卓模拟器用于实验,大部分的模拟器都可以完成实验内容,但是注意的是安卓模拟器也是一个虚拟机,不建议在虚拟机内安装模拟器