鱼C论坛

 找回密码
 立即注册
查看: 2077|回复: 8

有个源代码看不懂,说明原理

[复制链接]
发表于 2015-6-18 09:58:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 dt3tc 于 2015-6-18 11:57 编辑

酷壳看到的源代码,功能是输出"hello world",   但看不懂,求解说

  1.   #define _________ }
  2.     #define ________ putchar
  3.     #define _______ main
  4.     #define _(a) ________(a);
  5.     #define ______ _______(){
  6.     #define __ ______ _(0x48)_(0x65)_(0x6C)_(0x6C)
  7.     #define ___ _(0x6F)_(0x2C)_(0x20)_(0x77)_(0x6F)
  8.     #define ____ _(0x72)_(0x6C)_(0x64)_(0x21)
  9.     #define _____ __ ___ ____ _________
  10.     #include<stdio.h>
  11.     _____

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-6-18 10:28:28 | 显示全部楼层

回帖奖励 +1 鱼币

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-6-18 10:32:03 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-18 10:59:58 | 显示全部楼层
乱码大赛作品   就是替换替换在替换
给你的建议 直接无视
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-18 11:42:59 | 显示全部楼层
可是我想知道具体的原理
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-19 16:21:01 | 显示全部楼层
都是下划线很容易看晕 我换个符号
#define _1 }
#define _2 putchar
#define _3 main
#define _(a) _2(a);
#define _4 _3(){
#define _5 _4 _(0x48)_(0x65)_(0x6C)_(0x6C)
#define _6 _(0x6F)_(0x2C)_(0x20)_(0x77)_(0x6F)
#define _7 _(0x72)_(0x6C)_(0x64)_(0x21)
#define _8 _5 _6 _7 _1
#include<stdio.h>
_8
你从下往上替换一下 ,立马知道   好吧,我还是把最终代码写给你看吧
#include<stdio.h>
main()
{
        putchar(0x48);
        putchar(0x65);
        putchar(0x6C);
        putchar(0x6C);
        putchar(0x6F);
        putchar(0x2C);
        putchar(0x20);
        putchar(0x77);
        putchar(0x6F);
        putchar(0x72);
        putchar(0x6C);
        putchar(0x64);
        putchar(0x21);
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-19 16:23:48 | 显示全部楼层
不过这种代码在国内没什么意思,看看呵呵一下就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-19 23:40:06 | 显示全部楼层
可以用gcc查看预处理后的代码啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-22 10:22:11 | 显示全部楼层
小名明SIU 发表于 2015-6-19 16:21
都是下划线很容易看晕 我换个符号
#define _1 }
#define _2 putchar

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-20 04:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表