热门搜索 :
考研考公
您的当前位置:首页正文

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

来源:东饰资讯网
真机运行简书APP效果

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

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

准备工作:


  • 苹果开发者证书(没有的话淘宝买一个.p12的,大约15块钱)
  • 一台iPhone手机(越不越狱都可以)
  • 有点iOS开发经验即可
只需要完成以上6项准备工作你就可以很6了, 一步一步达到目的!

开始干活:


  • class-dump

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

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

app头文件
  • Theos

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

/opt/theos/bin/nic.pl
工程创建详细步骤

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


工程文件夹
  • 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配置:

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 可执行文件 要被注入的.dylib
  • 证书签名

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

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

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

  • 见证劳动成果

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

刷新页面查看gif动态图

**Ps :如果get此技能后, 同理 ,相信微信朋友圈一键点赞也不在话下了吧!学习技术可以加我的微信love0415-1314 **

Top