自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

原创 Objective-C学习笔记-回调

1.OC中有四种方法实现回调,分别是目标-动作对,辅助对象,通知,Block对象2.目标-动作对,是指当某个事件发生时,向指定对象发送指定消息,计时器使用的就是目标-动作对机制,如下代码所示,每隔两秒会执行一次updateLastTime方法,其中NSRunLoop用来保持线程允许并处理事件- (void)updateLastTime:(NSTimer *)t{ NSLog(@"...

2018-09-24 19:17:20 1174

原创 Objective-C学习笔记-使用NSString与NSData读写文件

1.NSString读写文件 NSString *helloText=@"您好啊!"; NSError *error; if ([helloText writeToFile:@"/tmp/test.txt" atomically:true encoding:NSUTF8StringEncoding error:&error]){ ...

2018-09-23 21:28:49 650

原创 Objective-C学习笔记-NSSet与NSDictionary

1.NSSet与NSArray的区别就是NSSet里面的值是不可重复且无序的,在查找速度上NSSet比NSArray更快,而NSDictionary则可以存储键值对,这个键值对也是无序的,键通常是一个字符串(唯一的),而值可以是任意类型的对象2.和NSArray一样,NSSet和NSDictionary也是不可修改的,要想增加删除,可以使用NSMutableSet,NSMutableDic...

2018-09-23 20:58:09 2497

原创 Objective-C学习笔记-自定义类

1.OC中一个类由.h文件和.m文件组成,.h文件负责声明接口,.m文件负责具体实现2.在.h文件中@interface后面的格式为类名:基类名3.成员变量需要写在大括号内,最好使用下划线开头,使用成员变量需要写存取方法,为了开发效率,目前推荐使用属性代替成员变量,属性会自动生成带下划线的成员变量以及存取方法,还可以通过readonly,readwrite等来控制属性特性4.成员方法以...

2018-09-22 14:52:09 435

原创 解决TextView换行异常问题

在用TextView显示一段中文时发现会提前换行,用网上搜索到的方案都解决不了,最终选择用EditText代替之 <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:en...

2018-09-21 22:50:44 2097 5

原创 Xposed简单入门

1.在AndroidManifest.xml中application标签内添加 <!-- 是否是xposed模块,xposed根据这个来判断是否是模块 --> <meta-data android:name="xposedmodule" android:value="true" /> ...

2018-09-20 23:09:16 286

原创 JNI简单入门

1.在目前版本的AndroidStudio(3.2)上默认使用CMake来编译C/C++代码,向cpp文件夹添加新的C/C++代码时,会发现在IDE里并没有显示新添加的文件,这个时候只需要在CMakeList.txt里面添加下面的代码,然后点击Refresh Linked C++ Projects即可aux_source_directory(src/main/cpp/mycode MY_SR...

2018-09-20 22:48:38 224

原创 使用Instrumentation模拟点击屏幕

1.使用前需要申明权限<uses-permission android:name="android.permission.INJECT_EVENTS" />2.使用Instrumentation模拟点击有一定限制,只能点击自己的APP,或者UID相同的APP,如果有root权限或者系统签名则可以点击所有APPimport android.app.Instrumentat...

2018-09-19 23:24:42 4742

原创 Android录屏流程

1.权限申明 <uses-permission android:name="android.permission.RECORD_AUDIO" />2.请求录屏 private MediaProjectionManager mMediaProjectionManager; @Override protected void onCreate(Bundl...

2018-09-19 23:09:38 1373

原创 使用LiveData处理事件

今天遇到了一件奇怪的事情,在同事手机上有个Activity(A)关闭后竟然又被创建了,调试后发现原来每次关闭这个Activity(A)都会触发上一个Activity(B)的生命周期改变,然后在订阅的LiveData对象会收到OnChange消息创建Activity(A),正常情况下,这种数据我们只需要处理一次,准确的来讲就是事件,这种情况下我们可以使用下面的SingleLiveEvent来处理。...

2018-09-19 22:29:23 1577

原创 手机小游戏辅助程序的实现

这两天玩了一个微信的小游戏,想到以前的跳一跳可以通过模拟按键和截取屏幕的方式做辅助程序,所以想针对这个小游戏也做个机器人自动玩,虽然结果是失败的,但是也学到了点东西。1.做这种小游戏机器人的关键点有两个,一个是模拟按键,一个是截取屏幕。模拟按键很简单,直接调用以下命令即可在安卓手机上任意一个坐标点击一次,部分手机记得在开发者选项里开启允许模拟点击adb shell input tap x...

2018-09-15 18:27:58 5420 1

原创 Objective-C学习笔记-NSArray与NSMutableArray

1.NSArray是OC中用来保存对象的数组,NSArray在初始化完毕后不可以再添加或者删除里面的对象,也无法改变对象的顺序,甚至不能赋值,例如下面的赋值语句,编译器会出现错误提示Expected method to write array element not found on object of type 'NSArray *',NSArray的初始化放在方括号内,对象之间用逗号分隔,前方...

2018-09-10 23:34:53 380

原创 Objective-C学习笔记-NSString

1.NSString是OC中用来保存字符串的对象,可以通过在C字符串常量前加上一个@符号来创建一个NSString对象,例如NSString *strTest=@"my name is xy";2.也可以使用NSSring的方法来创建,例如,其中stringWithFormat的用法和NSLog一样 const char* test="my name is xy";...

2018-09-09 17:00:57 321

原创 openssl生成https自签名证书

今天用openssl生成了下https的证书,总结下整个流程1.设置openssl的环境变量,OPENSSL_CONF=openssl.cnf路径2.将openssl配置文件中的 req_extensions = v3_req注释取消掉3.去掉[req_distinguished_name]里0.xxx开头的部分4.修改[ v3_req ]和[ v3_ca ]内容[ v3_re...

2018-09-06 00:27:44 7159

原创 Objective-C学习笔记-NSNumber与NSInteger

1.由于Objective-C是C的超集,所以C支持的基本数据类型,OC也支持,而NSNumber就是对这些基本数据类型的封装,例如char,short,int,float2.NSNumber可以通过下面两种方法初始化NSNumber n=[NSNumber numberWithInteger:100];NSNumber k=[[NSNumber alloc] initWithInt:...

2018-09-04 22:53:43 997

原创 使用ViewModel+Data Binding解决内存泄漏问题

1.在我们写APP的时候经常会遇到这种情况,点击一个按钮后,通过网络异步操作从后台获取信息,然后再展示到UI,例如public class MyActivity extends BaseActivity { private void getUser(){ LoadingDialog loadingDialog=new LoadingDialog(this,"加载中")...

2018-09-04 15:04:02 2450

原创 Objective-C学习笔记-ARC

1.和Java一样,Objective-C中也有自动回收对象的机制ARC,当一个对象没有任何指针指向时,对象就会被释放2.默认的对象指针都是强引用的,假设现在有两个对象,A和B互相引用,那么着两个对象都没有办法通过ARC机制来释放3.可以通过弱引用来解决上面遇到的问题,下面的代码中,如果现在有A,B这两个对象,当代码执行完毕时,A中的B对象由于是弱引用,所以B可以被自动释放,B被释放后,A...

2018-09-03 23:50:45 235

原创 测试驱动要注意的

如果驱动没有正式签名想要测试,需要运行下面的命令bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKSbcdedit -set TESTSIGNING ON 但是仅仅这样还是不够的还需要开启调试模式或者打上测试签名,两者满足一个就行bcdedit /bootdebug ONbcdedit /debug ON ...

2018-09-02 19:43:49 1101 1

原创 一个DNS无法解析的问题

某天遇到一个域名无法解析的问题修改Host文件也没用跟踪发现浏览器在使用DNSResolver这个ALPC Port端口进行RPC通信的时候阻塞了结束掉NetWork Location Aware服务即可解决问题...

2018-09-02 19:41:10 3202

原创 Procmon打开后无反应的问题

某天在其他电脑上打开Procmon的时候发现没有反应怀疑是不是被拦截了于是对Procmon进行加壳以及改程序名称依然不行最后OD跟踪发现需要打开Netlogon服务...

2018-09-02 19:39:09 611 1

原创 记第一次解PWN题目

# -*- coding: cp936 -*-from pwn import *g_local=False#不设置log_level为debug会导致程序的输出不显示出来context.log_level = 'debug'if g_local: #启动程序 p = process('./club') #调试器附加该程序 #gdb.att...

2018-09-02 19:37:04 533

原创 数学学习笔记-函数

1.函数是将一个对象转换为另外一个对象的规则,例如f(x)=x22.其中x的取值被称为输入,结果被称为输出3.所有输入来自称为定义域的集合,所有输出来自称为上域的集合4.假设现在有两个函数f,g,这两个函数的规则一样,且函数g的定义域小于f的定义域  我们可以说函数g是由限制f的定义域产生的5.所有可能的输出所组成的集合称为值域,例如f(x)=x2,  f的定义域为所有正整...

2018-09-02 19:30:38 486

原创 Objective-C学习笔记-消息

1.Objective-C是C的超集,所以C能使用的代码,Objective-C也能使用2.Objective-C代码使用.m文件而不是.c/.cpp3.Objective-C导入头文件使用#import "xxx.h"或者import <xxx.h>,#import指令会自动检查之前是否已经导入过这个文件。  所以在头文件里没必要使用 #ifndef 或者 #progra...

2018-09-02 19:27:50 230

输入法注入之delphi版

输入法注入之delphi版。。。。。。。。。

2010-08-25

delphi小键盘控件

模仿QQ小键盘写的一个小键盘控件,可以自定义小键盘的各种颜色,大小,位置,字体,还可以使用渐变图像代替颜色,使按键更加好看!

2010-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除