6个变态的C语言写的Hello World

本文提供了一系列加密后的C语言程序示例,包括输出Hello, World的不同实现方式,旨在展示如何使用预处理器指令和位运算等技巧来混淆源代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文仅供朋友们“消遣作乐”,能够看懂是为什么固然不错。看不懂也不必太过认真,如果你要觉得有意思的话,顶顶贴。如果你觉得没什么意思的话,一笑了之。仅供娱乐而已,不必太过认真。5 K1 S' z e' Z& ^9 J
' k" v; v- A$ @; c3 y

2 O( Q; ~6 _9 N% C5 W- p g ) L! i4 F+ J( Y0 C! O

0 U( _; q6 a* d% M6 @0 ?, a! {
& ]5 ], w! m/ /; o4 h 下面的六个程序 片段主要完成这些事情:! a# {1 j& c$ T: U

# L) ?, x: x9 q: J# a, ^( o& L1 V 输出Hello, World
- t1 @1 R. d* c) Z, C5 u# b 混乱C语言的源代码(加密 源代码,嘿嘿) 8 ?% h) |9 E4 {
下面的所有程序都可以在GCC下编译通过,只有最后一个需要动用C++的编译器g++才能编程通过。# T; ^: Z1 G+ G# /7 }
4 r( z+ k- S$ T8 q+ }% v$ z" |
hello1.c. H8 G) d6 k5 l9 q

$ J& d; n" m: ~9 K #define _________ }
# I, q5 P& ?( i #define ________ putchar
8 Y) d0 O: |9 E9 P #define _______ main& S0 n, l, m' S$ u# b& Q5 ^
#define _(a) ________(a);7 G, ]+ g8 a$ ~
#define ______ _______(){* Q" @0 e) S$ e* r( ^
#define __ ______ _(0x48)_(0x65)_(0x6C)_(0x6C)* K0 o1 Q* K) }7 `6 e8 y
#define ___ _(0x6F)_(0x2C)_(0x20)_(0x77)_(0x6F)8 L4 @1 q" E$ o
#define ____ _(0x72)_(0x6C)_(0x64)_(0x21)
# l6 ?( C/ M* s' n2 d #define _____ __ ___ ____ _________
7 /! a. h, }; J$ D' `. B9 [ #include <stdio.h>; m% T9 n. S9 v" b' [
_____
" }4 U1 g/ }/ _: b( t( I5 J
7 y, b1 O. {! [7 L5 e
( N( Z' E- i' O/ S hello2.c
( z8 K/ G$ G$ I
, e6 R" r: r8 ] #include <stdio.h>
4 C Q7 /4 ]8 h ^- r- h main(){* `* u9 L3 Q% C( [
int x=0,y[14],*z=&y;*(z++)=0x48;*(z++)=y[x++]+0x1D;
/& r, I V/ d' o2 Q *(z++)=y[x++]+0x07;*(z++)=y[x++]+0x00;*(z++)=y[x++]+0x03;2 K& z' c. ~/ ]; Y: B
*(z++)=y[x++]-0x43;*(z++)=y[x++]-0x0C;*(z++)=y[x++]+0x57;4 v) P; J1 R" p3 R9 n1 p
*(z++)=y[x++]-0x08;*(z++)=y[x++]+0x03;*(z++)=y[x++]-0x06;* U t7 M+ L1 E/ C- }, @
*(z++)=y[x++]-0x08;*(z++)=y[x++]-0x43;*(z++)=y[x]-0x21;: p/ h# P, A; Z8 G
x=*(--z);while(y[x]!=NULL)putchar(y[x++]);$ i' ?. `2 S+ m$ k, ]# }* b
}
) T; n4 p+ b& D: A1 D3 I hello3.c. Z) ]) e# s2 B
7 [2 s. d( Z: R
#include <stdio.h>' X+ I/ D( g$ u+ _# F" G/ k" N
#define __(a) goto a;
& a& S7 Z. p' _: ] #define ___(a) putchar(a);
4 /" l1 M" [* r8 Z0 J #define _(a,b) ___(a) __(b);
! /- B: @4 g# j3 Z& k main()1 V& m0 a9 R5 K$ r, c
{ _:__(t)a:_('r',g)b:_('$',p)
5 l# [, N! J$ n+ h8 C' j1 f" k c:_('l',f)d:_(' ',s)e:_('a',s)
" F& g8 d# [" V) ^4 y" H- c( Q f:_('o',q)g:_('l',h)h:_('d',n)
) p' L; Y, s& u( D- W i:_('e',w)j:_('e',x)k:_('/n',z)( d) j8 /( _% y' Y. u5 ]
l:_('H',l)m:_('X',i)n:_('!',k)* M( k- L3 }: c5 N) F q- w
o:_('z',q)p:_('q',b)q:_(',',d)' J& w; V) d% F) @3 Z
r:_('i',l)s:_('w',v)t:_('H',j)
- y9 N! c6 y# r2 R" M. j u:_('a',a)v:_('o',a)w:_(')',k)
H3 _' Z1 u ^" X x:_('l',c)y:_('/t',g)z:___(0x0)}
/ Y$ o" }9 ?0 x& H hello4.c, g2 C/ B/ j$ X5 G1 }# y
" J; i- Z$ U0 c0 o. U1 p/ V8 W
int n[]={0x48,( F7 {6 J( t( ?" w$ q1 A5 ?
0x65,0x6C,0x6C,
; J% `( I, T# a5 s7 q. w 0x6F,0x2C,0x20,8 }/ M4 k# j. N, p' F
0x77,0x6F,0x72,
+ V- D; s" P, T- F/ O8 ?4 B! d 0x6C,0x64,0x21,
0 V, f) P% U, W6 [( Y' ^ 0x0A,0x00},*m=n;
$ d3 G' @1 b6 ~7 Q main(n){putchar
5 b J( M8 X# [. o# E% ?: z (*m)!='/0'?main0 M) x9 |' s& E$ g h* F! t
(m++):exit(n++);}
8 U0 Z ]$ p* T+ C5 N9 E hello5.c
) Z* T, L0 L, H& @9 ^ 9 B2 Z' N, v* b3 i. e. h' [
main(){int i,n[]={(((1<<1)<<(1<<1)<<(1<<
- F; c. Z# M, K' /( ?) H 1)<<(1<<(1>>1)))+((1<<1)<<(1<<1))), (((1
# t6 Q, W) F- I2 L9 g <<1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<<(9 D3 K9 ~! f+ ]9 T9 W- x0 a
1<<1)<<(1<<1))+((1<<1)<<(1<<(1>>1)))+ (10 W5 o) L0 J$ u, [
<<(1>>1))),(((1<<1)<<(1<<1)<<(1<<1)<< (15 h" G. V2 e! E8 K& o
<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1)))- ((1
& y5 N7 F: b/ C' D( G5 q: W <<1)<<(1<<(1>>1)))),(((1<<1)<<(1<<1)<<(15 [/ v [1 ]0 i7 d9 q2 P% c
<<1)<<(1<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1" w5 g1 m9 `6 y- a
)))-((1<<1)<<(1<<(1>>1)))),(((1<<1)<< (1' H8 q% J, l8 K/ Z' @' ]" [4 H! d& A
<<1)<<(1<<1)<<(1<<1))-((1<<1)<<(1<<1)<<(
6 k* W' L5 s- B4 B4 T. T9 z# X 1<<(1>>1)))-(1<<(1>>1))),(((1<<1)<<(1<<1
9 @7 P& `) m7 s. R4 A )<<(1<<1))+((1<<1)<<(1<<1)<<(1<<(1>>1)))5 a/ k) s# R1 c9 v5 `- j7 y6 Y
-((1<<1)<<(1<<(1>>1)))),((1<<1)<< (1<<1)
* G1 Z4 `' O! E <<(1<<1)),(((1<<1)<<(1<<1)<<(1<<1)<<(1<<
# B4 [' _: _! z1 d }+ n 1))-((1<<1)<<(1<<1))-(1<<(1>>1))),(((1<<; j$ x; c6 J2 V" ^
1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<< (1; I0 o' H( z0 ^$ z( j
<<1)<<(1<<(1>>1)))-(1<<(1>>1))), (((1<<1
. o9 z" J, Y8 ~" _- k+ W )<<(1<<1)<<(1<<1)<<(1<<1))- ((1<<1)<< (1
4 M& o" E! H+ B: T& b <<1)<<(1<<(1>>1)))+(1<<1)), (((1<<1)<< (' n5 A9 U1 a4 S/ k3 f' a* L: ~) W' f
1<<1)<<(1<<1)<< (1<<1))-((1<<1)<< (1<<1)
/ |! u: S% U; G0 q6 R <<(1<<(1>>1)))-((1<<1) <<(1<< (1>>1)))),0 e3 F- W7 j r/ M
(((1<<1)<< (1<<1)<<(1<<1)<< (1<<1))- ((1
% q; c# s+ p: v2 K <<1)<<(1<<1)<<(1<<1))+((1<<1)<< (1<<(1>># B& D6 K4 M! B7 g( p1 e
1)))), (((1<<1)<<(1<<1) <<(1<<1))+(1<<(11 I( G8 t5 Q. P" |! /5 M) @7 ?
>>1))),(((1<<1)<<(1<<1))+((1<<1)<< (1<<(
* A3 P" W- X$ S, n, W 1>>1))) + (1<< (1>>1)))}; for(i=(1>>1);i
8 ^. X* M$ y2 `7 T <(((1<<1) <<(1<<1))+((1 <<1)<< (1<<(1>>1$ I' j. M) z. G3 t
))) + (1<<1)); i++) printf("%c",n); }; H3 r( Z* a3 i: ?
hello6.cpp+ X+ g* Y' }# @
2 c1 V' Y) ] U0 T& J
下面的程序只能由C++的编译器编译(比如:g++)
# ]+ r: _; ^( |' ?3 ~- m$ M# A0 c
6 [+ J& p) M; o" `, P #include <stdio.h>/ L8 L, @; C: W) R) v8 f3 M4 C8 S
#define _(_) putchar(_);1 ~% w, X# b6 e6 K
int main(void){int i = 0;_(
/ I$ n3 l" C3 T1 m, L! P) w9 Y. g ++++++++++++++++++++++++++++! G5 s: g" /& A) j E3 M; Q
++++++++++++++++++++++++++++
; O, Y7 P. j1 [5 B# a6 E1 /5 a ++++++++++++++++++++++++++++* G$ w6 @) z5 j) E2 d) Q9 w$ r0 B
++++++++++++++++++++++++++++
0 n1 g/ m8 V; R. @/ D | ++++++++++++++++++++++++++++! z5 U: k O9 T2 d! o% v' F
++++i)_(++++++++++++++++++++1 c5 z! ^ B* B2 e6 @6 [
++++++++++++++++++++++++++++. T7 C2 I6 k5 /+ n
++++++++++i)_(++++++++++++++
& N2 N. p' @1 k. a- z i)_(--++i)_(++++++i)_(------
/ _. O' Y+ ^/ Q0 } ----------------------------
% s! x+ Y+ S* U) S w# J6 X* e* @ ----------------------------
8 h6 q: Q) s' Z. P ----------------------------- e9 {$ O8 S) ?) L/ h2 Q
----------------------------( q) C) p2 u# n5 E) F
----------------i)_(--------
+ k- _3 O, w( g/ ^ ----------------i)_(++++++++8 O5 L% K- t3 Z }( ], u( /3 D
++++++++++++++++++++++++++++
. `0 A1 h1 o; D, ~& X ++++++++++++++++++++++++++++
5 Z: d+ M" Q. d3 q; B5 x ++++++++++++++++++++++++++++' N" E, b" V9 e' S N& z
++++++++++++++++++++++++++++( F' /4 f& J" R& h& k8 I6 o8 H
++++++++++++++++++++++++++++( o) w2 G1 ~4 A Z
++++++++++++++++++++++++++i)
# z9 h5 n; k8 W+ n I5 D _(----------------i)_(++++++3 D: o% t u( u% z
i)_(------------i)_(--------
]" r4 m; M4 f" G --------i)_(----------------+ i& {8 u7 U* W+ I4 T
----------------------------) }% d( M T3 u/ W4 x
----------------------------1 Y# I/ T, Q1 U) p! y. f1 P
----------------------------
0 v* H+ k% Y/ m* t( v3 C: { ----------------------------
# G4 _, L) P7 J1 @( n( ~: j0 p ------i)_(------------------
4 }4 N- |$ h' Q" y2 h* E ----------------------------8 i5 H3 g/ D, i3 x9 o: w8 }
i)return i;}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值