草庐IT

Frida-OC

全部标签

mysql - OpenCart:如何准确填充 oc_category_path

我使用在线服务将数据从我的其他电子商务网站传输到OpenCart一切似乎都已正确转移。但是,产品类别存在一个问题。类别已转移到oc_category表;但是,如果我希望能够在管理员中编辑我的类别,看起来还有另一个名为oc_category_path的表也需要填充。您知道这个表是什么以及我如何正确地填充它吗(我想是手动填充)。确切地说,path_id和level是什么?什么决定了类别的级别?相关表格:CREATETABLE`oc_category`(`category_id`int(11)NOTNULLAUTO_INCREMENT,`image`varchar(255)DEFAULTNU

安卓协议逆向 咸鱼 frida rpc 调用方案

1需求通过fridarpc调用真机获取指定关键字的搜索结果数据。本文仅供大家学习及研究使用、切勿用于各种非法用途。2rpc简介frida提供了一种跨平台的rpc(远程过程调用)机制,通过fridarpc可以在主机和目标设备之间进行通信,并在目标设备上执行代码,可实现功能如下:1、动态地修改函数和方法的参数和返回值。2、监视和拦截特定函数和方法的调用。3、修改内存中的数据和指令。4、与目标设备上的应用程序进行交互,发送和接收数据。5、在运行时加载自己的JavaScript脚本,从而实现自定义的行为修改。3软硬件工具app版本:7.4.70设备:K40刷piexl11rom抓包工具:Charles

OC分类(category)和扩展(extension)

首先,分别来说下分类(category)和扩展(extension)的用处。然后来解读一下分类的底层实现分类常见的应用1、可以将臃肿的类根据不同业务划分为多个模块,方便进行管理2、对原有的类进行扩展,给类添加方法。特别是给系统自带的类方法分类的注意点1、分类里面可以定义@property属性,但是不会自动生成set和get方法,以及对应的成员变量2、分类不能添加成员变量,但是可以通过关联对象的方式添加成员变量3、分类中有和原有类同名的方法,会优先调用分类中的方法4、多个分类中同名方法,优先调用后面参与编译的分类里面的方法扩展的应用1、为一个类声明一些额外的方法和属性2、常用在.m文件中添加一些

OC方法交换swizzle详细介绍——不再有盲点

原文链接:https://www.jianshu.com/p/e95ca2e14731如果对方法交换已经比较熟悉,可以跳过整体介绍,直接看常见问题部分整体介绍方法交换是runtime的重要体现,也是"消息语言"的核心。OC给开发者开放了很多接口,让开发者也能全程参与这一过程。原理oc的方法调用,比如[selftest]会转换为objc_msgSend(self,@selfector(test))。objc_msgsend会以@selector(test)作为标识,在方法接收者(self)所属类(以及所属类继承层次)方法列表找到Method,然后拿到imp函数入口地址,完成方法调用。typede

深入理解OC的运行时(Runtime)

序(吐槽)  前段时间刚面试了几人,面试过程中遇到了比较让人尴尬的问题,这里先吐槽一些:技术层面(部分) 1.runtime方面,网上的runtime文章基本都是千篇一律的,很多都是死记硬背为了应付面试,没有实质性的东西;其实也不是说听不进去,针对于个人来说,runtime其实是一种编程思想,是动态多态的一种实现机制,所以想听到的更多的是关于自己对语言的独特见解,个人看来这十分重要,可能是以后在IT领域所能达到的高度 2.设计模式方面,不会不要紧,因为这本身就是个经验活,这里多插一句,本人看来,设计模式这个东西脱离不了语言特性,这可能与大部分人的见解是北道而驰的,但我不是否定编程思想,只是有些

iOS开发之OC和swift互相调用

一、OC调用swift文件这里创建一个名为Test的OC项目在OC项目中创建一个swift文件Person.swift,会提示是否创建桥接文件。这个桥接文件是用于swift调用OC的,可以创建,若不创建则后续手动创建也是可以的。编译器会为我们自动创建一个隐藏的Test-swift.h文件。1、只要在OC文件里引入这个文件就可以使用swift文件。2、这个文件名称默认是:ProductModuleName-Swift.h。3、如果不希望使用默认名称,也可以自定义,在BuildSettings中找到Object-CGeneratedinterfaceHeaderName,这里可以自定义用于引入的s

OC中的链式编程

今天看到项目里边有一段代码[BAFRequestrequest].setBaseURL(host).setPath(path).setRequestSerializerType(RequestHTTP).setRequestType(BAFRequestTypeAPI).setMethod(MethodType).setParams(finalParams)-(BAFRequest*(^)(NSString*baseURL))setBaseURL;第一眼看上去感觉有点蒙,返回的是一个block,为什么可以直接去请求下一个方法呢?其实细心地朋友已经发现了,Masonry的布局使用的就是这种编程方

OC 底层(KVC、KVO、Delegate、Category、Extension、通知)

目录1.KVC2.KVO3.通知4.代理、委托、协议5.Block、KVO、通知、代理之间的区别6.分类Category和类扩展Extension7.类方法、实例方法、构造方法1.KVC概念:KVC(Key-ValueCoding)键值编码,是一种可以直接通过字符串类型的属性名key来访问或赋值某个类属性的机制,而不是通过调用Setter、Getter方法访问。这样就可以在运行时动态地访问和修改对象的属性,而不是在编译时确定,这也是iOS开发中的黑魔法之一。它是利用NSKeyValueCoding非正式协议实现的一种机制,对象采用这种机制来提供对其属性的间接访问。说明:1.写下KVC代码并点击

从零学习Swift 15: 从OC到Swift过渡

总结作为一个iOS开发者,如何从OC过渡到Swift.今天我们就来讲解一下从OC开发转到Swift开发的注意点.一:条件编译有时候我们要限制我们的代码在某些平台,某种架构,某一个语言版本下运行,这时候就用到了条件编译.swift中的条件编译和OC中的一样:#ifos(macOS)||os(iOS)print("在macOS或者iOS平台下执行")#elseifarch(x86_64)||arch(arm64)print("x86或者arm64架构下执行")#elseifswift(>=5.0)print("swift版本要大于等于5.0")#elseiftargetEnvironment(si

Android逆向——过frida检测+so层算法逆向

0x01过frida检测frida可以说是逆向里面很受欢迎的工具了,你可以在运行的时候得到几乎你想要的所有东西,函数地址、内存数据、java实例,根据我们的需要去修改程序的运行逻辑等等,但是太流行也不好,迎来了各种检测。ptrace占坑、进程名检测、端口检测。(这绕过太简单了)D-Bus通信协议的检测。maps、fd检测。App中线程名的检测。直接拿出App,看看他到底怎么检测的。节省时间,直接用hluda-server,修改一下运行端口,以spawn方式注入frida。(hluda-server的好处在于,他所生成的各种so库名字,去掉了frida等特征字段,可以很好的绕过maps和fd的检