关于欧拉函数的一些理解与拓展

很早之前就只知道一点欧拉函数的使用,现在来总结一下,有哪些我没懂的和我懂了的

欧拉定理

欧拉定理,也称费马-欧拉定理,若n,a为正整数,且n,a互质,即gcd(a,n) = 1,则a^φ(n) ≡ 1 (mod n)

欧拉函数

欧拉函数是求小于等于n的数中与n互质的数的数目  

如果n是质数那么1到n-1所有数都是与n互质的,所以φ(n) = n-1如果n是合数。。。自己算吧例如φ(8)=4,因为1,3,5,7均和8互质

请思考以下问题:

任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?)

计算这个值的方法就叫做欧拉函数,以φ(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以 φ(n) = 4。

φ(n) 的计算方法并不复杂,但是为了得到最后那个公式,需要一步步讨论。

第一种情况

如果n=1,则 φ(1) = 1 。因为1与任何数(包括自身)都构成互质关系。

第二种情况

如果n是质数,则 φ(n)=n-1 。因为质数与小于它的每一个数,都构成互质关系。比如5与1、2、3、4都构成互质关系。

第三种情况

如果n是质数的某一个次方,即 n = p^k (p为质数,k为大于等于1的整数),则

2015-08-04/55c0573f4a25a

比如 φ(8) = φ(2^3) =2^3 – 2^2 = 8 -4 = 4。

这是因为只有当一个数不包含质数p,才可能与n互质。而包含质数p的数一共有p^(k-1)个,即1×p、2×p、3×p、…、p^(k-1)×p,把它们去除,剩下的就是与n互质的数。

上面的式子还可以写成下面的形式:

2015-08-04/55c0578076585

可以看出,上面的第二种情况是 k=1 时的特例。

第四种情况

如果n可以分解成两个互质的整数之积,

n = p1 × p2

φ(n) = φ(p1p2) = φ(p1)φ(p2)

即积的欧拉函数等于各个因子的欧拉函数之积。比如,φ(56)=φ(8×7)=φ(8)×φ(7)=4×6=24。

这一条的证明要用到“中国剩余定理”,这里就不展开了,只简单说一下思路:如果a与p1互质(a<p1),b与p2互质(b<p2),c与p1p2互质(c<p1p2),则c与数对 (a,b) 是一一对应关系。由于a的值有φ(p1)种可能,b的值有φ(p2)种可能,则数对 (a,b) 有φ(p1)φ(p2)种可能,而c的值有φ(p1p2)种可能,所以φ(p1p2)就等于φ(p1)φ(p2)。

第五种情况

2015-08-04/55c057f99f735

因为任意一个大于1的正整数,都可以写成一系列质数的积。

2015-08-04/55c05835ca6e2

根据第4条的结论,得到

再根据第3条的结论,得到

2015-08-04/55c05871f2594

也就等于

2015-08-04/55c058b16129e

这就是欧拉函数的通用计算公式。比如,1323的欧拉函数,计算过程如下:

2015-08-04/55c059446c936

欧拉公式

还有一个欧拉公式eix = cosx + isinx

把x代入公式就是, eiπ + 1 = 0

引用一个名人的话(我忘了是谁( ̄▽ ̄lll)):”它把自然对数e,虚数i,无理数π,自然界中的有和无(1和0)巧妙的结合了起来,上帝如果不存在,怎么会有这么优美的公式。如何见到它第一眼的人没有看到它的魅力,那它一定成不了数学家”

费马小定理

由欧拉函数的特例,如果n是质数,则可得欧拉定理 a^(n-1)≡ 1 (mod n)

AbemaTV-无料インターネットテレビ局 附:破解教程(支持部分日系锁区限制软件)

注:仅破解区域限制,观看还需挂日本IP梯子 ,在此不提供梯子。

AbemaTV-无料インターネットテレビ局”是一个日本网络电视台“アベマTV”出的视频 App,里面不少节目和视频都是免费的。

但是我安装后发现这个 App 有区域限制,启动时全屏显示 “このサービスはお住まいの地域からはご利用になれません。”提示,无法继续(已经用了日本IP的shadowsocks)。

简单地尝试下破解了这个 App 的区域限制。步骤如下:

1. 从 apkpure 下载 AbemaTV app 最新版的 apk

2. 用 apktool 这个工具解包下载的 apk. apktool 是一个 java 包,需要安装 Java 运行。

java -jar apktool_2.2.4.jar d “AbemaTV 无料インターネットテレビ局_v3.5.1_apkpure.com.apk”

3. 解包后的文件在当前目录下 “AbemaTV 无料インターネットテレビ局_v3.5.1_apkpure.com/” 文件夹。其中,res/ 是资源文件,smali/ 和 smali_classes2/ 是 java 源码编译后的 smali 文件。这个 app 好像没怎么加密什么的。

在整个目录里搜索 “このサービスはお住まいの地域からはご利用になれません。” 字符串,找到:

<string name=”error_abroad_description”>このサービスはお住まいの地域からはご利用になれません。</string>

搜索 error_abroad_description,找到:res/values/public.xml:
<public type=”string” name=”error_abroad_description” id=”0x7f0a0114″ />

搜索 0x7f0a0114,找到 smali_classes2tvabemacomponentsfragmenta.smali:

.class public Ltv/abema/components/fragment/a;
.super Ltv/abema/components/fragment/u;
.source “AbroadFragment.java”

const v1, 0x7f0a0114
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(I)V

可以看到,这是一个 Fragment 类编译成的 smali 文件,当 app 检测到当前设备是日本以外区域(检测方法未知,可能是检测手机sim卡运营商信息)时就在当前 activity 上加载这个全屏 fragment 以阻止使用,所以最简单的破解方法就是把这个“创建并显示 Fragment”部分代码去掉。

搜索 “Ltv/abema/components/fragment/a”,找到:
smalitvabemaajk.smali

.line 202
const-class v0, Ltv/abema/components/fragment/a;
invoke-virtual {p0, v0}, Ltv/abema/a/jk;->I(Ljava/lang/Class;)V

看起来就是这里了,将这几行用 “#” 注释掉。

4. 最后,用 apktool 重新打包修改后文件生成 apk,参数就是之前解包apk文件所在目录

java -jar apktool_2.2.4.jar b “AbemaTV 无料インターネットテレビ局_v3.5.1_apkpure.com”

生成的 apk 在 AbemaTV 无料インターネットテレビ局_v3.5.1_apkpure.com/dist 文件夹下。

生成的 apk 是未签名的,无法直接安装。可以手工用 java bin目录下 keytool 工具生成密钥,jarsigner 工具给 apk 签名。(具体过程网上资料很多);也可以用直接用 apk-signer 这个图形化工具来进行

最后在手机上安装生成的 AbemaTV_v3.5.1_SIGNED_UNALIGNED.apk 即可,实测能够正常进入主界面并观看视频,搞定。

修改 app 包后无法使用 Google Play IAP 内购功能。最完美的破解 root 检测方法仍然是安装 XPosed + rootcloak

类似方法解除 Hulu 日本Android app的 root检测:

由错误提示“OSの整合性チェックに失败しました。Root権限を取得している场合、起动できません。”跟踪找到某个Fragment:


const-string v2, “su”

invoke-virtual {v1, v2}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0

move-result-object v0

const v1, 0x7f0900e8

这里通过运行 su 检测是否有异常来判断机器是否已 root,所以最简单的移除方法就是把 “su” 随便改成个不存在对应命令的名字。

如果App是通过检测sim卡运营商限制区域的,那么应该可以通过改手机运营商代码来骗过(需要root),这样就不需要改apk了。日本主要移动ISP的运营商代码
docomo:4401020
softbank: 4402081
au: 4540492, 4405014

附上下载链接:

链接:https://pan.baidu.com/s/12RU3xFjaA-_rCr2kaiTFEA
提取码:o2yn