IOS 越狱插件dylib 获取设备ID 和 URL简单HOOK

#import <substrate.h>
#include <mach-o/dyld.h>
#import <dlfcn.h>
#import <CommonCrypto/CommonDigest.h>
#include <unistd.h>
#include <sys/types.h>
#include <mach/mach.h>
%hook NSURL
- (id)initWithString:(NSString*)url {
        if ([url containsString:@"ib-soft.net"])
        {
        NSLog(@"[+] 网络访问->:%@",url);
                %log;
                /* code */
                return %orig(@"http://127.0.0.1");
        }
        return %orig(url);
}
%end
 
static NSString *uniqueDeviceID(void) {
    static CFStringRef (*$MGCopyAnswer)(CFStringRef);
    void *gestalt = dlopen("/usr/lib/libMobileGestalt.dylib", RTLD_GLOBAL | RTLD_LAZY);
    $MGCopyAnswer = (dlsym(gestalt, "MGCopyAnswer"));
    return (__bridge NSString *)$MGCopyAnswer(CFSTR("UniqueDeviceID"));
}
 
static NSString *md5(NSString *str) {
   const char *cStr = [str UTF8String];
        unsigned char result[16];
        CC_MD5( cStr, strlen(cStr),result );
        NSMutableString *hash =[NSMutableString string];
        for (int i = 0; i < 16; i++) {
                [hash appendFormat:@"%02x", result[i]];
        }
        return hash;
}
 
static void genLicenseFile(NSString* hash) {
    // NSLog(@"[+]Hash:%@",hash);
    NSLog(@"[+] 写入注册信息");
    [hash writeToFile:@"/var/mobile/Library/iCleaner/license.cached" atomically:YES encoding:NSUTF8StringEncoding error:nil];  
}
 
%ctor
{
    NSString* udid = uniqueDeviceID();
    NSLog(@"[+] 获取 did->:%@",udid);
    NSString* tmpStr = [NSString stringWithFormat:@"%@%@%@%@",[udid substringWithRange:NSMakeRange(18,5)],[udid substringToIndex:27],[udid substringWithRange:NSMakeRange(13,10)],[udid substringFromIndex:31]];
    NSLog(@"[+] 取值 tmpStr->:%@",tmpStr);
    NSString* hash = md5(tmpStr);
    NSLog(@"[+] 计算 MD5_hash->:%@",hash);
    [[NSUserDefaults standardUserDefaults] setObject:hash forKey:@"lastRequestValue"];
    genLicenseFile(hash);
}
{
        Filter = {
                Bundles = (
                        "com.exile90.icleanerpro",
                        "com.ivanobilenchi.icleaner",
                );
        };
}

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ios and Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值