自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

✎﹏ℳ๓₯㎕❦

✎﹏ℳ๓₯㎕❦

  • 博客(304)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

原创 分享一些有趣的Github项目

没有翻墙没有科学上网没有违反国家法律法规

2020-11-16 16:34:12 600

原创 iOS安全----ptrace反调试

常规的ptrace反调试都已经烂大街了,这里来个新思路,使用函数指针调用:#import <dlfcn.h>int (*ptrace_p)(int _request, pid_t pid, caddr_t _addr, int _data);void ptrace() { void * handle = dlopen("usr/lib/system/libsystem_kernel.dylib", RTLD_LAZY); ptrace_p = dlsym(handle,

2020-10-21 13:47:36 57 1

原创 iOS逆向----增删改查plist文件

plist 是 Mac 种非常普遍的一种文件格式,类似 xml,通过键值对的方式来进行一些配置。PlistBuddy 则是 Mac 自带的专门解析 plist 的工具。由于Macos并未在环境变量中默认配置PlistBuddy,所以需要通过绝对路径来引用(当然你也可以自己配置一下环境变量):~ ❯ /usr/libexec/PlistBuddy --helpCommand Format: Help - Prints this information Exit - Exits th.

2020-09-29 14:33:57 101

原创 inline hook之fishhook objc_msgSend

常见的Hook方案基于 Objective-C Runtime 的 Method Swizzling:也就是我们经常使用的 class_replaceMethod 方法;基于 fishhook 的 Hook:由于在 Mach-O 当中,有 Bind 和 Lazy Bind 的两个概念,所以 Facebook 通过修改 __la_symbol 和 __nl_symbol 两个表的指针,在二次调用的时候,直接通过 __la_symbol_ptr 找到函数地址直接调用,从而不用多次繁琐的进行函数寻址;基于

2020-09-17 17:00:02 246

原创 iOS逆向----使用Safari调试手机WebView

首先在Mac上打开Safari的开发菜单:然后打开手机上的 设置 -> Safari 浏览器 -> 高级 -> Web检查器:之后就可以在Safari的开发菜单里看到设备上WebView显示的网页了:包括网页上的所有请求:...

2020-09-17 16:52:19 65

原创 lldb----打印出类中所有函数的入口地址

最近一直在研究破解相关问题,发现Objective-C中存在函数_shortMethodDescription,该函数可以打印出该类下所有函数的地址,这个地址是已经偏移之后的真实地址,免去了自己去IDA里面翻地址还要自己算的麻烦,效果相当于class-dump加内存地址,而且还有继承关系。(lldb) po [XMHDeviceTypeSelectViewController _shortMethodDescription]<XMHDeviceTypeSelectViewController: 0

2020-09-17 14:28:16 108

原创 inline hook 之 ARM64 汇编基础

iOS 内存分区及栈区栈区是存放临时变量、记录函数调用的区域。函数因为有了栈,所以才会具有递归的特点。向低地址增长的特性iOS 内存的栈空间是向低地址生长的,在图示中靠下的位置是栈顶,靠上方的位置是栈底:字节序、端序、尾序计算机硬件有两种储存数据的方式,分别为大端(big endian)和小端(little endian),当然还有混合的,在这里我们先不研究。举例来说,数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11。大端字节序:高位字节在前,低位字节在后,这是

2020-09-14 09:37:40 1596

原创 drozer提示[Errno 2] No such file or directory

之前一直正常使用,某一天升级系统之后发现drozer执行不起来了:❯ drozer console connect Selecting 6d5a8e18aea1aed6 (Net

2020-09-11 14:05:27 156

原创 Swift5 Method Swizzling 方法交换

最近看了一下关于Swift5的特性,发现了一个叫 @_dynamicReplacement(for:) 的新特性比较有趣,所以研究了一下。新建一个Swift 5.0的工程,不能用playground!然后输入以下代码,这里有一个key word叫dynamic,这个关键字在Swift3中就出现了,代表动态派发,只有加了dynamic修饰的方法才能被@_dynamicReplacement(fo...

2020-09-10 10:12:01 2071 2

原创 from cherrypy import wsgiserver -> ImportError: cannot import name wsgiserver

try: from cheroot.wsgi import Server as WSGIServer from cheroot.ssl.builtin import BuiltinSSLAdapterexcept ImportError: from cherrypy.wsgiserver import CherryPyWSGIServer as WSGIServer from cherrypy.wsgiserver.ssl_builtin import BuiltinSSL

2020-08-27 11:06:07 188

原创 iOS防护----获取Mach-O文件的UUID

代码不复杂,原理是动态解析自身内存里面的macho文件,根据macho文件格式找到LC_UUID然后就能得到uuid的值:#include <mach-o/dyld.h>static const char* uuidBytesToString(const uint8_t* uuidBytes) { CFUUIDRef uuidRef = CFUUIDCreateFromUUIDBytes(NULL, *((CFUUIDBytes*)uuidBytes)); NSString

2020-07-17 18:24:36 501 2

原创 iOS防护----获取Mach-O代码段位置以及大小

代码不复杂,原理是动态解析自身内存里面的macho文件,根据macho文件格式找到代码段LC_SEGMENT_64(_TEXT)然后就能得到__text的开始位置以及大小:#include <mach-o/dyld.h>#include <stdio.h>#include <stdlib.h>#include <dlfcn.h>#include <string.h>struct segmentRange{ unsigned

2020-07-17 17:58:39 581

原创 iOS逆向----最简单的脱壳方式CrackerXI

在 Cydia 中添加软件源 http://apt.wxhbts.com/搜索CrackerXI(CrackerXI App脱壳工具),下载安装。回到SpringBoard,打开CrackerXI在它的Setting里面打开CrackerXI Hook:回到AppList,选一个App,砸它:查看砸好之后ipa路径:使用scp拷贝到电脑上:➜ Desktop scp -P 2222 root@127.0.0.1:"/var/mobile/Document..

2020-07-16 16:15:20 873

原创 iOS逆向----从相册拷贝照片

> cd /private/var/mobile/Media/DCIM/100APPLE> lsIMG_0003.JPG IMG_0004.JPG IMG_0005.JPG IMG_0006.JPG IMG_0007.PNG IMG_0009.PNG IMG_0011.PNGIMG_0003.MOV IMG_0004.MOV IMG_0005.MOV IMG_0006.MOV IMG_0008.PNG IMG_0010.PNG另开一个终端,使用scp命令拷贝到电

2020-07-16 16:09:39 441

原创 iOS逆向----iOS12之后的静态砸壳

关于静态砸壳其实之前已经介绍过一个工具Clutch,但是由于年久失修,导致其在iOS11之后变得不可用,动不动就kill -9。于是最近又开始研究了一下,发现了一款新的静态砸壳工具flexdecrypt首先连接到越狱的iPhone上,然后使用wget命令下载最新的deb(wget自行安装):iPhone:/tmp root# wget https://github.com/JohnCoates/flexdecrypt/releases/download/1.1/flexdecrypt.deb然后直接

2020-07-16 15:29:17 640

原创 iOS防护----关键函数地址校验

使用dladdr方法可以获得一个函数所在的模块.从而判断该函数是否被替换掉。#include <dlfcn.h>#include <objc/objc.h>#include <objc/runtime.h>#include <stdio.h>#include <string.h>+ (void)test { Dl_info info; IMP imp; Method orginalMethod = class_get

2020-07-15 15:26:38 473

原创 Windows dll劫持

一. 准备工作1. 测试环境虚拟环境搭建:VMware Workstation 15 pro网络模式:桥接模式攻击机:kali Linux 2019.1 IP:192.168.43.143靶机:Windows 7 ultimate sp1 x64 IP:192.168.43.109微信版本:2.6.82. 使用工具the-backdoor-factory(BDF):用于DLL注入Process Explorer:用于查找DLL文件Metasploit二. 复现过程1.DLL注入1.

2020-07-11 17:57:04 528

原创 一劳永逸,再也不用担心brew install Updating Homebrew

方法1禁用掉每次安装前的更新!vim ~/.zshrc # 在最后一行输入:export HOMEBREW_NO_AUTO_UPDATE=true# 结束编辑source ~/.zshrc需要更新包了,可以执行:brew update && brew upgrade && brew cleanup ; say mission completebrew update && brew upgrade brew-cask &&

2020-07-08 15:47:16 445

原创 iOS----检测项目中是否包含UIWebView

自从2020开始,每次上传包,都会有ITMS-90809: Deprecated API Usage UIWebView,所以需要自己检查一下项目中是否包含了WebView:1.打开终端,cd + 把项目的工程文件所在文件夹拖入终端(即 得到项目的工程文件所在的路径)2.输入以下命令(注意最后有个点号,而且点号和 UIWebView 之间必须有一个空格):➜ grep -r UIWebView .Binary file ./Assets/Frameworks/RevealServer.framewo

2020-07-07 10:38:29 928

原创 Android设备指纹大全

名称接口参数名称备注示例序列号getDeviceId序列号IMEI865872025238821andrlid_idgetStringandroid_idbcbc00f09479aa5b手机号码getLine1Number手机号码13117511178手机卡序列号getSimSerialNumber手机卡序列号89860179328595900000IMSIgetSubscriberIdIMSI460017932859596...

2020-07-03 16:01:31 1316

原创 iOS设备指纹大全

2020-07-03 15:52:43 538

原创 命令行管道符详解

Command pipe character is a very useful thing, especially when command injection, you will fall in love with it

2020-06-07 20:52:52 1078

原创 Windows认证协议

Windows有两种认证协议:NTLM(NT LAN Manager)和Kerberos。域成员计算机在登录的时候可以选择登录到域中或此台电脑,选择登录到域一般会采用Kerberos协议在域控DC上进行认证。NTLM认证协议NTLM是一种网络认证协议,它是基于挑战(Chalenge)/响应(Response)认证机制的一种认证模式。这个协议只支持Windows,NTLM认证协议大概流程:可以看到NTLM协议基于NTLM hash,Windows本地登录的密码由LM hash和NTLM hash组

2020-06-03 11:18:44 631

原创 Linux常用下载工具--curl

常规访问curl http://www.myh0st.cn文件名正则curl ftp://ftp.myh0st.cn/file[1-100].txt curl ftp://ftp.myh0st.cn/file[1-100:10].txt curl ftp://ftp.myh0st.cn/file[001-100].txt curl ftp://ftp.myh0st.cn/file[a-z].txt curl ftp://ftp.myh0st.cn/file[a-z:2].txt

2020-05-28 15:53:04 547

原创 Linux常用下载工具--wget

普通下载wget http://example.com/file.iso指定保存文件名wget ‐‐output-document=myname.iso http://example.com/file.iso保存到指定目录wget ‐‐directory-prefix=folder/subfolder http://example.com/file.iso大文件断点续传wget ‐‐continue http://example.com/big.file.iso下载最新版本wget

2020-05-28 12:22:04 462

转载 iOS 设置代理(Proxy)方案总结

在打开某个网址时设置 HTTP 代理,iOS目前有三种方案可以实现:使用 URLProtocol使用 WKWebURLSchemeHandler使用NetworkExtension其中第三种可以不用考虑了,作为一名中国开发者,你根本申请不到证书。。那么我们就看一下前两种:URLProtocol我们先了解一下他是个啥:NSURLProtocol是 iOS里面的URL Loadin...

2020-05-06 11:29:46 1305

原创 Mac开发----让请求走代理(URLSessionConfiguration Proxy)

话不多说,直接上代码://设置HTTP代理let sessionConfiguration: URLSessionConfiguration = .defaultlet proxyConfiguration: [AnyHashable : Any] = [ kCFNetworkProxiesHTTPEnable: true, kCFNetworkProxiesHTTPPort: 1...

2020-05-06 11:01:06 1262

原创 Mac 使用SSH连接服务器

其实百度云自带SSH服务端,因此这里只需要配置客户端就可以了。SSH的地址和端口可以直接在腾讯云控制台看到。 华为云这里的SSH Port是端口号,用户名是root@IP address1 在Mac OS上打开终端Terminal 2 输入 ssh root@VPS的IP地址 -p 端口号具体例子如:ssh root@12.34.56.78 -p 12345回车之后会...

2020-04-24 16:57:31 6819

原创 手工SQL注入

题目地址:http://123.206.87.240:8002/chengjidan/判断是否存在注入点【?id=32(数字任意)】链接的结尾依次添加语句【’】、【and 1=1】和【and 1=2】,来判断网站是否存在注入点。尝试在正常数据后加上单引号,发现数据为空,加上注释符(注释符:#,–+ , //, – )后发现依旧可以正常输出,存在注入点。看是否报错,如果数据库报错,说明后台数据...

2020-04-15 16:47:04 5236 1

原创 php intval()函数漏洞,is_numeric() 漏洞,绕过回文判断

Intval函数获取变量整数数值Intval最大的值取决于操作系统。32 位系统最大带符号的 integer 范围是 -2147483648 到 2147483647。32位系统上, intval(‘1000000000000’) 会返回 2147483647。64 位系统上,最大带符号的 integer 值是 9223372036854775807。所以如果参数为2147483647,...

2020-04-15 11:18:14 705

原创 CentOS7 安装Python3.7.7

➜ yum install wget vim git gcc openssl-devel bzip2-devel libffi-devel -y➜ wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz➜ tar Jxvf Python-3.7.7.tar.xz➜ cd Python-3.7.7➜ ./configu...

2020-04-10 14:36:51 340

原创 macOS禁用NSTextView的引号替换

问题描述在NSTextView中输入json的双引号时,输入法为英文,但显示的是中文的引号。而且在输入过程中能感觉到英文引号替换成中文引号。再试了下单引号也存在该问题,而!,@,#等字符不存在该问题。猜测:是系统对引号做了特殊处理,在输入引号的时候将输入法更改为中文输入法吗?尝试1:实在是不知从何入手,查看了下NSTextView中的API,尝试了下重写-insertText,识别到输入中文...

2020-04-09 14:31:53 386

原创 Mac 使用tcping命令测延时

首先前往Github下载该项目最新的release值得一提的是,该项目的tcping比brew 安装的那个功能更全面,多了测速功能,brew 安装的只能用于检测端口是否打开,根本没啥作用。。解压之后,安装一下:➜ mv tcping /usr/local/bin/然后看一下使用说明:➜ tcpingtcping is a ping over tcp connection.Exa...

2020-03-27 10:57:25 1244 3

原创 秒杀一切越狱检测-----使用LLDB调试器版本的脱壳工具进行脱壳

场景某一天,项目经理扔来一个APP,叫我检测一下,结果发现这个APP做了越狱检测,在越狱手机上一开就exit(0),那么现在最流行的frida动态砸壳方法就行不通了,虽然最后使用Clutch静态砸壳工具砸壳成功,然而这个工具在iOS11.1之后因为兼容性问题被ban,只能在iOS10的越狱机上使用,那么如果哪天运气差,遇见一个只支持iOS12及以上,并且做了越狱检测的APP,那么该怎么办呢?经...

2020-03-20 15:08:46 942 6

原创 使用curl命令测试延时

最近在研究如何测试代理服务器的速度以便选出最快的服务器,找了一圈发现其实系统自带的curl命令就能实现这个功能。curl命令的各个参数的介绍网上有很多,这里只给出几个常用的:curl 不输出任何信息,安静模式,走代理:curl -x socks5://127.0.0.1:1086 -m 10 -s -o /dev/null www.baidu.com-m 整个访问的超时时间-s 安静模...

2020-03-15 14:52:32 1181

原创 修改Windows系统版本

everyone都可以设置成2004版本把注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion中的"ProductVersion"项改为"2004"即可

2020-03-07 15:50:38 290

原创 Could not load the external subset

xmlto does not validate xmlto: Fix document syntax or use --skip-validation option I/O error : Attempt to load network entity dtd warning: failed to load external entity D DocBook XML V4.5//EN"今天在编译某...

2020-02-24 21:51:25 190

原创 iOS Wifi 列表获取

iOS 上获取 Wifi 列表其实有很大限制,在 iOS 9 以前是不能获取Wifi列表的,只能获取当前连接的 Wifi 信息,也就表示只有连接了 Wifi 才能定位。Apple 在 iOS 9 以后,提供了获取Wifi列表的API,但是获取Wifi列表是有门槛的,主要步骤有:向 Apple 申请开发 Network Extension 权限申请包含 Network Extension ...

2020-02-11 17:15:03 4400 2

原创 Mac vim语法高亮

首先找到系统自带的vim配置文件:➜ cat /usr/share/vim/vimrc" Configuration file for vimset modelines=0 " CVE-2007-2438" Normally we use vim-extensions. If you want true vi-compatibility" remove change the fol...

2020-01-17 17:10:06 551

翻译 Swift函数派发优化

通过减少动态调度来提高性能与许多其他语言一样,Swift允许类重写其父类中声明的方法和属性。这意味着程序必须在运行时确定要引用哪个方法或属性,然后执行间接调用或间接访问。这种称为动态调度的技术以每次间接使用时恒定的运行时开销为代价提高了语言的表达能力。在对性能敏感的代码中,我们不希望花费这些开销。这篇博客文章展示了通过消除这种动态性来提高性能的三种方法:final,private和Who...

2020-01-09 14:18:06 426

tcping.zip

MacOS上唯一一个可以测延迟的tcping,比brew安装的那个好用太多了. 使用方法: Examples: 1. ping over tcp with custom port 10 times > tcping www.baidu.com 80 2. ping over tcp with custom port 5 times > tcping -c 5 www.baidu.com 443 USAGE: tcping [--count <count>] <ip> <port>

2020-03-27

Cocos3D函数,iOS专用

用于OpenGLES

2017-03-10

为什么我的博客文章不能被顶了?

发表于 2017-04-06 最后回复 2017-05-22

空空如也

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

TA关注的人 TA的粉丝

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