文档库 最新最全的文档下载
当前位置:文档库 › 【推荐下载】android逆向日记

【推荐下载】android逆向日记

【推荐下载】android逆向日记

android 逆向日记

很长时间了,一直想对自己的app 做加密方面的工作,也看了许多大神的文

章,深知这里面坑很多,得一个个去踩。这篇文章就算是个入门日记吧。我们知道

apk 实际上就是个压缩包,解压后可获得dex 文件。

https://source.android/devices/tech/dalvik/dex-format.html 内容都是从官方文档上获

取来的,但文档并不容易看的明白。因此写了这篇日记辅助理解,大神就不用看啦

1.dex 文件使用单位介绍从上面可以看到规律,以u 开头的表示无符号类型,比

如byte 占用8 个bit,是有符号的,那么表示范围就是-128-127, ubyte 的表示范

围就是0-255 byte 转ubyte;

byte a; a 0xff; // 对应的ubyte 的值dex 文件在这里对用4 个byte 表示的值使用LEB128 来表示,大部分情况是优化的。

1.1 LEB128 每个LEB128 都可能由1-5 个byte,合在一起表示一个32 位的值。

表示逻辑为,每个byte 的最高位用来说明还有没有下一个byte

高位的byte 在后面因此计算公式就是

byte1 去掉高位值+ (byte2 去掉高位值7) + (byte3 去掉高位值14)+ (byte4 去掉

高位值21)+ (byte5 去掉高位值28) 上面的计算公式是uleb128 的计算方式,因为

在dex 中使用的也是这种格式!下面是一些转换的案例

uleb128 和16 进制转换的代码

public static String getUleb128Int(byte[] byteAry) { int index = 0; int result = 0; for (int len = byteAry.length; index len; index++) { result += ((byteAry[index] 0xff) 0x7f) (7

* index); // 因为java 里的byte 是有符号的,因此需要将其先转换成无符号的byte,

0x7f 操作就是取后7 位的值} return Integer.toHexString(result); } 2.dex 文件格式-总

览string_id_item[] string identifiers list. These are identifiers for all the strings used by this file, either for internal naming (e.g., type descriptors) or as constant objects referred to

by code. This list must be sorted by string contents, using UTF-16 code point values (not

in a locale-sensitive manner), and it must not contain any duplicate entries. dex 文件中

Android项目文档

课程代号:83308113 2014-2015学年第1学期《ISAS与项目训练(一)》 项目:Android 班级:网络2班 学号: 13734214 姓名:刘雨亭. 指导教师:温一军周洪斌 . 沙洲职业工学院 NIIT安艾艾迪

目录 一、系统简介 (3) 二、发展历程 (3) 三、发行版本 (4) 四、国内外手机应用状况 (4) 五、发展趋势 (5) 六、Android的相关技术介绍及分析 (6) 6.1、Android系统架构研究 (6) 6.2、应用程序框架 (7) 6.3、类库 (8) 七、Android的API (10) 八、Android活动的生命周期 (11)

一、系统简介 Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号,于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。其中的文字使用了Ascender 公司专门制作的称之为“Droid ”的字体。Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。有时候,它们还会使用纯文字的Logo。 二、发展历程 2003年10月,Andy Rubin等人创建Android公司,并组建Android团队。 2005年8月17日,Google低调收购了成立仅22个月的高科技企业Android及其团队。安迪鲁宾成为Google公司工程部副总裁,继续负责Android项目。 2007年11月5日,谷歌公司正式向外界展示了这款名为Android的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,并与84家硬件制造商、软件开发

基于android的简单记事本的设计大学论文

设计报告成绩评定表: 评分内容成绩 系统方案思路合理性(10%) 报告内容的完整性(10%) 硬件原理图及说明(20%) 程序流程图(20%) 程序清单(10%) 调试及结果分析(10%) 系统改进建议或者方案(10%) 格式规范(10%) 总分 备注:以上总分为该组的平均分,根据成员分工具体分数如下。 小组成员分工分数刘志负责代码的编写 云庆负责总计界面的设计与优化 负责整个设计过程中的ppt制作,以及答辩申任翔 吴宜凡负责调试整个程序,报告撰写

基于Android的简单记事本的设计 摘要 本文主要阐述了基于Android的简单记事本的设计与实现,较为系统的介绍了用户通过点击add按钮编辑事件、通过save按钮添加事件,以及在主界面查看事件列表、单击列表查看单个事件的详细内容,和通过长按列表弹出对话框,选择修改事件、删除事件等。本文主要介绍的是运用eclipse软件进行Android 应用的设计,如使用Activity类、运用Intent技术实现页面的跳转、通过数据存储实现标题、时间、内容的保存以及取出查看的功能。通过以上技术使应用中的各项操作简便易懂并且有明确的提示,让用户可以更清晰快捷地掌握该记事本的使用,为用户节省了时间,为用户提供了便利,随时随地都能记录生活。 关键词:Android、记事本、Intent、Activity

目录 绪论 (1) 一丶需求分析和概要设计 (3) 1.1需求分析 (3) 1.2整体要求 (3) 1.3开发工具和环境 (3) 二丶系统设计 (4) 2.1系统设计架构 (4) 2.2界面概述 (5) 2.3模块概述 (6) 三丶系统详细设计 (6) 四丶系统的不足及改进 (9) 五丶总结 (10) 六丶参考文献 (11)

android日记本代码

一、实验详细代码 (1)布局的代码 a.edit.xml代码

相关文档
相关文档 最新文档