导语:Vibe Coding这股风终于刮进了安全圈。写代码的人越来越多,懂代码的人越来越少;搞逆向的人越来越多,看得懂汇编的越来越少。前几天群里转了两道经典找错题,安静三秒后,故事开始了。
Vibe Coding 来了
以前搞逆向,你得会看汇编,得会调栈,得会跟寄存器。现在不用了——AI给你生成一段反汇编分析,你看一眼,嗯,有xor,有loop,有ret,Vibe对了。然后你就敢说:”我会逆向。”
写代码也一样。你不写代码了,你”感觉”代码。你跟AI说:”帮我写个功能。”AI噼里啪啦吐出一坨东西。你看一眼,嗯,能跑,有注释,缩进整齐,Vibe对了。提交。
至于那坨东西到底是什么逻辑——不重要。代码就像薛定谔的猫,你不看它,它既是好的也是坏的;你一细看,它就只剩坏的了。
于是,一个崭新的时代来临了:
- 写代码的人越来越多,懂代码的人越来越少
- 搞逆向的人越来越多,看得懂汇编的越来越少
前几天,群里有人转了两道题。一道C语言,一道汇编。说:”都是经典找错题,大家看看问题在哪。”
群里安静了三秒。然后,故事开始了。
第一题:C语言
代码不长,大意是比较三个数的大小:
#include <stdio.h>
int main() {
int a, b, c;
int max;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
max = a;
if (b = max) {
max = b;
}
if (c = max) {
max = c;
}
printf("最大值是:%dn", max);
return 0;
}
有人回复了:”没问题啊,逻辑挺清晰的。”
又有人回复:”这代码有什么问题?不是好好跑着呢吗?”
还有人很谦虚:”我是做前端的,C语言不太懂,但Vibe上看着没问题。”
那一瞬间,我突然理解了什么叫”Vibe Coding”。
这段代码能编译,能运行,能输出,Vibe完美。你输入几个数,它确实会给你一个”最大值”。但那个”最大值”是不是真的最大值,你自己跑几个边界用例就知道了。
问题在哪?我不说。
你看得出来吗?
看得出来,你再说你会Vibe Coding。
看不出来——那就别Vibe了。先去把C语言最基础的东西翻出来,从头看起。
第二题:汇编
还是那个群。有人丢了一段x86汇编,说:”这是一道简单的逆向题,大家看看密钥是什么。”
代码不长,一个解密函数:
decrypt:
push ebp
mov ebp, esp
push esi
push ecx
mov esi, [ebp+8] ; 数据指针
mov ecx, [ebp+12] ; 长度
mov al, 0x5A ; 密钥
loop_start:
xor byte ptr [esi], al
mov al, [esi]
inc esi
dec ecx
jnz loop_start
pop ecx
pop esi
pop ebp
ret
群里又安静了三秒。
然后有人回复了:”这不就是个简单的异或解密吗?密钥0x5A,AI一跑就出来了。”
又有人回复:”对,我让GPT看了,它说这是一个标准的单字节异或循环,密钥是0x5A。”
还有人很谦虚:”我汇编不太熟,但Vibe上看着没问题,AI说的应该没错。”
那一瞬间,我突然理解了什么叫”Vibe逆向”。
这段汇编能跑,AI能分析,GPT能告诉你密钥是0x5A。但密钥真的是0x5A吗?你自己跟一遍寄存器就知道了。
问题在哪?我不说。
你看得出来吗?
看得出来,你再说你会逆向。
看不出来——那就别Vibe了。先去把汇编最基础的东西翻出来,从头看起。
最后
我不是反对AI辅助编程,也不是反对AI辅助逆向。用AI提效,完全没问题。
但工具是工具,你是你。
- AI可以帮你写代码,但不能替你理解代码
- AI可以帮你反汇编,但不能替你跟踪寄存器
- AI可以帮你生成一段看起来没问题的分析,但如果连这两段代码里的问题你都找不出来——
那问题不在AI。问题在你。
所以,下次你想说”我在Vibe Coding”或者”我会Vibe逆向”的时候,先看看这两段代码。
两道题,答案自己找。
找不出来,就别提你会Vibe Coding,更别说你会逆向。
AI救不了你。这点代码找不出问题,你不合适搞安全。
版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。














暂无评论内容