mw是什么单位| 七零年属什么生肖| 子宫肌瘤都有什么症状| 梦见女儿哭意味着什么| 喝红茶有什么好处和坏处| 云为什么不会掉下来| 叶子是什么意思| 拉肚子吃什么好| 九头鸟是什么意思| 鼻尖出汗是什么原因| 肝不好有些什么症状| 指甲白色是什么原因| 情难自禁是什么意思| 手指疣初期什么样子| hpv感染有什么症状| 对牛弹琴告诉我们什么道理| 月子里吃什么饭最好| 中医四诊指的是什么| 喉咙痛用什么药好得快| 腰椎间盘突出什么症状| 判决书什么时候生效| 吃什么容易瘦| hoka是什么牌子| 双氧水是什么东西| cma检测是什么| medium什么意思| 七月十七是什么星座| 蚂蚁属于什么动物| 冬瓜什么季节吃最好| 见红是什么意思| 呔是什么意思| 香米是什么米| 为什么合欢树又叫鬼树| 双肺纹理增强是什么意思| 身体出虚汗是什么原因| 变异性哮喘咳嗽吃什么药| 真菌感染皮肤病用什么药最好| 法兰绒是什么面料| 什么是沉香| 女人的逼什么样| 什么是心理健康| 拌嘴是什么意思| 有的没的是什么意思| 暴发火眼吃什么药| 扁桃体发炎吃什么药比较好| 沅字的寓意是什么| adh是什么| 月经结束一周后又出血是什么原因| 胸部正位片检查什么| 结局he是什么意思| 胃糜烂和胃溃疡有什么区别| 肾阳虚和肾阴虚有什么区别症状| o型血的孩子父母是什么血型| 学生证件号码是什么| 黄明胶是什么| 黄芪和枸杞泡水喝有什么作用| 老妈子是什么意思| 庶子什么意思| copd是什么病| hr是什么牌子| 先天性巨结肠有什么症状| 六一年属什么生肖| 蜻蜓点水是什么生肖| 发生什么事| 身份证照片穿什么颜色衣服| 阿尔兹海默症挂什么科| 大便有酸味是什么原因| 心灵手巧什么意思| 低钠有什么症状和危害| 剪刀是什么生肖| 农历12月26日是什么星座| 吴用的绰号是什么| 日字五行属什么| 痛风吃什么肉最好| 24属什么| 胸疼什么原因| 妊娠是什么意思| 可可尼女装什么档次| 拔牙后可以吃什么| 面包虫是什么| 天秤座和什么星座最配| 医院体检挂什么科| 头疼应该挂什么科| 胃反酸什么原因| 凌迟是什么意思| 梦见吃梨是什么意思| 蛋糕是什么生肖| 勃起是什么| max是什么意思| 梦见相亲是什么意思| 负重是什么意思| 喝什么茶去火| 胰岛素抵抗是什么意思| tap什么意思| 破釜沉舟的釜是什么意思| 省公安厅厅长什么级别| 失眠吃什么水果| 焦虑症是什么原因引起的| 卜卜脆是什么意思| 什么情况下安装心脏起搏器| 柏油是什么| 非均匀性脂肪肝是什么意思| 总胆红素是什么| 什么情况下做肾穿刺| 梦见打死猫有什么预兆| 见字如面什么意思| 迅速的反义词是什么| 夏季什么时候最热| 骨髓捐赠对自己有什么影响没有| 尿潜血1十是什么原因| cot是什么| 雅五行属什么| seeya是什么意思| 眼花视力模糊是什么原因引起的| 宰相相当于现在的什么官| 为什么拔罐肩膀最黑| 化疗为什么要剃光头| 想吃甜食是身体缺什么| 头发染什么颜色显皮肤白显年轻| 什么还珠成语| 我流是什么意思| 四平八稳是什么意思| dpm值是什么意思| 1999年是什么生肖| 菠菜补什么| 吃什么去湿气| qc是什么| 淋巴结炎挂什么科| 九夫痣是什么意思| 顾家什么意思| 经信局是做什么的| c肽是什么| 子午流注是什么意思| 条条框框是什么意思| lemaire是什么品牌| 皮肤松弛是什么原因造成的| 李元霸为什么怕罗士信| 桃胶有什么作用| eur是什么意思| 别名是什么意思| 四月十六是什么星座| 神经外科是看什么病的| 酸梅汤什么人不能喝| 股癣用什么药膏好得快| 什么什么动听| 喝什么去火| 天壤之别是什么意思| 7月25日是什么星座| 返聘是什么意思| 维生素d3吃多了有什么副作用| 蒌蒿是什么| eps是什么意思| 男生吃菠萝有什么好处| 什么的武松| ns是什么单位| 吃辣椒过敏是什么症状| 一个虫一个圣念什么| 胃食管反流吃什么中成药最好| buffalo是什么牌子| 曹操原名叫什么| 夏令时什么时候开始和结束| 天煞孤星是什么意思| 泼皮是什么意思| 什么是横纹肌肉瘤| 梦见死人什么意思| 仄怎么读什么意思| 子宫小有什么影响| 属鼠适合佩戴什么饰品| 纹身的人是什么心理| 八哥吃什么| 甲状腺应该挂什么科| 支气管舒张试验阳性说明什么| 为什么明星不激光祛斑| 乳腺增生的前兆是什么| 子宫切除对女人有什么影响| 梦见一个人代表什么| 慢性阑尾炎吃什么药好| 草鱼又叫什么鱼| 璟字五行属什么| 表哥的孩子叫我什么| 表虚不固是什么意思| 左心增大是什么意思| 拜土地公要准备什么东西| 香菜什么时候种植最好| 尿酸高吃什么食物| 词牌名什么意思| 耳朵为什么老是痒| 8月1日是什么节日| 咖啡喝多了有什么副作用| 多梦吃什么药效果最好| 嫐什么意思| 肝虚火旺吃什么中成药| 梦见摘桃子是什么意思| 马躺下睡觉为什么会死| 丑是什么库| 男生爱出汗是什么原因| 高压150低压100吃什么药| 怕热易出汗是什么原因| 滇红茶属于什么茶| 什么是幼小衔接| 1977年什么命| oc是什么意思| fred是什么牌子| 左侧卵巢多囊样改变什么意思| 升是什么意思| 疱疹是一种什么病| 什么的月亮| 蚕屎有什么作用和功效| 医生五行属什么| 北京属于什么方向| 妹妹你坐船头是什么歌| 麻豆是什么| 知趣是什么意思| 坚果补充什么营养成分| 厚黑学的精髓是什么| 先下手为强是什么意思| 2019是什么生肖| 鲁班是什么家| 过江龙是什么意思| 异国他乡的异是什么意思| 打完升白针有什么反应| daily什么意思| 总放屁还特别臭是什么原因| 七月二号是什么日子| 散步有什么好处| 舌头麻什么原因| 蜘蛛的血液是什么颜色| 梦见男婴儿是什么意思| 沙蒜是什么| 必要性是什么意思| 手臂有痣代表什么| 中暑什么症状表现| 虱子长什么样子| 烫伤抹什么管用| 浅绿色是什么颜色| 什么手机像素好| 检查是否怀孕挂什么科| 静脉曲张是什么| 全身酸痛吃什么药好| 白加黑是什么颜色| 开屏是什么意思| 什么是碳水| 附属医院是什么意思| 肌肉疼是什么原因| 茅根是什么| 斯什么意思| 神经元特异性烯醇化酶偏高是什么意思| 河南古代叫什么| 头孢不能和什么食物一起吃| 腰疼吃什么药好| 梦见借给别人钱是什么意思| 拔牙后吃什么食物最好| 退行性病变是什么意思| 王羲之兰亭序是什么字体| 汴去掉三点水念什么| 孩子疱疹性咽峡炎吃什么药| 便秘是什么意思| 早上喝一杯温开水有什么好处| 丁桂鱼吃什么食物| 女人得性瘾什么症状| 吴优为什么叫大胸姐| 给老人买什么礼物| 胱抑素c高是什么原因| 来例假喝红糖水有什么好处| 百度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]
白斑用什么药膏 高血压吃什么好降压快 群青色是什么颜色 天秤座是什么性格 演宋江的演员叫什么
一颗什么 营长是什么级别 颈椎压迫神经手麻吃什么药 牙龈化脓是什么原因 腱鞘炎有什么治疗方法
痛经吃什么好 女生是t是什么意思 肾结石什么原因引起的 蒲公英是什么样子 间接胆红素偏高是什么意思
杠杆炒股是什么意思 结婚9年是什么婚 女性口臭都是什么原因 代理是什么 coach是什么牌子的包
门口放镜子有什么讲究hcv7jop9ns5r.cn 615是什么星座hcv8jop8ns2r.cn 喝水就打嗝是什么原因hcv8jop6ns7r.cn 十二年义务教育什么时候实行travellingsim.com 承你吉言是什么意思hcv8jop5ns7r.cn
肝肿瘤不能吃什么bjcbxg.com 女人左眼跳是什么预兆hcv8jop5ns7r.cn 心率低于60说明什么hcv7jop5ns6r.cn 为什么会长黑痣hcv9jop2ns0r.cn 左眼皮一直跳是什么预兆hcv8jop2ns7r.cn
咳嗽吃什么食物好hcv8jop5ns7r.cn 耐克是什么牌子hcv7jop5ns2r.cn 胆囊结石吃什么食物好hcv8jop4ns7r.cn 新生儿什么时候可以喝水qingzhougame.com 胃痛吃什么药效果最好yanzhenzixun.com
谨守是什么意思hcv8jop5ns7r.cn 大姨妈是什么yanzhenzixun.com 西红柿什么时候成熟gangsutong.com 拔完牙吃什么消炎药hcv9jop2ns4r.cn 什么狗聪明xinmaowt.com
百度