什么颜色代表水| 尿道灼热感吃什么药| 尿频尿急尿痛吃什么药| 得宝松是什么药| 检查膝盖挂什么科| 打嗝放屁多是什么原因| 一级亲属指的是什么| 9年是什么婚| 男怕穿靴女怕戴帽什么意思| 红茶属于什么茶| 江西简称是什么| 连续打喷嚏是什么原因| 我要的是什么| 勃起困难是什么原因造成的| 银屑病吃什么药| 乙酰氨基酚是什么药| 双肾盂分离是什么意思| 代谢不好吃什么药| 莱特兄弟发明了什么| 名媛是什么| 吃猪肝有什么好处| 什么寒什么冻| 男人要的归属感是什么| 美味佳肴是什么意思| 乳房变大是什么原因| 回声增强什么意思| 脚肿是什么原因引起的| 朋友圈屏蔽显示什么| 怎么知道自己五行属什么| 浮白是什么意思| 北瓜是什么瓜| 子弟是什么意思| 飞蚊症滴什么眼药水| 陶渊明是什么先生| 猫上门为什么不能赶走| 巧囊是什么原因形成的| 怀孕失眠是什么原因| 芥子是什么| 淋巴组织增生是什么意思| 一什么枣| 白色的鱼是什么鱼| 肾结石吃什么药| 饱和脂肪酸是什么意思| 低筋面粉可以用什么代替| 7月24是什么星座| 什么是绩效工资| 县长属于什么级别| 上海什么时候解放的| 白细胞低吃什么食物好| 什么什么不生| 990金是什么金| 备孕需要做什么| 微量蛋白尿高说明什么| 什么动物最安静| 蝙蝠是什么变的| 小肠换气吃什么药| 带状疱疹是什么样的| 日月星辰是什么意思| 什么是回迁房| 支气管疾患是什么意思| 什么食物嘌呤高| 什么叫管状腺瘤| 季昌明是什么级别| 肺炎是什么| o型血和b型血生的孩子是什么血型| 男人身体虚吃什么补| 圣女果是什么水果| 正月开什么花| 更年期吃什么药| 冤家路窄是什么生肖| 景字属于五行属什么| 什么办法退烧快| 羊和什么属相最配| 鳕鱼是什么鱼| 尿毒清颗粒主治什么病| 中蛊什么意思| 2021是什么年| 平均血小板体积偏低是什么意思| 巨蟹跟什么星座最配| 看情况是什么意思| 背包客是什么意思| 卵巢囊性回声什么意思| 造影手术是什么意思| 比宇宙还大的是什么| 吃葡萄有什么好处| 显赫是什么意思| 心绞痛吃什么药缓解最快| 水浒传有什么故事| 滑膜炎是什么原因引起的| hsv是什么病毒| 去香港澳门旅游需要准备什么| ct挂号挂什么科| 什么萌| 头晕想吐是什么原因| 蒙奇奇是什么动物| 什么原因导致胎停| 苦瓜泡水喝有什么功效和作用| 被老鼠咬了打什么疫苗| 部长助理是什么级别| 飞机杯什么意思| 为什么要分手| 心火旺失眠吃什么药| 错过是什么意思| 12月3日什么星座| 公安局局长什么级别| 圣人是什么意思| 土豆不能和什么一起吃| 运动后喝什么饮料最好| 什么四海| 霸王硬上弓什么意思| 黛力新是什么药| 大姨妈为什么会推迟| 十一月十一号是什么星座| 8月份是什么星座| 遇上方知有什么意思| 氨气是什么| 谷丙转氨酶高挂什么科| 国士无双是什么意思| 后背疼挂什么科| 血糖高能喝什么粥| 麸炒是什么意思| 痔疮挂什么科| 什么是遗精| 丙肝有什么症状表现| 姑姑的孩子叫什么| 什么东西越生气越大| 辣椒是什么生肖| 鲸鱼属于什么类动物| 吃维生素b2有什么好处和副作用| 什么清什么白| 拉缸是什么意思| 臭虫长什么样| 新店开业送什么好| 什么是党的根本大法| 肝脏钙化灶什么意思| 煲电话粥什么意思| 什么人适合学玄学| 内外兼修是什么意思| nc是什么| 眼肿是什么原因引起的| 胃属于什么科室| 来月经前有褐色分泌物是什么原因| 升天是什么意思| 高频听力损失意味什么| 罗贯中和施耐庵是什么关系| 山楂和什么不能一起吃| 男人说做朋友代表什么| 什么是跨境电商| 八月二号是什么星座| 榆字五行属什么| 五台山是求什么的| 割包皮是什么| 马牛羊鸡犬豕中的豕指的是什么| 什么是钙化结节| 益生菌有什么功效| 为什么磨牙| 眼睛长眼屎是什么原因| 泉肌症是什么病| 嘴巴经常长溃疡是什么原因| 乌鸡不能和什么一起吃| tmd是什么意思| 阑尾炎疼吃什么药| 畸胎瘤是什么病严重吗| 团粉是什么| 长沙有什么学校| 蓬蒿人是什么意思| 弟弟的女儿叫什么| 不什么| 梦见洗车是什么意思| 气虚吃什么中成药| 凌晨1点是什么时辰| seiko是什么牌子| 性张力什么意思| 癣用什么药膏| 掉以轻心是什么意思| 急性腮腺炎吃什么药| 集少两撇是什么字| md是什么学位| 本自具足是什么意思| 支原体弱阳性是什么意思| RH是什么| 生理期不能吃什么水果| 人参归脾丸适合什么人吃| 有什么奇怪| 白虎是什么| 硼酸是什么| 实质性是什么意思| 奢华是什么意思| 糖宝是什么意思| 肚脐下方硬硬的是什么| 月经不来挂什么科| 一节黑一节白是什么蛇| 南京为什么叫金陵| 蚕豆病不能吃什么| 什么方法避孕最安全有效| 枸杞对女人有什么好处| 吴优为什么叫大胸姐| 乳腺结节是什么原因引起的| c2m模式是什么意思| 吃桑葚对身体有什么好处| 什么是规培| 一什么湖面| 锐字五行属什么| 空调滤芯什么牌子好| 好好好是什么语气| 高血钾有什么症状| 龋齿是什么意思| 八方来财是什么意思| 双相情感障碍吃什么药| 征文是什么| 屎特别臭是什么原因| 女孩子学什么专业好| 蔡英文是什么党| 肠炎可以吃什么水果| 有机会是什么意思| 男生为什么喜欢摸胸| 牡丹鹦鹉吃什么| 牙龈肿吃什么药| 女性分泌物增多发黄是什么原因| 眼睛有重影是什么原因| 林冲到底属什么生肖的| 是什么日子| 十三太保什么意思| 钙盐沉积是什么意思| 减肥期间早餐应该吃什么| 反复呕吐是什么病症| 阿玛尼手表算什么档次| 汽车abs是什么意思| 大便隐血弱阳性是什么意思| 肝火吃什么药| 肝在五行中属什么| 大量出汗是什么原因| 七星瓢虫吃什么食物| 免疫力低会引起什么病| 经是什么意思| 地软有什么功效和作用| 脚趾头抽筋是什么原因引起的| 肾积水挂什么科室| 中国第一长河是什么河| 什么鱼有毒| 淋巴排毒是什么意思| 海水是什么颜色的| 腿肿挂什么科| 狗有眼屎是什么原因| 皮肤偏黄适合穿什么颜色的衣服| 肛周湿疹挂什么科| 向晚的意思是什么| 路虎为什么叫奇瑞路虎| 信佛有什么好处| 萎缩性阴道炎用什么药| 热疙瘩用什么药膏| d二聚体高是什么意思| 农历十月是什么月| 湖北古代叫什么| 圣诞节适合送什么礼物| 晚上蝴蝶来家什么预兆| 丙酮是什么| 十一月份什么星座| 适得其反是什么意思| 肉松可以做什么美食| 1223是什么星座| 什么是红斑狼疮| 乳痈是什么意思| 月球是地球的什么| 百度Jump to content

楼市新政背后的“人才经”:让人才在珠海安居

From Wikipedia, the free encyclopedia
百度 特别是,苏宁易购直营店经营效益显现,可比店面销售收入同比增长%。

In software development, obfuscation is the practice of creating source or machine code that is intentionally difficult for humans or computers to understand. Similar to obfuscation in natural language, code obfuscation may involve using unnecessarily roundabout ways to write statements. Programmers often obfuscate code to conceal its purpose, logic, or embedded values. The primary reasons for doing so are to prevent tampering, deter reverse engineering, or to create a puzzle or recreational challenge to deobfuscate the code, a challenge often included in crackmes. While obfuscation can be done manually, it is more commonly performed using obfuscators.[1]

Overview

[edit]

The architecture and characteristics of some languages may make them easier to obfuscate than others.[2][3] C,[4] C++,[5][6] and the Perl programming language[7] are some examples of languages easy to obfuscate. Haskell is also quite obfuscatable[8] despite being quite different in structure.

The properties that make a language obfuscatable are not immediately obvious.

Techniques

[edit]

Types of obfuscations include simple keyword substitution, use or non-use of whitespace to create artistic effects, and self-generating or heavily compressed programs.

According to Nick Montfort, techniques may include:

  1. naming obfuscation, which includes naming variables in a meaningless or deceptive way;
  2. data/code/comment confusion, which includes making some actual code look like comments or confusing syntax with data;
  3. double coding, which can be displaying code in poetry form or interesting shapes.[9]

Automated tools

[edit]

A variety of tools exist to perform or assist with code obfuscation. These include experimental research tools developed by academics, hobbyist tools, commercial products written by professionals, and open-source software. Additionally, deobfuscation tools exist, aiming to reverse the obfuscation process.

While most commercial obfuscation solutions transform either program source code or platform-independent bytecode, i.e. portable code (as used by Java and .NET), some also work directly on compiled binaries.

Recreational

[edit]

Writing and reading obfuscated source code can be a brain teaser. A number of programming contests reward the most creatively obfuscated code, such as the International Obfuscated C Code Contest and the Obfuscated Perl Contest.

Short obfuscated Perl programs may be used in signatures of Perl programmers. These are JAPHs ("Just another Perl hacker").[16]

Cryptographic

[edit]

Cryptographers have explored the idea of obfuscating code so that reverse-engineering the code is cryptographically hard. This is formalized in the many proposals for indistinguishability obfuscation, a cryptographic primitive that, if possible to build securely, would allow one to construct many other kinds of cryptography, including completely novel types that no one knows how to make. (A stronger notion, black-box obfuscation, is known to be impossible in general.)[17][18]

Disadvantages of obfuscation

[edit]
  • While obfuscation can make reading, writing, and reverse-engineering a program difficult and time-consuming, it will not necessarily make it impossible.[19]
  • It adds time and complexity to the build process for the developers.
  • It can make debugging issues after the software has been obfuscated extremely difficult.
  • Once code is no longer maintained, hobbyists may want to maintain the program, add mods, or understand it better. Obfuscation makes it hard for end users to do useful things with the code.
  • Certain kinds of obfuscation (i.e. code that isn't just a local binary and downloads mini binaries from a web server as needed) can degrade performance and/or require Internet.

Notifying users of obfuscated code

[edit]

Some anti-virus softwares, such as AVG AntiVirus,[20] will also alert their users when they land on a website with code that is manually obfuscated, as one of the purposes of obfuscation can be to hide malicious code. However, some developers may employ code obfuscation for the purpose of reducing file size or increasing security. The average user may not expect their antivirus software to provide alerts about an otherwise harmless piece of code, especially from trusted corporations, so such a feature may actually deter users from using legitimate software.

Mozilla and Google disallow browser extensions containing obfuscated code in their add-ons store.[21][22]

Obfuscation and copyleft licenses

[edit]

There has been debate on whether it is illegal to skirt copyleft software licenses by releasing source code in obfuscated form, such as in cases in which the author is less willing to make the source code available. The issue is addressed in the GNU General Public License by requiring the "preferred form for making modifications" to be made available.[23] The GNU website states "Obfuscated 'source code' is not real source code and does not count as source code."[24]

Decompilers

[edit]

A decompiler is a tool that can reverse-engineer source code from an executable or library. This process is sometimes referred to as a man-in-the-end (mite) attack, inspired by the traditional "man-in-the-middle attack" in cryptography. The decompiled source code is often hard to read, containing random function and variable names, incorrect variable types, and logic that differs from the original source code due to compiler optimizations.

Model obfuscation

[edit]

Model obfuscation is a technique to hide the internal structure of a machine learning model.[25] Obfuscation turns a model into a black box. It is contrary to explainable AI. Obfuscation models can also be applied to training data before feeding it into the model to add random noise. This hides sensitive information about the properties of individual and groups of samples.[26]

See also

[edit]

References

[edit]
  1. ^ "What is obfuscation (obfu)? - Definition from WhatIs.com". SearchSoftwareQuality. Archived from the original on February 2, 2019. Retrieved February 1, 2019.
  2. ^ Binstock, Andrew (March 6, 2003). "Obfuscation: Cloaking your Code from Prying Eyes". Archived from the original on April 20, 2008. Retrieved November 25, 2013.
  3. ^ Atwood, Jeff (May 15, 2005). "Jeff Atwood, May 15, 2005". Codinghorror.com. Archived from the original on January 9, 2010. Retrieved November 25, 2013.
  4. ^ "Obfuscation". Kenter.demon.nl. Archived from the original on March 4, 2016. Retrieved November 25, 2013.
  5. ^ "C++ Tutorials – Obfuscated Code – A Simple Introduction". DreamInCode.net. Archived from the original on June 28, 2008. Retrieved November 25, 2013.
  6. ^ "C Tutorials – Obfuscated Code in C". July 7, 2011. Archived from the original on December 27, 2013. Retrieved November 25, 2013.
  7. ^ As of 2025-08-06 18:22 GMT. "Pe(a)rls in line noise". Perlmonks.org. Archived from the original on January 16, 2009. Retrieved November 25, 2013.{{cite web}}: CS1 maint: numeric names: authors list (link)
  8. ^ "Obfuscation – Haskell Wiki". February 16, 2006. Archived from the original on August 30, 2017. Retrieved March 3, 2020.
  9. ^ Montfort, Nick. "Obfuscated code" (PDF). Archived from the original (PDF) on April 24, 2019. Retrieved November 24, 2017.
  10. ^ Ben Kurtovic. "Obfuscating "Hello world!"". benkurtovic.com. Archived from the original on September 14, 2017. Retrieved October 18, 2017.
  11. ^ "Obfuscated Python". wiki.c2.com. Archived from the original on February 14, 2017. Retrieved October 18, 2017.
  12. ^ "The First Annual Obfuscated Python Content". code.activestate.com. Archived from the original on May 25, 2023. Retrieved October 18, 2017.
  13. ^ domas (November 3, 2022), xoreaxeaxeax/movfuscator, archived from the original on November 12, 2022, retrieved November 5, 2022
  14. ^ Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas, September 25, 2015, archived from the original on October 21, 2022, retrieved November 5, 2022
  15. ^ Williams, Al (March 21, 2021). "One Instruction To Rule Them All: C Compiler Emits Only MOV". Hackaday. Retrieved October 23, 2023.
  16. ^ "JAPH – Just Another Perl Hacker". pm.org. Perl Mongers. Archived from the original on May 16, 2013. Retrieved February 27, 2015.
  17. ^ "Cryptography Breakthrough Could Make Software Unhackable". Wired. ISSN 1059-1028. Archived from the original on April 14, 2022. Retrieved March 14, 2021.
  18. ^ Jain, Aayush; Lin, Huijia; Sahai, Amit (2020). "Indistinguishability Obfuscation from Well-Founded Assumptions". Cryptology ePrint Archive. arXiv:2008.09317. Archived from the original on March 3, 2022. Retrieved March 14, 2021.
  19. ^ ""Can We Obfuscate Programs?" by Boaz Barak". Math.ias.edu. Archived from the original on March 23, 2016. Retrieved November 25, 2013.
  20. ^ "Blocking website and only way to fix is disabling HTTPS s... | AVG". support.avg.com. July 21, 2020. Archived from the original on February 4, 2022. Retrieved February 4, 2022.
  21. ^ at 05:01, Thomas Claburn in San Francisco 2 Oct 2018. "Google taking action against disguised code in Chrome Web Store". www.theregister.co.uk. Archived from the original on November 12, 2019. Retrieved November 12, 2019.{{cite web}}: CS1 maint: numeric names: authors list (link)
  22. ^ Cimpanu, Catalin. "Mozilla announces ban on Firefox extensions containing obfuscated code". ZDNet. Archived from the original on March 5, 2020. Retrieved November 12, 2019.
  23. ^ "Reasoning behind the "preferred form of the work for making modifications to it" language in the GPL". Lwn.net. Archived from the original on December 2, 2013. Retrieved November 25, 2013.
  24. ^ "What is free software?". gnu.org. Archived from the original on October 14, 2013. Retrieved December 18, 2014.
  25. ^ Zhou, Mingyi; Gao, Xiang; Wu, Jing; Grundy, John C.; Chen, Xiao; Chen, Chunyang; Li, Li (2023). "Model Obfuscation for Securing Deployed Neural Networks". {{cite journal}}: Cite journal requires |journal= (help)
  26. ^ Zhang, Tianwei; He, Zecheng; Lee, Ruby B. (July 12, 2018). "Privacy-preserving Machine Learning through Data Obfuscation". arXiv:1807.01860 [cs.CR].

Further reading

[edit]
[edit]
女性尿道口有小疙瘩是什么原因 3月23日什么星座 小火龙吃什么 脂肪由什么组成 魄力是什么意思
什么的西瓜 什么情况下要打破伤风 吃牛肉有什么好处 米干是什么 刀伤用什么药愈合最快
特别嗜睡是什么原因 baumwolle是什么面料 什么是高情商 锐字五行属什么 肝火旺盛喝什么茶
黄芪治什么病 虚岁27岁属什么生肖 尿酸是什么 痔疮为什么会痒 类风湿吃什么药
栩是什么意思hcv9jop5ns3r.cn 乙酰氨基酚片是什么药hcv9jop4ns6r.cn 什么体质容易高原反应hcv9jop4ns1r.cn normal是什么意思hcv8jop7ns6r.cn 笔画最多的字是什么wzqsfys.com
晚上9点到11点是什么时辰hcv9jop8ns0r.cn 水瓶座的幸运色是什么颜色hcv7jop9ns3r.cn 孕妇缺铁对胎儿有什么影响hcv7jop6ns2r.cn 雷替斯和优甲乐有什么区别hcv7jop9ns7r.cn 草包是什么意思hcv9jop1ns1r.cn
女人梦见烧纸什么预兆hcv8jop5ns7r.cn 金水宝胶囊有什么作用hcv8jop8ns6r.cn 停休是什么意思hcv8jop5ns5r.cn 利巴韦林是什么药hcv7jop5ns0r.cn 翼龙吃什么食物adwl56.com
早泄有什么办法hcv8jop8ns3r.cn 宫颈息肉是什么原因引起的hcv8jop6ns2r.cn 天灵盖是什么意思hcv9jop0ns1r.cn 黄雀是什么鸟hcv9jop5ns9r.cn 胆管炎是什么原因引起的hcv9jop7ns5r.cn
百度