神刀安全网

iOS 善意破解简书APP(非越狱篇)实现一键点赞

iOS 善意破解简书APP(非越狱篇)实现一键点赞

真机运行简书APP效果

说明: 本文没有任何搞破坏实质,网上逆向文章极少,希望借助 简书APP 来向初学者打开逆向开发的神秘面纱! 如果觉得还可以, 请留赞!

我想有一部分人想要知道或者说不知道达到上图最终效果我们需要会什么知识和需要有什么工具, 在这里我只说工具名和需要掌握的知识, 至于每个工具的用途和使用谷歌一定比我阐述的好! (我的上篇文章也会对你有所帮助)

准备工作:

只需要完成以上6项准备工作你就可以很6了, 一步一步达到目的!

开始干活:

  • class-dump

"拿过来"已经砸好的 简书ipa 解包, 没有的去 我的github 下载, "掏出"class-dump导出app的所有头文件, 命令和效果如下:

class-dump -H Hugo.app -o Hugo-Header

这样我们就会看到当前目录下会多一个 Hugo-Header 文件夹,里面是app所有的头文件.(小技巧, 把文件夹放到Xcode中查找方法更方便)

iOS 善意破解简书APP(非越狱篇)实现一键点赞
app头文件

  • Theos

在终端运行命令创建Tweak工程

/opt/theos/bin/nic.pl
iOS 善意破解简书APP(非越狱篇)实现一键点赞

工程创建详细步骤

我们会看到目录中新增的文件夹就是此工程, 对于各个文件是干什么的, 相信你谷歌了Theos, tweak后就知道答案了! 我们只需要对Makefile和Tweak.xm编码

iOS 善意破解简书APP(非越狱篇)实现一键点赞
工程文件夹

  • Tweak编码

我们找到 HGNoteViewController.h 中的 – (void)likeNote;方法, 这个就是点赞(简书叫做喜欢)调用的方法了, .xm核心代码如下:

static HGNoteViewController *vc = nil; static  NSMutableSet *mSet = [NSMutableSet setWithCapacity:1]; - (void)buttonClicked:(UIButton *)btn {  NSArray *arr = [mSet allObjects]; for (int i = 0; i < arr.count; i++) {  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)((i+1) * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ HGNote *no = arr[i]; vc.currentNote._id = no._id;  self.label.text = [NSString stringWithFormat:@"点赞中.../n为作者: %@/n文章名: %@.../n ***点赞成功!***", no.user.nickname, [no.title substringToIndex:7]];  [vc likeNote];  // 点赞!!!  });  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)((arr.count+1) * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{  self.label.text = [NSString stringWithFormat:@"点赞完成!!!/n  共计: %ld 个 /n ***点赞完成!***", arr.count];  });   %hook HGAvatarTagNoteCell  - (void)setupWithModel:(id)arg1 { %orig;  HGNote *note = arg1; [mSet addObject:note];  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"%@", arg1]  message:@"VM"  delegate:nil  cancelButtonTitle:@"Thanks"  otherButtonTitles:nil];  //[alert show];  [alert release];  }  %end

Makefile配置:

iOS 善意破解简书APP(非越狱篇)实现一键点赞
Makefile配置

  • 至此, 我们已经完成了一大半, 接下来就是安装到手机了, 越狱的小伙伴可以通过SSH安装到手机上, 也就是Makefile文件中加入 THEOS_DEVICE_IP = 172.18.1.123(换成你手机的IP), 通过make package install 安装到手机

  • 本文针对于未越狱安装, 未越狱的小伙伴请往下看!

执行命令:

make package

打包后会在当前工程debug文件夹下生成一个.dylib文件, 这个就是我们想要的最终产物了, 我们接下来要做的就是更换它依赖的环境(因为tweak会默认依赖越狱环境), 然后向app可执行文件注入此动态库, 签名, 打包, 真机运行!

  • 更改环境

格式为

install_name_tool -change old.dylib   @executable_path/new.dylib  应用程序
  • 注入动态库 需要安装 yololib

安装后运行命令格式为

yololib 可执行文件 要被注入的.dylib
  • 证书签名

我们需要把生成的dylib和embedded.mobileprovision文件copy到Hugo.app中,然后用codesign开始签名格式为

codesign -f -s 自己证书名称 要签名的文件
  • 真机运行

安装到真机的方式有很多种, iTools, iTunes 等.

  • 见证劳动成果

下图为gif动态图, 刷新页面重新查看效果

iOS 善意破解简书APP(非越狱篇)实现一键点赞

刷新页面查看gif动态图

Ps :如果get此技能后, 同理 ,相信微信朋友圈一键点赞也不在话下了吧!

遇到问题的小伙伴可以在评论留下困惑, 供大家一起探讨解决!如果觉得哪个地方不够详细可以说明, 将补充上去
互相学习, 互相进步!
由于源代码未经整理, 暂未放至 我的github , 如果需要demo的人多, 我可以整理一份传上去

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » iOS 善意破解简书APP(非越狱篇)实现一键点赞

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址