刚刚干了件自己觉得比较牛逼的事情

版主: huangchong

lexian(蒙古大夫)
论坛精英
论坛精英
帖子互动: 1123
帖子: 5512
注册时间: 2022年 10月 24日 14:07

#21 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 lexian(蒙古大夫) »

看成刚刚干了牛逼……这也太饥渴了
x1 图片
说你有病就有病
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#22 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

lexian 写了: 昨天 12:11 看成刚刚干了牛逼……这也太饥渴了
我要是家里有头母牛 也算个富户了
x1 图片
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#23 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

lexian 写了: 昨天 12:11 看成刚刚干了牛逼……这也太饥渴了
比较牛逼 对着两头(或多头)母牛的后身仔细端详 试图找出不同之处
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#24 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

非常牛逼

非要品尝牛的外阴
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#25 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

有些牛逼 : 拥有一台以上的母牛
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#26 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

曾经牛逼: 非剖腹产的牛(目前基本等于所有的牛)
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#27 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

真牛逼 : 确实是牛身上割来的牛逼
x1 图片
头像
iMaJia
论坛元老
论坛元老
帖子互动: 1209
帖子: 20022
注册时间: 2022年 7月 27日 11:37

#28 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 iMaJia »

Highly 写了: 昨天 01:10 外行的我,每个字都认识。
厲害啊,mdadm, dd, 我不認識
光追騙你錢,千萬別上當
效果不咋樣,幀數跟不上
头像
zeami(狼VP狈¿为奸)
论坛精英
论坛精英
2023年度十大优秀网友
帖子互动: 690
帖子: 6202
注册时间: 2022年 7月 25日 15:51

#29 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 zeami(狼VP狈¿为奸) »

拯救动作片?? :roll: :roll:
⚪︎ 辟邪剑法七折大酬宾~~
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#30 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

zeami 写了: 昨天 12:53 拯救动作片?? :roll: :roll:
其实当时里面没有什么重要东西,但是觉得不修复的话在心里会留遗憾,所以努力研究了两天
x1 图片
mondy
著名点评
著名点评
帖子互动: 241
帖子: 4052
注册时间: 2022年 9月 27日 09:43

#31 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 mondy »

量子战士 写了: 昨天 01:28 所以我还是自己搜索答案,绝不会听ai的
在专业方面,AI很多时候极其的傻

并且会撒谎
还一本正经的撒谎
AnonymityFreedom
著名写手
著名写手
帖子互动: 22
帖子: 311
注册时间: 2023年 1月 30日 09:47

#32 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 AnonymityFreedom »

huangchong 写了: 昨天 01:01 于是我写了个小程序 把剩下俩盘的序号和uuid分别加一 然后贴上checksum 然后再挂载 然后我的raid就活了
兄弟, 你的程序在哪里?

(Cypherpunks write code; Cypherpunks publish their code)
头像
Mouseinhouse
论坛点评
论坛点评
帖子互动: 434
帖子: 2541
注册时间: 2024年 6月 3日 03:50

#33 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 Mouseinhouse »

赖美豪中 写了: 昨天 10:35 看到这个我想起来,你们有谁让ai写过汇编,我让他们写的fortran, c++ 基本都没法用,我猜想汇编估计完全是乱写
主要是用户量少,缺乏训练和纠错。所以进步缓慢。
人皆有明珠一颗,终有日可照山河万朵。
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#34 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

AnonymityFreedom 写了: 昨天 14:14 兄弟, 你的程序在哪里?

(Cypherpunks write code; Cypherpunks publish their code)

代码: 全选

#!/usr/bin/env python3
import os, sys, struct

assert os.path.isfile(sys.argv[1])
with open(sys.argv[1],'rb') as f:
    sb=f.read()
#print(len(sb))


def cal_csum(a):
    csum=0
    for i in range(0,len(a),4):
        if i!=216:
            value=struct.unpack('<I',a[i:i+4])[0]
            csum+=value
        sb_csum= (csum & 0xffffffff) + (csum >>32)
    return sb_csum
sb_csum=cal_csum(sb)

print(f'{sb_csum:x}','{:x}' .format(struct.unpack('<I',sb[216:220])[0]))



out1=   sb[:160]+ \
        chr(sb[160]-1).encode('latin-1')+ \
        sb[161:183] + \
        chr(sb[183]+1).encode('latin-1') + \
        sb[184:]
new_csum=cal_csum(out1)
out2=out1[:216]+struct.pack('<I',new_csum)+out1[220:]

with open('c','wb') as f:
    f.write(out2)



out1=   sb[:160]+ \
        chr(sb[160]-2).encode('latin-1')+ \
        sb[161:183] + \
        chr(sb[183]+2).encode('latin-1') + \
        sb[184:]
new_csum=cal_csum(out1)
out2=out1[:216]+struct.pack('<I',new_csum)+out1[220:]

with open('d','wb') as f:
    f.write(out2)
说明:

linux的 md(multiple device,就是raid) superblock 1.2版本,字节160是存该盘在raid里的序号,字节183是该盘uuid的最后一个字节,我拷出来的好盘的superblock字节160是2号,所以其他俩应该是0和1号

cal_csum是看了linux源程序以后写的,算法很简单,就一句话,所以基本就是照抄。源程序是把4k的原始superblock全加起来,然后把32位的和放在216-219字节处,原始superblock 216到219是0,所以我得把这四个跳过。


https://linux.die.net/man/4/md
https://www.jeffgeerling.com/blog/2021/ ... inux-mdadm
https://archive.kernel.org/oldwiki/raid ... rmats.html
https://github.com/spotify/linux/blob/m ... aid/md_p.h

Linux自己的 算checksum的函数:
https://stash.phytec.com/projects/PUB/r ... 1dc587aacb

代码: 全选



static u32 md_csum_fold(u32 csum)
{
	csum = (csum & 0xffff) + (csum >> 16);
	return (csum & 0xffff) + (csum >> 16);
}

static unsigned int calc_sb_csum(mdp_super_t * sb)
{
	u64 newcsum = 0;
	u32 *sb32 = (u32*)sb;
	int i;
	unsigned int disk_csum, csum;

	disk_csum = sb->sb_csum;
	sb->sb_csum = 0;

	for (i = 0; i < MD_SB_BYTES/4 ; i++)
		newcsum += sb32[i];
	csum = (newcsum & 0xffffffff) + (newcsum>>32);


#ifdef CONFIG_ALPHA
	/* This used to use csum_partial, which was wrong for several
	 * reasons including that different results are returned on
	 * different architectures.  It isn't critical that we get exactly
	 * the same return value as before (we always csum_fold before
	 * testing, and that removes any differences).  However as we
	 * know that csum_partial always returned a 16bit value on
	 * alphas, do a fold to maximise conformity to previous behaviour.
	 */
	sb->sb_csum = md_csum_fold(disk_csum);
#else
	sb->sb_csum = disk_csum;
#endif
	return csum;
}
x2 图片
上次由 huangchong 在 2025年 7月 12日 15:25 修改。
原因: 未提供修改原因
WideAnimals
著名写手
著名写手
帖子互动: 82
帖子: 305
注册时间: 2023年 11月 11日 21:12

#35 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 WideAnimals »

好棒👍 为啥c,d是sb[160]-1和-2? 好盘是sb[160]还是sb[160]-3?
检查#print(len(sb))?如果超过216呢?会顺推4位吗?
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#36 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

WideAnimals 写了: 昨天 15:16 好棒👍 为啥c,d是sb[160]-1和-2? 好盘是sb[160]还是sb[160]-3?
检查#print(len(sb))?如果超过216呢?会顺推4位吗?
好盘是2 剩下两个应该就是0和1了 这0和1如果互换 是否就不工作了 这个我还没试验 晚上可以试试

len(sb)结果应该是512 因为这是我拿dd抓的一个扇区 按文档说 superblock应该是4k 但是我观察的是其实就头512byte有内容 所以光抓了512bytes

216必须是216 因为每个位置放什么都是规定好的 错位就不行了

再有一个细节是 所有的数字都是le 可能是因为这是Linux 所以一切按pc的标准来

上面之所以只用改 160 也是因为数字是le 这个序号按文档其实是可以占四位的 但是因为是le 又是个很小的整数 所以改第一个byte就够了
上次由 huangchong 在 2025年 7月 12日 15:23 修改。
原因: 未提供修改原因
Xiaofish(amzdealshq.com)
见习作家
见习作家
帖子互动: 77
帖子: 431
注册时间: 2025年 5月 4日 13:16
联系:

#37 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 Xiaofish(amzdealshq.com) »

huangchong 写了: 昨天 14:28

代码: 全选

#!/usr/bin/env python3
import os, sys, struct

assert os.path.isfile(sys.argv[1])
with open(sys.argv[1],'rb') as f:
    sb=f.read()
#print(len(sb))


def cal_csum(a):
    csum=0
    for i in range(0,len(a),4):
        if i!=216:
            value=struct.unpack('<I',a[i:i+4])[0]
            csum+=value
        sb_csum= (csum & 0xffffffff) + (csum >>32)
    return sb_csum
sb_csum=cal_csum(sb)

print(f'{sb_csum:x}','{:x}' .format(struct.unpack('<I',sb[216:220])[0]))



out1=   sb[:160]+ \
        chr(sb[160]-1).encode('latin-1')+ \
        sb[161:183] + \
        chr(sb[183]+1).encode('latin-1') + \
        sb[184:]
new_csum=cal_csum(out1)
out2=out1[:216]+struct.pack('<I',new_csum)+out1[220:]

with open('c','wb') as f:
    f.write(out2)



out1=   sb[:160]+ \
        chr(sb[160]-2).encode('latin-1')+ \
        sb[161:183] + \
        chr(sb[183]+2).encode('latin-1') + \
        sb[184:]
new_csum=cal_csum(out1)
out2=out1[:216]+struct.pack('<I',new_csum)+out1[220:]

with open('d','wb') as f:
    f.write(out2)
说明:

linux的 md(multiple device,就是raid) superblock 1.2版本,字节160是存该盘在raid里的序号,字节183是该盘uuid的最后一个字节,我拷出来的好盘的superblock字节160是2号,所以其他俩应该是0和1号

cal_csum是看了linux源程序以后写的,算法很简单,就一句话,所以基本就是照抄。源程序是把4k的原始superblock全加起来,然后把32位的和放在216-219字节处,原始superblock 216到219是0,所以我得把这四个跳过。


https://linux.die.net/man/4/md
https://www.jeffgeerling.com/blog/2021/ ... inux-mdadm
https://archive.kernel.org/oldwiki/raid ... rmats.html
https://github.com/spotify/linux/blob/m ... aid/md_p.h

Linux自己的 算checksum的函数:
https://stash.phytec.com/projects/PUB/r ... 1dc587aacb

代码: 全选



static u32 md_csum_fold(u32 csum)
{
	csum = (csum & 0xffff) + (csum >> 16);
	return (csum & 0xffff) + (csum >> 16);
}

static unsigned int calc_sb_csum(mdp_super_t * sb)
{
	u64 newcsum = 0;
	u32 *sb32 = (u32*)sb;
	int i;
	unsigned int disk_csum, csum;

	disk_csum = sb->sb_csum;
	sb->sb_csum = 0;

	for (i = 0; i < MD_SB_BYTES/4 ; i++)
		newcsum += sb32[i];
	csum = (newcsum & 0xffffffff) + (newcsum>>32);


#ifdef CONFIG_ALPHA
	/* This used to use csum_partial, which was wrong for several
	 * reasons including that different results are returned on
	 * different architectures.  It isn't critical that we get exactly
	 * the same return value as before (we always csum_fold before
	 * testing, and that removes any differences).  However as we
	 * know that csum_partial always returned a 16bit value on
	 * alphas, do a fold to maximise conformity to previous behaviour.
	 */
	sb->sb_csum = md_csum_fold(disk_csum);
#else
	sb->sb_csum = disk_csum;
#endif
	return csum;
}
黄总优秀。你不是看起来像生物索南吗?
锁男一名,喜欢diy。有个不成功的油管频管 https://youtube.com/handydoctor89
有个亚马逊大折扣信息网站,各种各样类别,常备几千件货,可搜索。山寨名牌都有。每天更新。大部分5折,其它地方没有的哈,欢迎围观指导: https://amzdealshq.com Best Coupon Site for Amazon, Huge Discounts
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#38 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

另外其实dd没那么吓人 只要使用前做好备份 使用时候养成良好习惯 加上认真仔细就行

比如读硬盘sdc上第 9-12个扇区 把它存进一个文件来备份:

代码: 全选

sudo dd if=/dev/sdc of=sdc9-12  bs=512 skip=8 count=4
把存着一个扇区内容的文件 写进sdc扇区9:

代码: 全选

sudo dd if=./sec9  of=/dev/sdc  bs=512 seek=8 

把sdc扇区9-12 用0 覆盖

代码: 全选

sudo dd if=/dev/zero  of=/dev/sdc  bs=512 seek=8 count=4 
测试硬盘读取速度

代码: 全选

sudo dd if=/dev/sda of=/dev/null  bs=1G count=10  oflag=dsync  status=progress
观赏拷出来的二进制文件

代码: 全选

xxd diskdump  
更高级的观赏加修改

代码: 全选

bless diskdump
上次由 huangchong 在 2025年 7月 12日 15:40 修改。
原因: 未提供修改原因
头像
huangchong(净坛使者)楼主
论坛元老
论坛元老
2023-24年度优秀版主
帖子互动: 3626
帖子: 56729
注册时间: 2022年 7月 22日 01:22

#39 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 huangchong(净坛使者)楼主 »

Xiaofish 写了: 昨天 15:28 黄总优秀。你不是看起来像生物索南吗?
21世纪是生物的世纪 各行各业里都充斥着生物学人才
Xiaofish(amzdealshq.com)
见习作家
见习作家
帖子互动: 77
帖子: 431
注册时间: 2025年 5月 4日 13:16
联系:

#40 Re: 刚刚干了件自己觉得比较牛逼的事情

帖子 Xiaofish(amzdealshq.com) »

huangchong 写了: 昨天 15:35 另外其实dd没那么吓人 只要使用前做好备份 使用时候养成良好习惯 加上认真仔细就行

比如读硬盘sdc上第 9-12个扇区 把它存进一个文件来备份:

代码: 全选

sudo dd if=/dev/sdc of=sdc9-12  bs=512 skip=8 count=4
把存着一个扇区内容的文件 写进sdc扇区9:

代码: 全选

sudo dd if=./sec9  of=/dev/sdc  bs=512 seek=8 

把sdc扇区9-12 用0 覆盖

代码: 全选

sudo dd if=/dev/zero  of=/dev/sdc  bs=512 seek=8 count=4 
测试硬盘读取速度

代码: 全选

sudo dd if=/dev/sda of=/dev/null  bs=1G count=10  oflag=dsync  status=progress
观赏拷出来的二进制文件

代码: 全选

xxd diskdump  
更高级的观赏加修改

代码: 全选

bless diskdump
黄总你用哪个灵牛?
锁男一名,喜欢diy。有个不成功的油管频管 https://youtube.com/handydoctor89
有个亚马逊大折扣信息网站,各种各样类别,常备几千件货,可搜索。山寨名牌都有。每天更新。大部分5折,其它地方没有的哈,欢迎围观指导: https://amzdealshq.com Best Coupon Site for Amazon, Huge Discounts
回复

回到 “肚皮舞运动(Joke)”