doorxp

Blog

dylib fake mainbinary

int FakeAddrStart(unsigned char * addr, uint64 size) {    mach_vm_size_t region_size = (mach_vm_size_t)size;    mach_vm_address_t region = (vm_address_t)addr;    /* Change memory protections to rw- */    if (vm

MacOSX 程序跟踪 frida脚本

frida -l hook.js 'Process Name'hook.jsconst HookModuleName='Process Name' function main() { var imp = ObjC.classes.NSDictionary['- objectForKey:']; Interceptor.attach(imp.implementati

TextureUnpacker

var fs = require("fs"); const { exec } = require("child_process"); var path = require('path'); var name = process.argv[2]; console.log(name); exec(`mkdir&n

Detecting task modifications

In the previous post we looked at different ways to inject code into tasks on macOS. The goal being to create increased awareness of the type of methods attackers writing malicious code on macOS might use. In this post I wanted to focus in

jar 修改 .class 重新打包

假设 这个文件为要修改的文件 Bvcn.javajavac --release 9 Bvcn.java -d .jar -uvf 路径到.jar 包名到 Bvcn.class

关于反调试&反反调试那些事

前言在逆向和保护的过程中,总会涉及到反调试和反反调试的问题,这篇文章主要是总结一下几种常见的反调试手段以及反反调试的方法。反调试ptrace为了方便应用软件的开发和调试,从Unix的早期版本开始就提供了一种对运行中的进程进行跟踪和控制的手段,那就是系统调用ptrace()。通过ptrace可以对另一个进程实现调试跟踪,同时ptrace还提供了一个非常有用的参数那就是PT_DENY_ATTACH,这个参数用来告诉系统,阻止调试器依附。所以最常用的反调试方案就是通过调用ptrace来实现反调试。#i

cycript hook method

cy# @import com.saurik.substrate.MS cy# var oldf = {} cy# var log = []cy# MS.hookFunction(fopen, function(path, mode) {         var 

DYLD_INSERT_LIBRARIES的常用路径

DYLD_INSERT_LIBRARIES @executable_path@rpath@loader_path@executable_path 这个变量表示可执行程序所在的目录. 比如 /path/XXX.app/Contents/MacOS/@loader_path 这个变量表示每一个被加载的 binary (包括可执行程序, dylib, framework 等) 所在的目录. 在一个进程中, 对于每一个模块, @loader_path 会解析成不用的路径, 而 @executa
«   2024年1月   »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言

    Powered By Z-BlogPHP 1.5.1 Zero

    Copyright doorxp.com Rights Reserved.