- 博客(53)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ANDROID 逆向专题
今天创建了一个新的android 逆向专题,接下来会不定期整理android 逆向的一些资料,希望我能坚持下去。主要是记录一下自己的学习过程,分享出来帮助自己回忆。水平不高难免会有一些错误的地方,如果有路过的大佬能指点出来,小弟不胜感激。因为我的pc是windows ,所以本系列的文章都是基于windows系统的,后面不再说明《ANDROID 逆向专题》目录:预备篇:逆向前...
2019-11-15 16:50:49
153
转载 Python AES加密
一.初级加密(此方法同样适用于linux系统)1.python环境:3.5.3(python3的环境必须导入这两个包才能使用)2.安装模块:pip install Crypto3.再安装pycrypto:pip install pycrypto(此模块在3.4之后已经不再使用,使用下面的模块代替其功能)4.或者可以安装pycryptodome:pip install pycryptodom...
2020-02-24 11:16:03
618
转载 cannot resolve corresponding JNI function
原文:https://blog.csdn.net/LIANGJIANGLI/article/details/72779342对于网上千篇一律的解决办法就是 扯淡!!虽然可以解决红色消失,但是C++/C编码提示、查看源码调试功能都用不了,头痛医脚!!!错误用法:1.File--->Settings--->Plugins,将Android NDK Support后面的对勾去...
2020-02-10 13:29:07
232
原创 IDA笔记
前面提到好几次IDA,这个工具算是反汇编界的神器了。更加细节的内容可以看《IDA Pro权威指南》 ,这里只是一些笔记而已。导航条:蓝色 标识常规的指令函数黑色 节与节之间的间隙银白色 数据内容粉色 表示外部导入符号暗黄色 表示ida未识别的内容,可能是一些dcb指令,这时候可以选择 C 将当前地址处的数据解析成代码...
2020-01-27 16:46:49
1096
原创 ELF文件解析
ELF文件格式ELF (Executable and Linkable Format)是 UNIX 类操作系统中普遍采用的目标文件格式, 分为三种类型:1、可重定位文件 (Relocatable File)包含适合于与其他目标文件链接来创建可执行文件或者共享目标文件的代码和数据。这是由汇编器汇编生成的 .o 文件。后面的链接器(link editor)拿一个或一些 Relocatabl...
2020-01-25 16:34:38
3786
转载 Android逆向中常用的ARM汇编指令
转载:https://blog.csdn.net/weifengzhimo/article/details/70477899本来想自己整理的,但是懒癌发作。找到一篇写的很清楚的。就贴上来了。1.汇编指令格式<opcode>{<cond>}{S}<Rd>,<Rn>{,<OP2>}格式中<>的内容必不可少,{}中...
2020-01-23 00:22:41
1609
转载 【ARM 汇编基础速成7】ARM汇编之栈与函数
原文地址:https://www.jianshu.com/p/f3f771f8f65b原文链接https://azeria-labs.com/functions-and-the-stack-part-7/在这部分我们将研究一篇独特的内存区域叫做栈,讲解栈的目的以及相关操作。除此之外,我们还会研究ARM架构中函数的调用约定。栈一般来说,栈是一片在程序/进程中的内存区域。这...
2020-01-22 17:43:47
1981
原创 《ANDROID 逆向专题》在android中运行 elf程序
我们已经知道,android的底层是linux。本质上,其实android就是一个经过特殊裁剪处理的linux系统,裁剪是为了让我们有限的移动端硬件能够更好地运行这个linux。相对linux,很多人更加熟悉window。这里我们来做个对比。 windows linux可执行文件 exe ...
2019-12-19 12:42:02
1369
原创 《ANDROID 逆向专题》android 基础及linux指令
我们已经知道,android 的内核其实就linux。本质上我们可以将android看成就是linux系统的一个分支。所以这里我们有必要整理一下linux 中的基础的东西。本文的内容分为三分部分:一、android 下的分区目录结构二、linux 下常用指令三、adb常用指令首先先来看看android的分区:System分区: 就是我们刷ROM的分区Data分区:...
2019-12-10 13:16:27
513
1
原创 《逆向专题》对于apk 的认识
这里简单介绍一下我认识的apk。对于apk 的理解其实也是逆向的基础内容,对于apk的理解和熟悉程度能直接影响我们对逆向过程的理解,也能给我们逆向过程提供更开阔是思路。主要包括三个内容:一、apk的包结构二、apk的打包过程三、apk的安装过程四、apk加载/(启动运行)过程先来看看apk的包结构:其实我们的apk 也好,jar 也好,其实都是可以看做是一个zip压缩包...
2019-12-07 18:27:25
357
1
原创 《逆向专题》java层/smali 动态调试
之前介绍了一些做逆向的工具。其中不乏一些反编译和回编译的工具。这篇文章的主题,进行smali 的动态调试,其中关键的一点,就是获得apk的smali代码。当然,这里先排除加壳等情况。默认是可以通过反编译的。这里我们选中的反编译工具是 apktool。工具在github 有的下载。下载得到的是一个jar。所以要运行要先配java环境。我们用命令行执行下apktool,可以看到这个命令的使用说...
2019-11-25 10:12:19
1836
1
原创 1、《HTTP专题》对于https的理解
对于HTTP,大家都很熟悉了,使用也相当广泛。但是同很多未加密协议一样,HTTP也存在着安全性的问题。比如:1、明文消息,很容易被窃听2、不验证通信方身份,很容易遭遇伪装3、无法证明报文的完整性,内容容易被篡改这时候HTTPS就需要加上必要的加密处理和认证机制了。我们将这个加了加密认证机制的HTTP叫做HTTPS(HTTP Secure)。HTTPS并非是一种新的协议,只是...
2019-11-19 14:32:30
215
原创 使用android 手机做附近基站的扫描
最近做了一个扫描附近基站的小程序,其中遇到一些参数什么的。这里记录一下:使用android手机获取附近基站信息前提是需要有手机卡telephonyManager = (TelephonyManager) this.ctx.getSystemService(Context.TELEPHONY_SERVICE);telephonyManager.listen(phoneStateListe...
2019-10-26 15:32:39
2423
原创 常用adb命令(不定期整理更新)
1、获取设备列表和状态设备列表E:\android\studio\workspace\JNILearn>adb devicesList of devices attachedLE67A06310127215 device设备状态E:\android\studio\workspace\JNILearn>adb get-statedevice设备...
2019-10-08 19:33:17
167
转载 maven 项目 启动时异常:ClassNotFoundException
maven 项目 启动时异常:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListen在项目web.xml中配置: org.springframework.web.context.ContextLoaderListener
2017-08-03 14:24:43
990
原创 Eclipse启动错误:java was started but returned exit code=1 (网上各种坑)
Win8 系统,安装了最新的Eclipse 4.3.2 (64位)版本,启动Eclipse后,提示 “Javawas started but returned exit code=1”,然后就退出了,有时是进入Eclipes界面一会后再报错退出。显然是Java环境有问题,Eclipse需要的java版本最低为1.6,系统装了1.6和1.7的jre,不存在32位和64位的匹配问题。新装了j...
2017-04-14 09:29:31
31174
15
转载 ‘yield’和‘Generators(生成器)
提高你的Python: 解释‘yield’和‘Generators(生成器)’在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况。一些话题("if/else控制流" 或者 "定义和使用函数")对于大多数学生是没有问题的。但是有一些话题,大多数学生只有很少,或者完全没有任何接触,尤其是“生成器和yield关键字”。我猜这对大多数新手Pyth
2017-03-27 21:08:39
408
转载 Python 魔法方法详解
据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。Python 的魔术方法非常强大,然而随之而来的则是责任。了解正确的方法去使用非
2017-03-26 20:28:58
557
转载 windows下SVN服务器与web 站点的同步
转载的 觉得有用就就收藏了http://blog.csdn.net/u014796999/article/details/52812182这个主要是多人同步开发使用。1.首先是VisualSVN Server服务端的安装,这个的话安装在你的web服务器上。然后还需要在服务器端安装一个svn客户端即TortoiseSVN。2.然后在你
2017-03-22 16:26:24
1584
原创 两个 数组,需要挑出相同的元素
一般的 首先肯定会想到 这样的程序for(int i=0;ifor(int j=0;i... ... }}但是这里需要注意的就是 这个方法需要循环 m*n 次才可以 完成此任务。所以考虑使用哈希表的方法,将一个数组装入哈希表中,然后判断另一个数组是否存在表内即可。这种方法的循环次数是M+N.例如:public static T
2017-03-12 11:42:35
406
转载 Java ExecutorService四种线程池的例子与说明
原文地址http://blog.csdn.net/nk_tf/article/details/519592761、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?[java] view plain copy new Thread(new Runnable() {
2017-03-01 00:02:53
848
转载 关于eml 解析的学习
最近在做一个 eml 的解析程序,通过了解知道有Java mail 的包可以用。其中在解析eml 的时候会遇到中文乱码问题,是比较麻烦的,搜索结果如下:另外,也从一些地方了解到,eml 中的内容有 text/plain 和 text/html 两种格式。其中内容是大致相同的。其区别就在于,text/html 中会包含html标签,而text?plain 是纯文本,他的存在是为了让一些不
2017-02-23 12:36:51
2514
原创 打印堆栈信息
因为项目原因,了解下如何打印程序的堆栈信息。首先打开任务管理器,找到对应Java 进程的pid然后 进入到Java jdk 的安装路进行,在bin目录有一个叫 jstack.exe 的程序。使用下面的命令D:\Java\jdk1.8.0\bin>jstack -l 7960 > c:\6.txt将堆栈信息打印到 c 盘下的6.txt 文件中
2017-01-17 17:11:03
2700
转载 Java Socket现实简单的HTTP服务
文章原地址:http://jiangzhengjun.iteye.com/blog/512380一个简单的用 Java Socket 编写的 HTTP 服务器应用, 演示了请求和应答的协议通信内容以及给客户端返回 HTML 文本和二进制数据文件(一个图片), 同时展示了 404, 200 等状态码. 首先运行这个程序,然后打开Web浏览器,键入http:/
2017-01-16 16:38:21
568
转载 Java中Comparable与Comparator的区别
一、概述Comparable和Comparator都是用来实现集合中元素的比较、排序的。Comparable是在集合内部定义的方法实现的排序,位于java.lang下。Comparator是在集合外部实现的排序,位于java.util下。Comparable是一个对象本身就已经支持自比较所需要实现的接口,如String、Integer自己就实现了Comparable接口,可完成
2016-11-05 14:28:10
327
转载 JSP页面用EL表达式 输出date格式
JSP页面用EL表达式 输出date格式 1、头上引入标签2、首先导入标签 http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>"/>value="${viewKq.srq}" EL表达式取的日期值 Pattern:输出的日期格式;这样就可以把时间格式化
2016-09-20 16:25:33
1402
转载 java 内存溢出 栈溢出的原因与排查方法
1、 内存溢出的原因是什么? 内存溢出是由于没被引用的对象(垃圾)过多造成JVM没有及时回收,造成的内存溢出。如果出现这种现象可行代码排查: 一)是否App中的类中和引用变量过多使用了Static修饰 如public staitc Student s;在类中的属性中使用 static修饰的最好只用基本类型或字符串。如public static int i = 0
2016-09-18 19:11:12
4989
2
转载 Jenkins入门系列之——01第一章 Jenkins是什么?
说明:Jenkins折腾了好几个月了,打算写个系列记录下。有时间会尽量更新的。第一章 Jenkins是什么?Jenkins 是一个可扩展的持续集成引擎。主要用于:l 持续、自动地构建/测试软件项目。l 监控一些定时执行的任务。Jenkins拥有的特性包括:l 易于安装-只要把jenkins.war部署到servlet容器,不需要数
2016-09-14 09:32:39
1829
转载 IE/Firefox/Chrome等浏览器保存Cookie的位置
IE浏览器Cookie数据位于:%APPDATA%\Microsoft\Windows\Cookies\ 目录中的xxx.txt文件 (里面可能有很多个.txt Cookie文件)如:C:\Users\yren9\AppData\Roaming\Microsoft\Windows\Cookies\0WQ6YROK.txt在IE浏览器中,IE将各个站点的Cookie分别保存为一个XXX.
2016-08-11 16:02:21
27601
1
原创 关于网络安全的 secure by default
周末有空看了下web 安全方面的资料,了解下网络安全的 secure by default 原则1、黑名单 白名单原则尽可能使用白名单,不使用黑名单。例如:要做限制过滤的时候,只提供一份可信任的白名单列表,比提供一份不可信任的黑名单列表进行过滤要有效得多。另外,在白名单中应小心* 等通配符的使用。 2、最小权限原则即是要注意系统只授予主题必须的权限,而不是过度授权。这样能有效减
2016-07-24 16:27:10
6281
原创 网络编程基本概念
网络就是将物理上不一定在一起的主机进行互联在网络上进行通信需要使用协议,常见的通信协议是TCP 和UDPTCP属于可靠连接,使用第三方握手的方式完成连接的确认UDP属于不可靠的连接对于网络程序的开发也有两种架构C/S 客户端/服务器端,对于这种程序的开发需要两套代码。客户端和服务器端,维护两套代码成本较高B/S 浏览器/服务器,类似于论坛,开发和维护只需要一套代
2016-07-19 10:17:26
290
原创 关于hadoop 在浏览器中看hdfs
最近在折腾 hadoop 在物理机中用浏览器访问hdfs 点击 Browse the filesystem 浏览器中的地址栏 从 http://hunter-lenovo-g475:50070/dfshealth.jsp 变成 localhost...然后在网上找了资料说是 物理机的hosts 文件没配,但实际上并不是 。我用ip 和主机名都是可以ping通的。后面发现
2016-07-13 00:36:23
7982
原创 学习testNg
使用springmvc 做开发时,需要对controller做测试,而有时候界面的设计比后台功能性的开发速度还要慢,又想测试controller 的正确性时,就可以用上这种方法。下面是一个 junit case@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"file:src/mai
2016-06-22 17:31:06
421
原创 java sql 预编译 orderby
今天做功能的时候做到排序,然后 写sql String sql= "select * from t_student order by :a";然后下面用 SQLQuery query = session.createSQLQuery(sql);String name = "stu_name"; query.setString("a", na
2016-06-21 23:51:08
3096
转载 一分钟教你知道乐观锁和悲观锁的区别
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人
2016-06-14 17:01:15
934
转载 linux下使用tar命令
解压语法:tar [主选项+辅选项] 文件或者目录使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。主选项:c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。x 从档案文件中释放文件。相当于拆包。t 列出档案文件的内容,查看已经备份了哪些文件。特别注意,在参数的下达中,
2016-06-04 09:40:37
298
转载 UML类图几种关系的总结
转自:http://blog.csdn.net/tianhai110/article/details/6339565在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency) 1.
2016-06-03 18:22:18
213
转载 学习jquery的 datatable
发现jquery的打他table太强大。有必要学习下。原文地址;http://www.cnblogs.com/nier/archive/2012/03/18/2404836.html由于项目中有地方使用了jquery的datatable参数发送请求。之前自己都是用$.ajax 这种老土的方式发请求。今天算是学习了。DataTables(http:/
2016-05-25 16:28:58
638
转载 hibernate--HQL语法与详细解释
原文地址 http://blog.csdn.net/zjkstone/article/details/7884875HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方
2016-05-25 10:35:32
5210
转载 面向切面编程之研究与探讨
今天看了李丽萍的关于面向切面编程的文章,有些东西想记录下来。面向切面编程主要是为了解决程序中的一些不核心但是却很重要的辅助功能的设计问题。除了业务逻辑外,在一个完整的系统中,必定有记录平时系统运行时抛出的异常, 需要我们去记录, 以便我们对系统尽快地修复, 这就是我们常用的日志。 如果对一些要求比较重要的数据操作, 事务是不可少的, 如金融系统, 这样的数据很重要, 每步操作都很重要, 我们就
2016-05-22 20:43:01
705
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人