欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Js逆向教程作用域和自執(zhí)行函數(shù)介紹

 更新時(shí)間:2023年01月19日 10:36:08   作者:虛壞叔叔  
這篇文章主要介紹了Js逆向教程作用域和自執(zhí)行函數(shù)介紹,本文章內(nèi)容詳細(xì),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,需要的朋友可以參考下

Js逆向教程24-作用域和自執(zhí)行函數(shù)

變量作用域

局部變量

function jb()
{
	var a="我是局部變量"
	return a;
}

全局變量

var a="我是全局變量"
function jb()
{
	console.log(a)
}
console.log(a)

自執(zhí)行函數(shù)

在加載的時(shí)候 這個(gè)自執(zhí)行函數(shù)就能自己運(yùn)行

!(function()
{
	console.log(2)
}
)()

!表示運(yùn)行成功

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-OsYCquRS-1673098150122)(02 - 副本.assets/image-20230107205816596.png)]

拆解只執(zhí)行函數(shù)的過程

對(duì)于這樣一個(gè)函數(shù) 直接運(yùn)行:

function()
{
	console.log(2)
}

除非前面有個(gè)var 否則會(huì)報(bào)錯(cuò)

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-zFkXXpEe-1673098150123)(02 - 副本.assets/image-20230107210015165.png)]

var a =function()
{
	console.log(2)
}

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-SdIiQnNj-1673098150123)(02 - 副本.assets/image-20230107210128558.png)]

用括號(hào)括起來 也不會(huì)報(bào)錯(cuò),因?yàn)槔ㄆ饋碇缶褪且粋€(gè)整體,你可以將它理解為一個(gè)沒有方法名稱的方法、也就是閉包。

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-wx4vlDez-1673098150124)(02 - 副本.assets/image-20230107210241014.png)]

在括號(hào)后面再加一個(gè)括號(hào)就表示執(zhí)行這個(gè)函數(shù)

(function()
{
	console.log(2)
}
)()

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-Kvp8w9tF-1673098150124)(02 - 副本.assets/image-20230107210352958.png)]

再js逆向中,通過這種方式 可以將一個(gè)函數(shù)的執(zhí)行傳給另一個(gè)函數(shù)執(zhí)行 從而實(shí)現(xiàn)逆向。

內(nèi)部函數(shù)如何外部調(diào)用

!(function()
{
    function jm()
    {
        console.log(2)
    }
    jm()
}
)()

可以看到內(nèi)部函數(shù)也可以被掉喲個(gè)

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-QrkXOLMa-1673098150125)(02 - 副本.assets/image-20230107210628006.png)]

如果將內(nèi)部函數(shù)放到外部調(diào)用:

!(function()
{
    function jm()
    {
        console.log(2)
    }
}
)()
jm()

就會(huì)報(bào)錯(cuò)

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-hy3eddco-1673098150126)(02 - 副本.assets/image-20230107210759134.png)]

要解決這個(gè)問題 可以在外部定義一個(gè)變量,然后將內(nèi)部的jm賦值給這個(gè)變量

var jm_;
!(function()
{
    function jm()
    {
        console.log(2)
    }
    jm_ = jm;
}
)()
jm_()

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-EfhXfnNC-1673098150126)(02 - 副本.assets/image-20230107211022534.png)]

這里就非常方便我們進(jìn)行js逆向

因?yàn)橐粋€(gè)網(wǎng)站的加密就1個(gè)或者幾個(gè)函數(shù),

大概流程是這樣

用戶輸入明文的數(shù)據(jù) -> 方法1 -》 發(fā)包函數(shù) 。。。 -》 加密函數(shù)

我們只需要將加密函數(shù)拿出來,用python或者易語言去模擬發(fā)包,執(zhí)行這個(gè)js的加密函數(shù),

這個(gè)加密函數(shù)可能嵌套再里面 這個(gè)時(shí)候 就可以用全局變量的方式 將它拿到外面。

變量類型的轉(zhuǎn)換

所有類型的變量 加上字符串 就會(huì)變成字符串

變量+字符串=字符串

比如一個(gè)方法 加上字符串,就會(huì)變成字符串

var jm_;
!(function()
{
    function jm()
    {
        console.log(2)
    }
    jm_ = jm;
}
)()
jm_+""

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-Dphyt04n-1673098150127)(02 - 副本.assets/image-20230107212111686.png)]

JS BOM

https://www.runoob.com/js/js-window.html

它是一種瀏覽器環(huán)境,脫離了瀏覽器在外部不能直接調(diào)用的就是BOM

到此這篇關(guān)于Js逆向教程作用域和自執(zhí)行函數(shù)介紹的文章就介紹到這了,更多相關(guān)作用域和自執(zhí)行函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論