作者yellowfishie (喵喵喵喵~~~)
看板NTUGIEE_EDA
標題暗黑程式?
時間Tue Jun 13 07:09:17 2006
有沒有人有興趣把程式轉成讓人看不懂(不容易看懂),
但卻可以正確執行的?
就是把有意義的變數/函數名稱
轉成無意義的變數/函數名稱 (如 sum => xxx, answer => xxxx)
例如:
int main()
{
int s = sum(100);
return s;
}
int sum(int upper_bound)
{
int answer = 0;
for (int i = 1; i <= upper_bound; i++)
{ answer += i; }
return answer;
}
轉成:
int main()
{
int Xx = xXx(100);
return Xx;
}
int xXx(int xXXx)
{
int xxxXx = 0;
for (int x = 1; x <= xXXx; x++)
{ xxxXx += x; }
return xxxXx;
}
看起來用 lex 加亂數就可以達到。
多的額外功能: 建一個 symbol table, 進行加密/解密。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.220.92.244
1F:→ yellowfishie:把常數也換掉 const int xXXXx 100 06/13 07:10
2F:→ yellowfishie:加一些redundant function 混淆, int xXxx(int xXXx) 06/13 07:12
3F:推 ye11owfish:release 成 "dark router" 06/13 07:16
4F:→ ye11owfish:"X" router = = 06/13 07:17
5F:推 meifc:好像有程式可以直接轉?? 06/13 08:39
6F:推 moonshade:之前不是就有暗黑OOooOOOooOo 程式了... 06/13 10:32
7F:→ moonshade:你還可以用macro把其他syntax帶換掉 06/13 11:11
8F:推 gwliao:找compiler construction的tool來改, 很快就達到目的了. 06/13 14:26
9F:→ gwliao:我之前改過, 將C變成C. 把所有語法變成A=B op C 06/13 14:27
10F:→ gwliao:和IF-ELSE-GOTO的語法, 然後把所有symbol換成s加數字. 06/13 14:29
11F:→ gwliao:這樣很適合吧 XD 不過要轉行做compiler才會學到這些. :P 06/13 14:30