飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

楼主: 飘云

[iOS] VideoPane插件破解 - 基于正版锁定uuid

[复制链接]
  • TA的每日心情
    开心
    2016-6-16 14:07
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2015-8-26 12:34:18 | 显示全部楼层
    不是提示你错误信息了么。Google一下就解决了
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2015-8-27 16:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-8-26 12:46:28 | 显示全部楼层
    飘云 发表于 2015-8-26 12:34
    不是提示你错误信息了么。Google一下就解决了

    google过很长时间才来问问题的,还是没找到解决方案 才斗胆来麻烦楼主的
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-6-16 14:07
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2015-8-26 13:13:11 | 显示全部楼层
    你的makefile帖上来看看
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2015-8-27 16:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-8-26 13:32:37 | 显示全部楼层
    飘云 发表于 2015-8-26 13:13
    你的makefile帖上来看看

    ARCHS = armv7
    TARGET = iphone:8.4:7.0
    LOCAL_INSTALL_PATH = /usr/bin

    include theos/makefiles/common.mk

    LIBRARY_NAME = wxlib
    wxlib_FILES = wxlib.mm

    include $(THEOS_MAKE_PATH)/library.mk

    麻烦楼主了

    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2015-8-27 16:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-8-26 13:54:20 | 显示全部楼层
    飘云 发表于 2015-8-26 13:13
    你的makefile帖上来看看

    用tweak编译是通过的 ,就是调用的时候会open不了 syslog里面的打印日志是这样的 err, dlopen, path:/usr/lib/libPYG.dylib
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2015-8-27 16:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-8-26 16:09:52 | 显示全部楼层
    leaveMeAlone 发表于 2015-8-26 13:54
    用tweak编译是通过的 ,就是调用的时候会open不了 syslog里面的打印日志是这样的 err, dlopen, path:/usr ...

    为了检测是不是自己生成的dylib是否 有问题  我到/usr/lib里面复制了一份系统的lib出来 然后改成 tweak编译的dylib一样的名字 再放回/usr/lib里面 重启手机 发现是出现dlopen错误,由此推断问题目前不是编译的dylib有问题 而是用16进制修改的时候出现问题了,但是这个字符串我都仔细对过了 没发现问题,真是费解了。
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2015-8-27 16:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-8-26 17:56:29 | 显示全部楼层
    自己随便hook了一个app 然后open my.dylib发现是能打开的,排除是my.dylib的问题。
    我去看了/usr/lib 目录下是没有libMobileGestalt.dylib这个库的 但是插件原来这么写却是调用成功的,我把my.dylib放到/usr/lib 是不行的 是不是意味着我要把my.dylib放到 libMobileGestalt.dylib真实所在库的同一目录呢

    点评

    libMobileGestalt.dylib是cache里面的 至于调用不成功: :观察log :继续探索奥秘 排错是个痛并快乐的过程! 我之所以只贴代码不发bin就是让大家在实战中寻求突破! 到10月底还没成功  详情 回复 发表于 2015-8-27 09:00
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-6-16 14:07
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2015-8-27 09:00:43 | 显示全部楼层
    leaveMeAlone 发表于 2015-8-26 17:56
    自己随便hook了一个app 然后open my.dylib发现是能打开的,排除是my.dylib的问题。
    我去看了/usr/lib 目 ...

    libMobileGestalt.dylib是cache里面的{:soso_e103:}

    至于调用不成功:
    :观察log
    :继续探索奥秘

    排错是个痛并快乐的过程! 我之所以只贴代码不发bin就是让大家在实战中寻求突破!

    到10月底还没成功  我就发布个编译解说上来吧!
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2015-8-27 16:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-8-27 15:52:07 | 显示全部楼层
    本帖最后由 leaveMeAlone 于 2015-8-27 16:07 编辑
    飘云 发表于 2015-8-27 09:00
    libMobileGestalt.dylib是cache里面的

    至于调用不成功:

    感谢飘大,现在另外一种思路,就是hook libMobileGestalt.dylib里面的MGCopyAnswer方法,这样是不是连十六进制的文件的修改都可以省略了。
    于是我写了下面的方法(基本是照抄飘大的),可是发现 别的插件调用了MGCopyAnswer的时候 根本就没走我hook的新方法,希望能帮忙指正下。


    #include <dlfcn.h>
    #import <substrate.h>
    static CFPropertyListRef(*orig__MGCopyAnswer)(CFStringRef);
    CFPropertyListRef new__MGCopyAnswer(CFStringRef property)
    {
        NSLog(@"[****]into MGCopyAnswer........");

        CFPropertyListRef value = nil;

        if (!strcmp(CFStringGetCStringPtr(property, kCFStringEncodingMacRoman), "UniqueDeviceID")) {
            value = @"edee5ca30793b14b71eb4f434f318677d2d1c925"; //正版uuid
        }else{

            void *handle = dlopen("/usr/lib/libMobileGestalt.dylib", RTLD_GLOBAL | RTLD_LAZY);

            static CFStringRef (*$MGCopyAnswer)(CFStringRef);
            $MGCopyAnswer = reinterpret_cast<CFStringRef (*)(CFStringRef)>(dlsym(handle, "MGCopyAnswer"));

            if ($MGCopyAnswer) {
                value = $MGCopyAnswer(property);
            }             dlclose(handle);
        }
        return value;
    }

    %ctor
    {
      void *h = dlopen("/usr/lib/libMobileGestalt.dylib", RTLD_LAZY);
      if (h != NULL) {  
           void* p = (void*)dlsym(h, "MGCopyAnswer");

        if (p!= NULL)
          {
             MSHookFunction( p, (void*)new__MGCopyAnswer, (void**)&orig__MGCopyAnswer);
          }
          dlclose(h);
      }
      %init;
    }



    点评

    能实现就ok了! 这样做的优点是:可以不用管MD5 缺点是:需要重复的加入一个plist,不优雅~  详情 回复 发表于 2015-8-27 16:20
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-6-16 14:07
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2015-8-27 16:20:21 | 显示全部楼层
    leaveMeAlone 发表于 2015-8-27 15:52
    感谢飘大,现在另外一种思路,就是hook libMobileGestalt.dylib里面的MGCopyAnswer方法,这样是不是连十 ...

    能实现就ok了!

    这样做的优点是:可以不用管MD5
    缺点是:需要重复的加入一个plist,不优雅~

    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表