国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python執(zhí)行js代碼的方法

瀏覽:2日期:2022-06-19 17:49:26
目錄什么是js代碼混淆?正常代碼混淆代碼Python第三方包Execjs安裝執(zhí)行js什么是js代碼混淆?正常代碼

我們現(xiàn)在看一段js代碼,代碼邏輯很簡(jiǎn)單,就是拼接時(shí)間返回。

function formatDate(now) { var now = new Date(1230999938); var year=now.getFullYear(); var month=now.getMonth()+1; var date=now.getDate(); var hour=now.getHours(); var minute=now.getMinutes(); var second=now.getSeconds(); return year+'-'+month+'-'+date+' '+hour+':'+minute+':'+second;}

運(yùn)行一下這段代碼,如下圖所示。

python執(zhí)行js代碼的方法

混淆代碼

我隨便找了個(gè)在線的js代碼混淆網(wǎng)站。

js代碼

function formatDate(mz1){var KkkGDiH2=new window['x44x61x74x65'](1230999938);var tsk3=KkkGDiH2[’x67x65x74x46x75x6cx6cx59x65x61x72’]();var YMreyP4=KkkGDiH2[’x67x65x74x4dx6fx6ex74x68’]()+1;var Ozo5=KkkGDiH2[’x67x65x74x44x61x74x65’]();var QMYEc$eD6=KkkGDiH2[’x67x65x74x48x6fx75x72x73’]();var JfXVV_Akq7=KkkGDiH2[’x67x65x74x4dx69x6ex75x74x65x73’]();var $mP8=KkkGDiH2[’x67x65x74x53x65x63x6fx6ex64x73’]();return tsk3+'x2d'+YMreyP4+'x2d'+Ozo5+' '+QMYEc$eD6+'x3a'+JfXVV_Akq7+'x3a'+$mP8

上面這個(gè)真的不是我瞎寫(xiě)的,混淆之后就是這樣子的,不信看圖片。

python執(zhí)行js代碼的方法

可能我們會(huì)有個(gè)疑問(wèn),js代碼都成這玩意了,還能執(zhí)行嗎? 答案是肯定的。即使js代碼非常亂,但還是可以執(zhí)行的,結(jié)果跟上面的是一樣的。

這就造成了一個(gè)問(wèn)題,我們?cè)谧雠老x(chóng)時(shí),如果需要,多多少少可能都要研究一下js代碼,然后進(jìn)行js解密一下,但是,但是,要是代碼都混淆成了這了,還怎么解?

一點(diǎn)邏輯都看不通了,基本上不可用Python按照js邏輯重寫(xiě)出來(lái)了...

很巧,小編也是卡在這里...后來(lái)我就想,要是Python能執(zhí)行js代碼就好了,不用管函數(shù)里面的邏輯了,只拿函數(shù)返回值就好了。

Python第三方包Execjs

可能是吧,不止我一個(gè)人遇到了這種情況,所以大佬們就開(kāi)發(fā)出來(lái)這種工具包,用于執(zhí)行js代碼。

安裝

在安裝之前,需要有node環(huán)境,這里就不舉栗子了,下一步下一步就好了。

pip3 install PyExecJS執(zhí)行js

注:由于上述js代碼會(huì)生成window對(duì)象,并不能直接執(zhí)行成功,需要額外的其他輔助,這里簡(jiǎn)單的舉一下其他例子。

正常js代碼

function add(x, y) { return x + y;}

Python執(zhí)行js代碼

import execjsctx = execjs.compile('''function add(x, y) { return x + y;}''')print(ctx.call('add', 1, 2))

執(zhí)行結(jié)果如下圖所示:

python執(zhí)行js代碼的方法

混淆js代碼

function add(bi1,Pl$2){return bi1+Pl$2}

Python執(zhí)行混淆js代碼

import execjsctx = execjs.compile('''function add(bi1,Pl$2){return bi1+Pl$2}''')print(ctx.call('add', 1, 2))

執(zhí)行結(jié)果如下圖所示:

python執(zhí)行js代碼的方法

可以看到,即使再混淆,只要執(zhí)行的是js代碼,都是沒(méi)啥問(wèn)題的。

上述拼接時(shí)間返回的js混淆代碼也是可以執(zhí)行的,但是它多了一個(gè)window對(duì)象,需要node安裝jsdom才行,由于網(wǎng)絡(luò)設(shè)置有問(wèn)題,實(shí)在是下載不了舉例子,實(shí)在是抱歉。

或者使用selenium打開(kāi)游覽器執(zhí)行再返回也行,當(dāng)然,速度更慢。

以上就是python執(zhí)行js代碼的方法的詳細(xì)內(nèi)容,更多關(guān)于python執(zhí)行js代碼的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 精品午夜国产在线观看不卡 | 亚洲成人一级片 | 亚洲国产网站 | 精品9e精品视频在线观看 | 日本精品高清一区二区2021 | 欧美精品一区二区三区免费 | 在线观看一区二区三区视频 | 日韩专区亚洲精品欧美专区 | 国产午夜三区视频在线 | 黄色欧美网站 | 全免费a级毛片免费毛视频 全午夜免费一级毛片 | 国产精品不卡无毒在线观看 | 欧美久久亚洲精品 | 成年视频国产免费观看 | 中文一级国产特级毛片视频 | 亚洲狠狠狠一区二区三区 | 亚洲欧洲国产成人综合一本 | 欧美亚洲第一区 | 亚洲图片 自拍偷拍 | 国产日韩精品一区二区三区 | 欧美精品一区二区在线观看播放 | 久久99精品久久久久久久不卡 | 韩毛片 | 一级国产| 在线三级网址 | 成人三级视频在线观看 | 久久悠| 欧美理论大片清免费观看 | 一级女性黄 色生活片 | 欧美曰韩一区二区三区 | 久久综合狠狠综合久久综合88 | 高级毛片 | 国产午夜精品一区二区 | 日本特黄特色大片免费视频网站 | 色视频一区二区三区 | 色综合色狠狠天天久久婷婷基地 | 一级做a爰片久久毛片苍井优 | 欧美高h视频| 久久久不卡国产精品一区二区 | 国产99视频精品草莓免视看 | 欧美69色|