- 博客(21)
- 收藏
- 关注
原创 Android逆向学习(1)--记一次破解某直播盒子App
打击违法直播 净化网络环境某天,我的一个朋友(这个朋友真不是我自己)发了我一款聚合直播App,大喜过望之后发现需要充值才能继续观看,我这种穷逼哪来的钱充值,所以就有了这次逆向之旅一、反编译用jadx-gui直接打开Apk,发现没有加固,源码如下:二、源码分析1. 打开app,通过adb查看当前activity的名称adb shelldumpsys a...
2019-06-29 23:25:02 13407 2
原创 Android安全笔记
1、签名验证 防止二次打包 (1)NDK层判断签名,校验成功后,根据签名和其他的信息(eg:usrId,设备信息)生成一个服务器鉴权Auth,每次请求加上鉴权 (2) so中校验签名,不一致直接退出App2、对dex文件加密拆分 然后加固(待研究)3、代码混淆4、数据加密5、dex脱壳 VirtualXposed:无需root的xposed应用 Fdex2...
2019-05-29 20:35:26 151
原创 Linux搭建tomcat(阿里云踩坑记)
由于在实际工作中涉及到的知识面很窄,久而久之怕技术跟不上更新,所以就模仿美团、小红书写了个电商类的app。为了模仿正常的网络请求场景(为了装逼),就用花生壳搭建了一个服务器,供外网访问。但后来花生壳需要实名认证,需要上传本人手持身份证的正面照,所以就买了阿里云的ESC云主机(学生价114大洋),系统是CentOS7.3。言归正传,拿到手的云主机是个空的linux系统,所以我们要安装相应的软件...
2018-09-14 20:35:57 389
原创 listView的getView()方法不执行
开发过程中遇到的坑 - - SwipeRefreshLayout错误(表象):listView设置adapter后不执行getView方法,getCount() > 0原因:listView的父View是SwipeRefreshLayout控件,该控件只能有一个直接子View,当有多个时只显示第一个view原因分析:1.先排除代码方面的问题:getCou
2017-09-21 14:35:26 1170
原创 EventBus分析
一、使用1.注册EventBus.getDefault().register(this); //this指代订阅者2.订阅者定义接收方法public void onEventMainThread(Object event) { //button.setText(event); event>的类型自己定义}3.0版本改动:通过注解来指定接收方法@Subsc...
2016-07-24 14:16:48 327
原创 使用Chrome浏览器远程调试webView
1.打开输入网址chrome://inspect2.连接移动设备,打开usb调试3.选择对应的界面进行调试4.通过xpath获取webView中对应的数据 xpath规则eg://div[@class='xxx']/p[2]/text() (获取img的sc:img/@src") p[2]:表示同级下的第二个p标签,last()表示最后一个5.测试x
2016-02-17 19:15:37 540
原创 Android Studio NDK环境搭建
一、环境 android studio 3.3.2 gradle 4.6 gradle build 3.2.1(低于会报错) NDK 19二、配置CMake 1、项目右键 Link C++ Project with Grade,指定项目中创建的CMakeLists.txt 2、CMakeLists中 source files指定我们创建的 .cpp文件 3、修...
2015-07-20 23:38:54 474
原创 Android根据uri获取图片的路径(4.4+)
1. sdk4.4之前的版本 uri:content://media/external/images/media/33581 path:/storage/sdcard0/Pictures/meituan/xxx.jpg 4.4之后uri变为 content://com.android.providers.media.documents/document/imag
2015-07-08 23:38:33 1167
原创 关于jsp页面插入mysql乱码问题
从jsp页面插入mysql数据库中文乱码解决 1.检查mysql的默认编码格式(mysql下运行指令:show variables like 'character%'),装载mysql时指定默认编码集 2.jsp页面中设置 3.servlet中设置 response.setContentType("text/html;charset=utf-8"); reque
2015-06-29 15:48:18 436
原创 MotionEvent的getX()与getRawX()区别
getRawX()和getRawY()获得的是相对屏幕的位置getX()和getY()获得的永远是相对view的触摸位置坐标(这两个值不会超过view的长度和宽度)getLeft:view左上角相对于父view的X坐标getTop:view左上角相对于父view的Y坐标
2015-05-25 10:00:36 297
原创 Android屏幕和view的宽高计算
一、view的宽高1. int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); mView.measure(w, h); int he
2015-05-22 17:20:21 623
原创 Android广播报错 $MessageReceiver; no empty constructor
静态广播异常can't instantiate class com.xx.evacuation.fragment.AlarmFragment$MessageReceiver; no empty constructorBroadcastReceiver作为内部类时,如要注册为静态的必须要声明为static...
2015-05-15 11:09:03 505
原创 android ksoap2调用webservice
1.指定 WebService 的命名空间和调用方法; String name_space = "";(命名空间) String method_name = "method_name"; String endpoint = ""(url的完整路径) String soap_action = "http://WebXml.com.cn";(一般设置为null)
2015-05-12 15:19:30 621
原创 java读取配置文件
1.获取文件路径 类名.class.getResource("") 表示项目中包的绝对目录(xx/workspace/项目名/包名) 类名.class.getResource("/") 表示项目的绝对目录(xx/workspace/项目名) 类名.class.getResource("/") == 类名.getClass().getClassLoader().getR
2015-05-12 10:34:40 354
原创 org.json.JSONException: End of input at character 0 of
解析json字符串时出现org.json.JSONException: End of input at character 0 of 异常JSONObject jsonObject = new JSONObject(jsonString)jsonObject.getString("key");原因:jsonString为""空的字符串,或者为" "n个空格(此时异常信息为E...
2015-05-08 15:56:20 3725
原创 android launchmode
launchmode4种模式:1,standard:每次启动activity都会创建新的实例;2,single Top:当启动的activity处于栈顶时直接服用,其他情况都会创建新的实例3,singleTask单例模式,将栈中已有的实例置到栈顶,并将其上的其他实例移出栈,如果没有实例则新创建;4,singleInstance独栈模式,单独的任务栈,eg:launcher。...
2015-05-06 10:54:58 278
原创 Notification使用及属性
1.NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); nm.notify(Notification.FLAG_AUTO_CANCEL, notify); 主要:新建Notification notify = new Notification
2015-04-29 17:34:25 472
原创 java 压缩文件
解压缩import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.zip
2015-04-28 16:25:50 352
原创 Android文件操作
1.权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />2.sd卡路径SDCARD_PATH = Environment.getExternalStorageDirectory().getAbsolutePath();(先创建好所需要的文件夹及其对应的层级关系)...
2015-04-28 11:32:50 393
原创 事件分发
1、遵循 Activity => ViewGroup => View 的传递顺序(由上级往下级传,下级能处理就处理,处理不了就、往上传) 如果view没有处理事件,则反向传递,如果都没有消费,最终由Activity的onTouchEvent方法来处理2、dispatchTouchEvent:用来事件分发,当事件传递给view时就会被调用 onIntercep...
2015-04-18 22:43:48 496
原创 android shape使用笔记
shape用于定义控件的形状和颜色(drawable下新建xml,根为)1.根的属性 android:shape="" value: rectangle(矩形) line(线) oval(椭圆) ring(圆)2.子标签 1.solid 填充(android:color="") 2.gradient 渐变 android:startCo
2015-04-15 10:57:18 463
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人