欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于控制流和外形混淆的Python代碼混淆方法與流程

文檔序號:12467461閱讀:來源:國知局

技術(shù)特征:

1.一種基于控制流和外形混淆的Python代碼混淆方法,其特征是按如下步驟進行:

步驟1、以一個函數(shù)的開始與結(jié)束為單位,將Python代碼中所有函數(shù)進行劃分,得到若干個單獨的函數(shù);

步驟2、針對任意一個單獨的函數(shù)fun,對其函數(shù)體中若干個連續(xù)執(zhí)行的代碼進行分割,得到若干個基本塊并依次進行編號,記為B={b1,b2,…,bi,…,bn};bi表示第i個基本塊;所述第i個基本塊bi中的代碼只有一個入口和一個出口;1≤i≤n;

步驟3、使用基于分段Logistic混沌映射的密鑰生成算法,生成兩套密鑰;

步驟3.1、利用式(1)所示的分段Logistic混沌映射產(chǎn)生第i個實數(shù)ai,從而得到隨機實數(shù)序列A={a1,a2,…,ai,…,an}:

<mrow> <msub> <mi>a</mi> <mi>i</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>4</mn> <mo>&CenterDot;</mo> <mi>u</mi> <mo>&CenterDot;</mo> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <mrow> <mn>0.5</mn> <mo>-</mo> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mo>&le;</mo> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&lt;</mo> <mn>0.5</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>-</mo> <mn>4</mn> <mo>&CenterDot;</mo> <mi>u</mi> <mo>&CenterDot;</mo> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <mrow> <mn>0.5</mn> <mo>-</mo> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>-</mo> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>0.5</mn> <mo>&le;</mo> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&le;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

式(1)中,a0=rand(0,1);u表示Logistic參數(shù);且3.569946…≤u≤4;

步驟3.2、利用式(2)所示的映射函數(shù)將第i個實數(shù)ai映射成第i個整數(shù)Fi,從而將所述實數(shù)序列A={a1,a2,…,ai,…,an}映射成整數(shù)序列F={F1,F2,…,Fi,…,Fn}:

Fi=Round{ai×m} (2)

式(2)中,Round{}是取整函數(shù);m表示映射參數(shù);

步驟3.3、統(tǒng)計所述整數(shù)序列F中互不相同的元素個數(shù),記為t;t∈[1,n];

步驟3.4、由所述步驟3.1~步驟3.3的處理過程構(gòu)成函數(shù)Logistic的函數(shù)體;由實數(shù)a0和Logistic參數(shù)u構(gòu)成二元組(a0,u)作為第t個基本塊bt的密鑰keyt;

步驟3.5、重復步驟3.1~步驟3.4,直到獲得所有基本塊的密鑰作為第一套

KEY={key1,key2,…,keyt,…,keyn};

步驟3.6、重復步驟3.1~步驟3.4,直到獲得所有基本塊的密鑰作為第二套

KEY′={key1′,key′2,…,key′t,…,key′n};

步驟4、基于控制流的混淆

步驟4.1、打亂所述函數(shù)fun中所有基本塊的順序,得到B′={b1′,b2′,…,bi′,…,b′n};bi′表示打亂后的第i個基本塊;

步驟4.2、以所述第一套密鑰KEY作為所述函數(shù)Logistic的參數(shù);經(jīng)過函數(shù)Logistic的函數(shù)體計算,得到下一個需要執(zhí)行的基本塊的編號;

以所述第二套密鑰KEY′為作為所述函數(shù)Logistic的參數(shù);經(jīng)過函數(shù)Logistic的函數(shù)體計算,得到if-else控制語句中的條件變量,從而使用while循環(huán)語句和if-else控制語句對打亂后的所有基本塊的順序進行控制,使得打亂后的所有基本塊的執(zhí)行順序與原來的執(zhí)行順序相同;

步驟5、基于外形的混淆

利用無意義的字符串對所述Python代碼中局部的類名、函數(shù)名、變量名進行替換,從而形成混淆后的Python代碼。

當前第2頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
合阳县| 宝山区| 榕江县| 青冈县| 清涧县| 汾西县| 朔州市| 五指山市| 井研县| 安顺市| 台山市| 施秉县| 班戈县| 五台县| 青铜峡市| 诸暨市| 沙坪坝区| 什邡市| 垣曲县| 文安县| 区。| 大邑县| 东乡| 灌云县| 颍上县| 张家口市| 武安市| 北安市| 独山县| 扎赉特旗| 天长市| 监利县| 普宁市| 遵义县| 淄博市| 延津县| 平度市| 嘉善县| 宝兴县| 三门峡市| 珠海市|