- 博客(18)
- 资源 (4)
- 收藏
- 关注
原创 2.数据结构--算法和算法分析
算法和算法分析算法: 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一个条指令表示一个或多个操作。算法5个重要特性:有穷性: 一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成.确定性:算法中每一条指令必须有确切的含义,并且任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的输出.可行性:一个算法是能行的...
2018-03-19 16:01:51
458
原创 1.数据结构--基本概念和术语
数据结构基本概念和术语基本概念数据(data): 对客观事物的符号表示,在计算机科学中指所有能输入到计算机中并被计算机程序处理的符号的总称;数据元素(date element): 数据的基本单位,在计算程序中通常作为一个整体进行考虑和处理,有时,一个数据元素可由若干个数据项(data item)组成; 如:一本书的数目信息为一个数据元素, 而书目信息的每一项(书名、作者名等)为一个...
2018-03-19 15:53:55
768
原创 iOS逆向过程思考(1)
通过隐藏iOS系统自带APP-Mail底部的编辑按钮对逆向过程的思考对于APP来说,我们感兴趣的往往体现在UI上,UI展示了函数的执行过程和结果.函数和UI之间的关联非常紧密,如果能够拿到感兴趣的UI对象,就可以找到它对应的函数,我们称该函数为UI函数.在这个过程中,一般是利用Cycript,结合UIView中的神奇私有函数recursiveDescription和UIResponder中的next
2016-06-16 11:46:59
1358
原创 ARM汇编基础(iOS逆向)
1. ARM汇编基础在逆向一个功能的时候,往往需要分析大量的汇编代码,在iOS逆向中,ARM汇编是必须掌握的语言,本文总结了ARM汇编的基础知识,如果你想了解更多,请参考狗神的小黄书《iOS逆向逆向工程》或ARM官方手册.1.1 寄存器,内存和栈 在ARM汇编里,操作对象是寄存器,内存和栈 ARM的栈遵循先进后出,是满递减的,向下增长,也就是开口向下,新的变量被存到栈底的位置;越靠近栈底,
2016-06-11 16:40:20
6144
原创 LLDB+debugserver动态调试
LLDB(Low Level Debugger)内置于Xcode中的动态调试工具,通吃C,C++,OC,全盘支持OSX,iOS,iOS模拟器在指定的条件下启动程序;在指定的条件下停止程序;在程序停止的时候检查程序内部发生的事;在程序停止的时候对程序进行改动,观察程序的执行过程有什么变化 LLDB是运行在OSX中的,要想调试iOS,需要和debugserver进行配合. debugs
2016-05-31 13:44:48
5421
原创 Logos语法解析
Logos语法解析1.%hook 指定需要hook的class,必须以%end结尾。// hook SpringBoard类里面的_menuButtonDown函数,先打印一句话,再之子那个函数原始的操作%hook SpringBorad- (void)_menuButtonDown:(id)down{ NSLog(@"111111"); %orig; // 调用原始的_
2016-05-31 13:38:04
3844
1
原创 CydiaSubstrate的简单使用
CydiaSubstrateCydiaSubstrate 是绝大部分tweak正常工作的基础,主要分为三部分:MobileHooker,CydiaSubstrate,Safe modeMobileHooker MobileHooker的作用是替换系统函数(即hook)// 作用于OC函数,可直接替换掉方法 void MSHookMessageEx(Class class, SEL sele
2016-05-31 13:29:43
8211
原创 javafx窗口等比例缩放
使用Hbox或者Vbox布局,其子组件会有一个Vgrow或者Hgrow设置成always,并且在代码中要再写一次,我觉得方式可能不止这一种,但是我只研究出了这一种方式第二点,如果布局中需要使用一根线的时候,不需要从布局中直接拖出了一条线,可以使用Vbox或者Hbox的高度来控制,并为其设置一背景色你所需要的颜色就可以了去掉抽窗体头并且再自定义的窗体已经在布局中写出了,
2015-06-23 23:16:37
14686
2
原创 JavaFx自定义窗体
使用javafx创建窗体的时候会默认的使用系统的的最大最小化关闭的窗体,但是默认的窗体的风格有时不满足需求,需要自定义的窗体来满足我们的需求
2015-06-23 22:18:21
7897
2
转载 递归函数的理解
原文地址:http://www.cnblogs.com/seaven/archive/2010/12/17/1908953.html1.什么是递归函数(recursive function) 递归函数即自调用函数,在函数体内部直接或间接地自己调用自己,即函数的嵌套调用是函数本身。 例如,下面的程序为求n!: long fa
2015-06-22 21:46:09
828
原创 Android 读取sdcard指定目录文件
读取android目录指定文件,通过该类可读取指定sdCard目录中的文件,对文件进行重命名,查看属性,显示文件大小,删除,打开操作,主要代码我已经加了注释,不妨各位自己看看,我就不多说了,代码如下:import java.io.File;import java.util.ArrayList;import java.util.Collections;import java.uti
2015-01-08 12:43:28
1935
1
原创 Android——调用百度天气API实现天气预报
项目中有需求要加入天气当地天气预报功能,我的做法很简单,使用的百度天气API提供天气数据,使用Xutils进行请求,用GSON进行的数据解析,反正已经有人造好了轮子,直接拿来用就是。百度天气使用的是车联网API,值得提出的一点是,由于API更新后,你所创建的应用类型,够选为服务器,新申请的Mobile与Browser类型的ak不再支持云存储接口的访问,如要使用云存储,请申请Server类型ak
2015-01-08 11:42:21
6663
原创 Android--Notification
Notification用来显示在手机状态栏的通知,一般显示的为网络状态,电池状态等,它所代表的是一种全局的效果的通知,程序一般通过NotificationManager服务(一个重要的系统服务)来发送Notification。
2014-12-30 11:54:02
653
原创 Android中折线图的画法
需求:绘制一个折线图,要求一共显示7个点,刚开始的时候没有点,随着数据传入依次显示1,2。。。。7个点,当7个点铺满的时候,新加入的数据占据第一个点的位置,并将第8个点移除屏幕位置。数据为动态加载的。实现思路:拿一个画笔在画布上画图,首先要定义好一些基础数据,如X轴的最大最小值,显示的点的数量,标题等,具体的看下面的代码部分
2014-12-30 10:28:16
1475
2
原创 限制用户输入的用户名密码邮箱格式(正则表达式)
@Override public void onClick(View v) { // TODO Auto-generated method stub final String name = et_register_username.getText().toString().trim(); fi
2014-12-30 09:43:47
4282
原创 Android异步操作二(AsyncTask)
1.UI线程:execute、onPreExecute、onPostExecute2.异步线程:doInBackgroup----与UI线程不是一个线程 所以是异步线程 不会影响到主线程 3.执行的步骤preExecute():先执行preExecute()----执行线程前的操作doinbackgroup():即创建一个子线程,postExecute():异步操
2014-12-30 09:42:02
458
原创 Android异步操作一(AsyncTask)
在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:
2014-12-30 09:40:23
498
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人