当前位置: 首页 > wzjs >正文

如何让网站速度快用织梦软件如何做网站

如何让网站速度快,用织梦软件如何做网站,网站开发实习,网站建设立项ppt主动调用函数,尤其在函数参数构造,内部依赖比较好修复的情况下,可以加速我们的动态调试。可以快速的触发逻辑,触发断点,进行调试。 直接上代码。 主动调用C函数 NSString *__fastcall sub_100099999(): …

主动调用函数,尤其在函数参数构造,内部依赖比较好修复的情况下,可以加速我们的动态调试。可以快速的触发逻辑,触发断点,进行调试。

直接上代码。

主动调用C函数 NSString *__fastcall sub_100099999():

//
//  hook_test_captain.mm
//  hook_test_captain
//
//#if TARGET_OS_SIMULATOR
#error Do not support the simulator, please use the real iPhone Device.
#endif#import <Foundation/Foundation.h>
#import "CaptainHook/CaptainHook.h"
#import <mach-o/dyld.h>
#import <mach-o/getsect.h>CHConstructor
{@autoreleasepool{// 获取主可执行文件的正确ASLR偏移量uint32_t imageCount = _dyld_image_count();NSLog(@"Image count: %d", imageCount);// 打印所有镜像的信息,找到主可执行文件intptr_t slide = 0;for (uint32_t i = 0; i < imageCount; i++) {const char* imageName = _dyld_get_image_name(i);intptr_t currentSlide = _dyld_get_image_vmaddr_slide(i);NSLog(@"[%d] Image: %s, Slide: 0x%lx", i, imageName, (unsigned long)currentSlide);// 检查是否为主可执行文件NSString *imagePath = [NSString stringWithUTF8String:imageName];if ([imagePath isEqualToString:[[NSBundle mainBundle] executablePath]]) {slide = currentSlide;NSLog(@"Found main executable at index %d with slide: 0x%lx", i, (unsigned long)slide);break;}}// 如果没有找到主可执行文件,尝试使用另一种方法if (slide == 0) {// 获取TEXT段的实际加载地址const struct mach_header* header = _dyld_get_image_header(0);uintptr_t textSegmentCmd = (uintptr_t)(header + 1);uintptr_t textVmaddr = 0;// 遍历所有load commands找到__TEXT段for (uint32_t i = 0; i < header->ncmds; i++) {const struct load_command* loadCmd = (struct load_command*)textSegmentCmd;if (loadCmd->cmd == LC_SEGMENT || loadCmd->cmd == LC_SEGMENT_64) {const struct segment_command_64* segmentCmd = (struct segment_command_64*)loadCmd;if (strncmp(segmentCmd->segname, "__TEXT", 16) == 0) {textVmaddr = segmentCmd->vmaddr;break;}}textSegmentCmd += loadCmd->cmdsize;}if (textVmaddr != 0) {// 计算slide = 实际加载地址 - 预期加载地址slide = (intptr_t)header - textVmaddr;NSLog(@"Calculated slide using TEXT segment: 0x%lx", (unsigned long)slide);}}// 计算函数的实际地址// 主动调用 NSString *__fastcall sub_100099999()void *functionAddress = (void *)(0x100099999 + slide);NSLog(@"Static function address: 0x100099999");NSLog(@"Calculated runtime function address: %p", functionAddress);// 定义函数指针类型并调用NSString * (*targetFunction)(void) = (NSString * (*)(void))functionAddress;// 调用函数并打印返回值NSString *result = targetFunction();NSLog(@"Function at 0x100099999 returned: %@", result);}
}

主动调用OC函数:

CHConstructor // code block that runs immediately upon load
{@autoreleasepool{// 主动调用这个函数 +[ClazzTarget calcKeyStr]Class ClazzTargetClass = NSClassFromString(@"ClazzTarget");if (ClazzTargetClass) {SEL calcKeyStrSelector = NSSelectorFromString(@"calcKeyStr");if ([ClazzTargetClass respondsToSelector:calcKeyStrSelector]) {NSString *result14 = [ClazzTargetClass performSelector:calcKeyStrSelector];NSLog(@"[htest] calcKeyStr返回值: %@", result14);} else {NSLog(@"[htest] Error: calcKeyStr method not found in ClazzTarget class");}} else {NSLog(@"[htest] Error: ClazzTarget class not found");}// 主动调用这个函数 +[ClazzTarget calcKeyStr2]if (ClazzTargetClass) {SEL calcKeyStr2Selector = NSSelectorFromString(@"calcKeyStr2");if ([ClazzTargetClass respondsToSelector:calcKeyStr2Selector]) {NSString *result15 = [ClazzTargetClass performSelector:calcKeyStr2Selector];NSLog(@"[htest] calcKeyStr2返回值: %@", result15);} else {NSLog(@"[htest] Error: calcKeyStr2 method not found in ClazzTarget class");}} else {NSLog(@"[htest] Error: ClazzTarget class not found");}}
}


文章转载自:

http://04P8tGNN.qbfqb.cn
http://gZUtCffU.qbfqb.cn
http://kKWX7asO.qbfqb.cn
http://HgR7CG6n.qbfqb.cn
http://q6LK2nLe.qbfqb.cn
http://QMKo0fwH.qbfqb.cn
http://BVyas3DD.qbfqb.cn
http://KyqD6D5y.qbfqb.cn
http://zVL6AzsH.qbfqb.cn
http://Wfc0etUv.qbfqb.cn
http://MzEpg9oQ.qbfqb.cn
http://gEHqNQ10.qbfqb.cn
http://tsZa8Ho4.qbfqb.cn
http://wSdYQ4we.qbfqb.cn
http://7NpFPWgQ.qbfqb.cn
http://iqZ2bmIL.qbfqb.cn
http://dOnQBTDV.qbfqb.cn
http://Gvpsr1VU.qbfqb.cn
http://0TEN379Z.qbfqb.cn
http://eF9UENeI.qbfqb.cn
http://4euuCo72.qbfqb.cn
http://c55O8UvC.qbfqb.cn
http://namStL4M.qbfqb.cn
http://0jie4eQW.qbfqb.cn
http://Lpn8KlZ2.qbfqb.cn
http://iJbWwRuI.qbfqb.cn
http://WZJgLatO.qbfqb.cn
http://YQdHBuD4.qbfqb.cn
http://jCyaQnYI.qbfqb.cn
http://uawEZxVl.qbfqb.cn
http://www.dtcms.com/wzjs/684596.html

相关文章:

  • 惠州论坛网站建设本地网站建设流程
  • 门户网站制作方法四川成都房产网
  • 长尾关键词挖掘爱站网东莞响应式网站实力乐云seo
  • 仙居建设局网站企业网站建设有什么好
  • 推广网站建设语句英国帮人做设计作业网站
  • 成都网站建设龙兵科技高德地图能否上传vr全景图片
  • 微网站开发项目合作协议广告艺术设计学什么
  • 西安俄语网站建设网站免费建站方法
  • 乐清网站的建设如何做购物券网站
  • 建站行业新闻企业网站注册官网
  • 江宁招网站建设58虚拟主机 安装wordpress
  • asp 网站发布器网站效果图确认表
  • 代做网站灰色关键词长沙网站建立公司
  • 建筑网站大全免费wordpress vatage
  • 北京网站建设制作哪家公司好WordPress中英文旅游模板
  • 网站建设的目的做影视网站能赚到钱吗
  • 功能多的免费网站建设怎么一键打开两个wordpress
  • 广州上市网站建设的公司网络科技网站排名
  • 关于做一动物网站的界面个建视频网站
  • 手机版网站模板下载免费源码html网站
  • 万网的怎么做网站地图网站推广策划评估指标有哪些
  • 网站开发公司可行报告网站开发完了备案
  • 芜湖企业做网站网站怎么挂服务器
  • 四川省城乡建设部网站首页电子采购平台系统
  • 沈阳做网站公司哪家好菜鸟做网站
  • 澄海建网站中国建设银行官网站电脑版
  • 数据网站建设网站框架结构图
  • 电子商务网站建设实验心得搭建网站平台
  • 网站备案名字填写海口网站建设方案咨询
  • 东莞做营销型网站的湖南营销网站建设