- 博客(26)
- 资源 (22)
- 收藏
- 关注
转载 SpringMVC访问静态资源
在SpringMVC中常用的就是Controller与View。但是我们常常会需要访问静态资源,如html,js,css,image等。默认的访问的URL都会被DispatcherServlet所拦截,但是我们希望静态资源可以直接访问。该肿么办呢?在配置文件:web.xml可以看到: Processes application requests -->
2017-01-20 16:54:39 203
转载 使用IntelliJ IDEA 15和Maven 开发Spring Data JPA + MVC Web应用
1. 准备工作1) 参见“使用IntelliJ IDEA 15和Maven创建Java Web项目”2) Maven中央仓库3) 应用架构: MVC spring Data JPA Sp
2017-01-20 16:48:30 436
转载 使用IntelliJ IDEA 15和Maven创建Java Web项目
1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期。 可以通过其命令做所有相关的工作,其常用命令如下: - mvn compile - mvn test - mvn clean - mvn package - mv
2017-01-20 15:51:49 356
转载 使用IDA逆向Android的.so动态库文件
当然,这只是一个笔记:最近将一个反复刷机闲置的山寨机用作游戏机,安装一个叫Townsmen的游戏,蹦出一个占了1/3屏幕的广告跟阿里YunOS系统无法Root一样,我原以为只有中国妓造才那么无耻,没想到……屏幕是我的,商家无权抢占消费者的任何合法资产,所以,切你没商量1.反编译townsmen7_36.apk文件命令为(目录因具体情况
2017-01-19 18:02:09 3184
转载 使用IDA从内存中dump指定的dex
虽然自己编译了一套能够简单够脱壳的坏境,不过使用上总感觉比较重量级。今天只想把APK中某个动态解密,加载的dex搞出来,用IDA轻快很多。步骤1:首先通过cat /proc/pid/maps查看目标dex文件所在的内存地址:可以看到我们的起始地址是:5faa2000 结束地址是:5fb36000
2017-01-19 17:56:37 1366
转载 简单粗暴的对android so文件加壳,防止静态分析
以前一直对.so文件加载时解密不懂,不了解其工作原理和实现思路。最近翻看各种资料,有了一些思路。看到论坛没有类似帖子,故来一帖,也作为学习笔记。限于水平,本菜没有找到安卓平台一些具体实现思路,这些方法都是借鉴其他平台的实现思路和本菜的YY,肯定会有不少疏漏和错误之处,还请各位大牛指正,感激不尽!简单粗暴的so加解密实现一、 概述利用动态链接库实现安卓应用的核心部分,能一定程度的对
2017-01-19 17:31:11 2249
转载 android https正确调用方案(防中间人劫持)
1.劫持https接口很多android客户端虽然使用了https,但还是能被第三方抓包工具如fiddler劫持,因为他们的代码使用了诸如ALLOW_ALL_HOSTNAME_VERIFIER之类的方式允许任何证书。这样的话可以使用fiddler自带的证书伪装服务端证书来获取到中间通讯的数据。使用方法关键步骤:下图是劫持的工商银行安卓版app数据:红框的是工
2017-01-19 17:30:43 1793
转载 android加固系列—6.仿爱加密等第三方加固平台之动态加载dex防止apk被反编译
此方案的目的是隐藏源码防止直接性的反编译查看源码,原理是加密编译好的最终源码文件(dex),然后在一个新项目中用新项目的application启动来解密原项目代码并加载到内存中,然后再把当前进程替换为解密后的代码,art模式下也没问题。好了,废话不多说,来看代码,下面是最终想运行的项目,也称为原项目:这是原项目的目录,项目名叫Hello,就两个activity,第一个activit
2017-01-19 17:28:10 3453
转载 android加固系列—5.加固前先学会破解,hook(钩子)jni层系统api
crackme项目jni的关键代码(项目地址见文章底部),获取当前程序的包名com.example.shelldemo和com.example.nocrack对比,正常运行结果是this app is illegal,这里的破解内容是hook strcmp函数来修改函数返回值来改变程序走向以达到running successfully。 1.工具介绍Eclipse
2017-01-19 17:26:49 982
转载 android加固系列—4.加固前先学会破解,无源码调试apk
项目关键java代码为,将tv设置为从jni读取的字符串,这里的破解内容是直接从apk动态调试修改最终显示在tv里的字符内容 1.工具介绍Apktool,反编译源码用Android studio+smalidea插件,动态调试用 2.准备工作A.配置插件下载插件smalidea,地址https://bitbucket.org/
2017-01-19 17:25:29 549
转载 android加固系列—3.加固前先学会破解,静态修改so
项目jni的关键代码(项目地址见文章底部),获取当前程序的包名com.example.shelldemo和com.example.nocrack对比,正常运行结果是this app is illegal,编译jni我就不介绍了,项目中也带了编译好的so 1.工具介绍IDA6.5,静态分析so文件用010 Editor,修改so文件16进制码
2017-01-19 17:24:39 476
转载 android加固系列—2.加固前先要学会破解,调试内存值修改程序走向
因公司项目需要对app加固,经过本人数月的研究,实现了一套完整的仿第三方加固如爱加密等的加固方案(第三方加固价钱不菲,一整套针对金融app方案10~20万/年),从对原项目java源码dex文件加密在新项目中jni层解密之并替换当前进程到jni的反调试和linux对其加壳等一系列完整的方案及代码实现。在这准备做成一套教程供大家参考和互相学习指出不足之处。因对纯java的破解过于简单所以我的
2017-01-19 17:22:48 397
转载 android加固系列—1.如何检验so文件是否加壳成功
程序对so文件加壳后,如何验证是否加壳成功呢,首先除了能在应用中正常运行外,还要用IDA来检测:绿色乱码表示rr这个函数成功加密: 工具下载,可支持动态调试版:
2017-01-19 17:21:53 3438
转载 Ida动态修改android程序的内存数据和寄存器数值,绕过so文件的判断语句
我们继续分析自毁程序密码这个app,我们发现该程序会用fopen ()打开/proc/[pid]/status这个文件,随后会用fgets()和strstr()来获取,于是我们在strstr()处下个断点,然后让hex view的数据与R0同步。每次点击继续,我们都会看到strstr传入的参数。当传入的参数变为TracerPid:XXXX的时候我们停一下。因为在正常情况下,TracerPid的值应
2017-01-19 17:12:27 1492
转载 Ida双开定位
Ida双开定位的意思是先用ida静态分析so文件,然后再开一个ida动态调试so文件。因为在动态调试中ida并不会对整个动态加载的so文件进行详细的分析,所以很多函数并无法识别出来。比如静态分析中有很多的sub_XXXX函数:但动态调试中的ida是没有这些信息的。所以我们需要双开ida,然后通过ida静态分析的内容来定位ida动态调试的函数。当然很多时候我们也需要动
2017-01-19 17:09:31 689
转载 在Android so文件的.init、.init_array上和JNI_OnLoad处下断点
移动端Android安全的发展,催生了各种Android加固的诞生,基于ELF文件的特性,很多的加固厂商在进行Android逆向的对抗的时,都会在Android的so文件中进行动态的对抗,对抗的点一般在so文件的.init段和JNI_OnLoad处。因此,我们在逆向分析各种厂商的加固so时,需要在so文件的.init段和JNI_OnLoad处下断点进行分析,过掉这些加固的so对抗。
2017-01-19 17:07:25 9255
转载 浅谈被加壳ELF(即android的so文件)的调试
本文只讨论如何调试被加壳的ELF文件,包括调试中的技巧运用及调试过程中可能遇到的问题的解决方法,不包含如何还原加固的DEX本文将以某加壳程序和某加固为目标。一、ELF格式简介ELF全称:Executable and Linkable Format,是Linux下的一种可执行文件格式。此种文件格式和WINDOWS一样,常见分为两种类型:1.可执行文件(Executab
2017-01-19 16:59:26 840
转载 Android逆向之动态调试总结
一、在SO中关键函数上下断点刚学逆向调试时。大多都满足于在SO中某关键函数上下断点。然后通过操作应用程序,去触发这个断点,然后进行调试详细的步骤可以参见非虫大大的《Android软件安全与逆向分析》简单说:在libsyclover.so文件中有一个函数jnicall1。每次单击按钮的时候,便会调用此函数。1.静态载入此so文件,找到函数的偏移地址为:0x13
2017-01-19 16:58:11 365
转载 setting文件配置
简介settings.xml文件中的settings元素包含了很多子元素,它们定义的值被用来配置Maven的执行情况。该settings文件的设置会被应用到很多个项目上,因此这里的设置不应该和任何一个特定的项目绑定,并且该设置的内容也不应该分发给它人。该文件定义的值包括本地仓库地址,候选的远程仓库仓库服务器,以及一些认证信息。settings.xml文件可位于两个地方:• Maven安装目
2017-01-16 13:22:53 469
转载 mave的依赖范围
compile(编译范围)compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath中可用,同时它们也会被打包。 provided(已提供范围)provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用。例如,如果你开发了一个web应用,你可能在编译classpath中需要可用的Servlet API来编
2017-01-16 13:20:18 238
转载 maven常用命令集
maven常用命令 mvn compile 编译主程序源代码,不会编译test目录的源代码。第一次运行时,会下载相关的依赖包,可能会比较费时间。 mvn test-compile 编译测试代码,compile之会后生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下。 mvn test 运行应用程序中的单元测试 mvn
2017-01-16 13:19:29 274
转载 maven核心,pom.xml详解
什么是pom? pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。 快速察看: 4.0.0 ... ... ... ... ... ...
2017-01-16 13:18:26 297
转载 POM文件详解01
POM,Project Object Model,在MAVEN1中叫做project.xml,到maven2后改为pom.xml。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。一个maven项目可以没有任何源代码,但必须包含pom文件。 xsi:schemaLocation="http://mav
2017-01-16 11:59:39 340
转载 MAVEN 生命周期
1. 三套生命周期 Maven拥有三套相互独立的生命周期,它们分别为clean,default和site。 每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和Maven最直接的交互方式就是调用这些生命周期阶段。 以clean生命周期为例,它包含的阶段有pre-clean, clean 和 post clean。当用户调用pre-clean的时候
2017-01-16 11:58:09 244
转载 Maven原理和Maven2新特性
Maven的基本原理和Maven2的新特性用Maven做项目管理在Java世界中我们很多的开发人员选择用Ant来构建项目,一个build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如jar文件管理混乱,各个项目结构和build.xml相差很大等等。而Maven的出现,给项目提供了更多的支持。1 简介Maven作为Apache的一个开
2017-01-16 11:57:15 312
android中shape的使用
2014-11-12
rational rose 教程
2011-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人