Jadual Kandungan
Kata Pengantar
Kod JS
Proses penukaran
1 fungsi getHex(a)
2. Kod JS fungsi getDec(a)
3. Kod JS bagi fungsi substr(a, b)
4 Kod JS bagi fungsi getPos(a, b)
5 Fungsi nyahkod(a, b)
Rumah pembangunan bahagian belakang Tutorial Python Ambil stok tutorial tentang menukar kod terbalik JS kepada kod Python

Ambil stok tutorial tentang menukar kod terbalik JS kepada kod Python

Apr 13, 2023 am 09:46 AM
python perangkak web masalah terbalik js

Ambil stok tutorial tentang menukar kod terbalik JS kepada kod Python

Kata Pengantar

Beberapa hari lalu dalam kumpulan pertukaran Python Star Yao dan The Strongest King, beberapa orang bertanya tentang video kejuruteraan terbalik JS dan kod yang berkaitan bahawa mereka semua saya belajar pengetahuan lanjutan dan saya benar-benar tidak boleh cukup dengannya. Kebetulan saya telah membaca beberapa bahan pembelajaran JS hari ini dan melihat kes yang cukup bagus, saya akan berkongsi dengan anda di sini dan merekodkannya juga.

Kod JS

Berkenaan mencari kod JS, agak sukar untuk menulis artikel untuk menerangkannya. Adalah lebih baik untuk merakam penjelasan video Di sini, kod JS yang sudah siap disusun secara langsung. Agak sukar untuk mencari kod penyulitan JS ini pada mulanya Anda perlu sentiasa memecahkan mata, mencari peraturan penyulitan, dan mengupas lapisan bawang demi lapisan untuk mengetahui. Kod penyulitan JS yang digunakan dalam artikel ini berasal dari tapak web video kecil Fungsi penyulitan yang dipaparkan pada halaman web adalah seperti yang ditunjukkan di bawah:

Ambil stok tutorial tentang menukar kod terbalik JS kepada kod Python

Kaedah penyulitan tidak terlalu sukar. , antaranya decodeMp4 Kod teras bagi fungsi penyulitan decode() adalah seperti berikut.

define("tool", function(a, b, c) {
var d = a("jquery")
, e = a("support")
, f = a("constants")
, g = a("base64")
, h = "substring"
, i = "split"
, j = "replace"
, k = "substr";
b.decodeMp4 = {
getHex: function(a) {
return {
str: a[h](4),
hex: a[h](0, 4)[i]("").reverse().join("")
}
},
getDec: function(a) {
var b = parseInt(a, 16).toString();# 对应Python中的str(int(a, 16))
return {
pre: b[h](0, 2)[i](""),
tail: b[h](2)[i]("")
}
},
substr: function(a, b) {
var c = a[h](0, b[0])
, d = a[k](b[0], b[1]);
return c + a[h](b[0])[j](d, "")
},
getPos: function(a, b) {
return b[0] = a.length - b[0] - b[1],
b
},
decode: function(a) {
var b = this.getHex(a)
, c = this.getDec(b.hex)
, d = this[k](b.str, c.pre);
return g.atob(this[k](d, this.getPos(d, c.tail)))
}
};
Salin selepas log masuk

Anda boleh melihat bahawa fungsi decode() dalam decodeMp4 dipanggil dan fungsi decode() memanggil getHex(a), getDec(b.hex), g.atob(), getPos( d, c.tail) dan fungsi lain, dan apa yang perlu kita lakukan ialah menukar fungsi ini kepada tulisan Python, kemudian bina kaedah penyulitan yang sepadan, dapatkan hasil yang disulitkan, dan kemudian lengkapkan kesan terbalik.

Proses penukaran

Pembolehubah a di sini ialah rentetan panjang melalui titik putus Di sini, pembolehubah berikut digunakan sebagai contoh.

a = "c0b1Ly9tdnPflQ3cQpPZpZGVvMTAubWVpdHVkYXRhLmNvbS82MWM0NDNlOGI1MmFmMTYzMi5tcDkBOyQ"
Salin selepas log masuk

Mari kita susun secara ringkas fungsi yang akan digunakan nanti lebih awal, supaya lebih mudah untuk semua orang menyemak nanti.

Ambil stok tutorial tentang menukar kod terbalik JS kepada kod Python

Mari pecahkan setiap fungsi mengikut giliran, seperti berikut:

1 fungsi getHex(a)

var h = "substring",i = "split";
getHex: function(a) {
return {
str: a[h](4),
hex: a[h](0, 4)[i]("").reverse().join("")
}
},
Salin selepas log masuk

Di atas ialah kod JS yang sepadan bagi fungsi getHex() Anda boleh melihat bahawa kamus dikembalikan secara langsung. Kekunci kamus masing-masing adalah str dan hex daripada h ialah subrentetan. Maksud fungsi ini ialah rentetan mengambil nilai daripada subskrip yang ditentukan sehingga ia mencapai penghujung rentetan Terjemahan di sini ialah a.substring(4), iaitu rentetan a bermula daripada subskrip 4 dan berakhir; a[h]( 0, 4)[i]("").reverse().join("") Ini adalah sedikit lebih rumit untuk difahami Pertama, nilai rentetan diambil. dan kedudukannya adalah dari 0 hingga 4. Kemudian fungsi i dipanggil, iaitu, split Fungsi dipisahkan oleh ruang (""), panggil fungsi reverse() untuk mengisih dalam urutan terbalik, dan kemudian panggil join("") untuk menyambung rentetan Selepas pembongkaran, ia adalah lebih mudah. Langkah seterusnya ialah membina kod Python Selepas menulis perbandingan, ia akan kelihatan seperti ini:

def getHex(a):
return {
"str": a[4:],# JS中的substring(4)指的是从4开始取值到字符串末尾
"hex": "".join(list(a[0:4])[::-1])# [::-1]代表的是反向取值
}
Salin selepas log masuk

Adakah ia kelihatan sama dengan kod JS di atas.

2. Kod JS fungsi getDec(a)

adalah seperti berikut:

 getDec: function(a) {
var b = parseInt(a, 16).toString(); 
return {
pre: b[h](0, 2)[i](""),
tail: b[h](2)[i]("")
}
},
Salin selepas log masuk

Mengikut hubungan yang sepadan, kod Python yang sepadan boleh ditulis sebagai berikut:

def getDec(a):
b = str(int(a, 16))
print(b)
return {
"pre": list(b[:2]),
"tail": list(b[2:])
}
Salin selepas log masuk

3. Kod JS bagi fungsi substr(a, b)

adalah seperti berikut:

substr: function(a, b) {
var c = a[h](0, b[0])
, d = a[k](b[0], b[1]);
return c + a[h](b[0])[j](d, "")
},
Salin selepas log masuk

Mengikut hubungan yang sepadan, kod Python yang sepadan boleh ditulis seperti berikut :

def substr(a, b):
c = a[0: int(b[0])]
print(c)
d = a[int(b[0]):int(b[0])+int(b[1])]
print(d)
return c + a[int(b[0]):].replace(d, '')
Salin selepas log masuk

4 Kod JS bagi fungsi getPos(a, b)

adalah seperti berikut:

getPos: function(a, b) {
return b[0] = a.length - b[0] - b[1],
b
},
Salin selepas log masuk

Mengikut perhubungan yang sepadan, kod Python yang sepadan boleh ditulis Seperti yang ditunjukkan di bawah:

def getPos(a, b):
b[0] = len(a) - int(b[0]) - int(b[1])
print(b[0])
return b
Salin selepas log masuk

5 Fungsi nyahkod(a, b)

mempunyai kod JS berikut: <🎜. >

decode: function(a) {
var b = this.getHex(a)
, c = this.getDec(b.hex)
, d = this[k](b.str, c.pre);
return g.atob(this[k](d, this.getPos(d, c.tail)))
}
Salin selepas log masuk
Mengikut hubungan yang sepadan, hubungan yang sepadan boleh ditulis Kod Python adalah seperti berikut:

 b = getHex(a)
# print(b)
c = getDec(b['hex'])
print(c)
# d = k(str(b), c.pre)
d = substr(b['str'], c['pre'])
# print(d)
return base64.b64decode(substr(d, getPos(d, c['tail'])))
Salin selepas log masuk
Paparan kesan

Jika anda membuat permintaan terus melalui perangkak web, anda tidak akan mendapat alamat yang disulitkan akhir Tidak kira bagaimana anda meminta, anda tidak boleh mendapatkannya, anda hanya boleh mendapatkan data-src, iaitu pembolehubah rentetan yang disebut di atas analisis di atas, dan menjalankan kod, anda boleh mendapatkan alamat permintaan yang sama seperti pada halaman web, seperti yang ditunjukkan di bawah Seperti yang ditunjukkan, sebaliknya berjaya! dalam penyemak imbas, ia boleh dimainkan, dan kemudian membuat permintaan untuk memuat turun dan video boleh dimuat turun.

Ringkasan

Ambil stok tutorial tentang menukar kod terbalik JS kepada kod PythonHelo semua, saya pengguna lanjutan Python. Artikel ini terutamanya berdasarkan masalah terbalik JS dalam perangkak web Python dan membuat penjelasan kes. Jika halaman web dimuatkan dengan JS, jika anda memintanya terus melalui perangkak web, anda tidak akan dapat mendapatkan alamat yang disulitkan terakhir Untuk menangani masalah terbalik ini, kami telah membuat proses pelaksanaan contoh terbalik yang mudah.

Atas ialah kandungan terperinci Ambil stok tutorial tentang menukar kod terbalik JS kepada kod Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Python Hourglass Graph Lukisan: Bagaimana untuk mengelakkan kesilapan yang tidak ditentukan? Python Hourglass Graph Lukisan: Bagaimana untuk mengelakkan kesilapan yang tidak ditentukan? Apr 01, 2025 pm 06:27 PM

Bermula dengan Python: Lukisan Grafik Hourglass dan Pengesahan Input Artikel ini akan menyelesaikan masalah definisi berubah -ubah yang dihadapi oleh pemula python dalam program lukisan grafik Hourglass. Kod ...

Pembangunan Aplikasi Desktop Cross-Platform Python: Perpustakaan GUI mana yang terbaik untuk anda? Pembangunan Aplikasi Desktop Cross-Platform Python: Perpustakaan GUI mana yang terbaik untuk anda? Apr 01, 2025 pm 05:24 PM

Pilihan Perpustakaan Pembangunan Aplikasi Desktop Python Python Banyak pemaju Python ingin membangunkan aplikasi desktop yang boleh dijalankan pada kedua-dua sistem Windows dan Linux ...

Adakah Google dan AWS menyediakan sumber imej Pypi awam? Adakah Google dan AWS menyediakan sumber imej Pypi awam? Apr 01, 2025 pm 05:15 PM

Ramai pemaju bergantung kepada PYPI (PythonPackageIndex) ...

Bagaimana cara mengira dan menyusun set data produk yang besar di Python? Bagaimana cara mengira dan menyusun set data produk yang besar di Python? Apr 01, 2025 pm 08:03 PM

Penukaran dan Statistik Data: Pemprosesan yang cekap bagi set data besar Artikel ini akan memperkenalkan secara terperinci bagaimana untuk menukar senarai data yang mengandungi maklumat produk kepada yang lain yang mengandungi ...

Bagaimana untuk mengoptimumkan pemprosesan imej resolusi tinggi di Python untuk mencari kawasan bulat putih yang tepat? Bagaimana untuk mengoptimumkan pemprosesan imej resolusi tinggi di Python untuk mencari kawasan bulat putih yang tepat? Apr 01, 2025 pm 06:12 PM

Bagaimana untuk mengendalikan imej resolusi tinggi di Python untuk mencari kawasan putih? Memproses gambar resolusi tinggi 9000x7000 piksel, bagaimana untuk mencari dua gambar dengan tepat ...

Bagaimana untuk menyelesaikan masalah pengekodan nama fail semasa menyambung ke pelayan FTP di Python? Bagaimana untuk menyelesaikan masalah pengekodan nama fail semasa menyambung ke pelayan FTP di Python? Apr 01, 2025 pm 06:21 PM

Apabila menggunakan Python untuk menyambung ke pelayan FTP, anda mungkin menghadapi masalah pengekodan apabila mendapatkan fail dalam direktori yang ditentukan dan memuat turunnya, terutamanya teks pada pelayan FTP ...

See all articles