你在混淆人羣中使用過的一些常見做法是什麼?我覺得有意思的是,對於不允許重寫的項目,這將是解決問題的更快,最有效的解決方案。通過混淆實踐的通用設計?
回答
我的收藏夾總是圍繞着變量......在代碼中留下不再使用的變量,然後給它們所有沒有意義的名稱。當然,如果你真的想混淆,你必須小心避免幾乎所有的約定。所以,最好的方法是使用兩個相似的變量,一個名爲myVar1,另一個名爲myVarOne。像這樣的東西...
另一個是包括只在代碼中可見的未使用的控件。我盯着一個ASP.NET網站,試圖弄清爲什麼FormView被放入它(好像沒有答案)。
我們有一個人,我們在一個文件夾call/kensington中使用商店文件來「隱藏」它們。它只包含了一些他不想看到的XML文件,並認爲人們不會在那裏看。
我和一位程序員一起工作,他曾經寫過非常複雜的條件,遇到時會調用一個簡單的系統。他在整個應用程序中都做過這麼幾次。仍然不知道爲什麼....
副作用,也許? – strager 2009-04-27 20:06:49
沒有或無用的註釋在代碼中沒有有用的文檔。
我曾經研究過perl代碼,其中作者決定讓大多數subs接收一個散列作爲變量,並返回與添加或刪除數據相同的散列。基本上,一個全局哈希用於通過不同的代碼路徑傳遞數據。
它看起來是這樣的:
my $hash =();
$hash->{'CUSTID'} = 1001;
$hash = GetAccounts($hash);
if ($hash->{'AccountTotal'} > 100) {
$hash = getTotals($hash);
$hash->{'Acct_Sbkt_Marker'} = 'R1';
$hash->{'Acct_Invr_Marker'} = 'BT';
$hash = removeInvalidAccount($hash);
}
爲了這一天,我想不出什麼設計模式,他是想用這個來實現。
我記得$hash
會排得很好。
在那裏,我在想,設計良好的代碼應該自行站起來閱讀,而不是破譯。
我明白,鼓勵關注混淆的人在其他環境中使用類似dotfuscator及其等價物的工具。儘管讓代碼更難以反編譯,但不僅僅是讓它變得很難處理,而是讓人感到困惑。
爲什麼有人會故意設計可怕的代碼(除了演示陷阱)超出了我。
- 1. has_many:通過混淆
- 2. 與has_many混淆:通過
- 3. Java設計混淆
- 4. 通過引用雙指針 - 混淆
- 5. 通過引用混淆C和GTK +?
- 6. 通過C#的類型轉換混淆
- 7. 通用設計通過XML
- 8. 通過javascript obfuscation混淆css文件
- 9. 通過NuGet混淆EntityFramework包含
- 10. 通過限制混淆MySQL訂單
- 11. Swift - 解繞Segue通過數據混淆
- 12. Spring MVC - Web應用程序設計通用實踐
- 13. c中的通用類混淆#
- 14. 封裝通用邏輯(域驅動設計,最佳實踐)
- 15. 混淆計算
- 16. EventHandler設計實踐
- 17. mysql:設計實踐
- 18. 最佳的實踐,通過HTML表單
- 19. 與servlet的設計相混淆
- 20. 通用C#最佳實踐
- 21. 關於通用有界通配符類型的混淆
- 22. 設計模式的混合是一個糟糕的實踐嗎?
- 23. 通過PHP設置html屬性的最佳實踐是什麼?
- 24. 關於通配圖案的混淆
- 25. Android中的推送通知混淆
- 26. jQuery通過Google CDN最佳實踐
- 27. Paginate通過PHP與MySQL最佳實踐?
- 28. PHP通過URL參數最佳實踐
- 29. 特殊情況下通過複製恢復調用混淆
- 30. 在Python中通過引用混淆列表傳遞
我不明白你的問題。混淆和想要重寫某些代碼之間的聯繫是什麼? – 2009-04-27 19:32:50
我的觀點是關於代碼是完全破壞的代碼,它使它變得模糊,我只想聽聽其他人的樂趣。 – 2009-04-27 19:34:37
可怕的事情是這些模式中的大部分都出現在產生這個問題的項目中。 – 2009-04-27 22:20:56