Knowledge

Obfuscation (software)

Source πŸ“

326:, 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. 120: 1523: 364:". It puts source code in the hands of the user, although this source code is often difficult to read. The source code is likely to have random function and variable names, incorrect variable types, and use different logic than the original source code (due to compiler optimizations). 288:, 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, 383:. 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. 176:
A variety of tools exist to perform or assist with code obfuscation. These include experimental research tools created by academics, hobbyist tools, commercial products written by professionals, and
348:
by requiring the "preferred form for making modifications" to be made available. The GNU website states "Obfuscated 'source code' is not real source code and does not count as source code."
310:
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.
360:
can reverse-engineer source code from an executable or library. Decompilation is sometimes called a man-in-the-end (mite) attack, based on the traditional cryptographic attack known as "
1375: 1151: 313:
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.
77:
or recreational challenge for someone reading the source code. This can be done manually or by using an automated tool, the latter being the preferred technique in industry.
150:
Types of obfuscations include simple keyword substitution, use or non-use of whitespace to create artistic effects, and self-generating or heavily compressed programs.
1287: 724: 344:
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
1348: 301:
While obfuscation can make reading, writing, and reverse-engineering a program difficult and time-consuming, it will not necessarily make it impossible.
183:
Although the majority of commercial obfuscation solutions work by transforming either program source code, or platform-independent bytecode as used by
1128: 683: 492: 1417: 1106: 765: 65:, it may use needlessly roundabout expressions to compose statements. Programmers may deliberately obfuscate code to conceal its purpose ( 594: 200: 1354: 1143: 630: 974: 1961: 1041: 1075: 542: 817: 240: 928: 903: 661: 1938: 515: 1294: 1261:
Zhang, Tianwei; He, Zecheng; Lee, Ruby B. (July 12, 2018). "Privacy-preserving Machine Learning through Data Obfuscation".
731: 1969: 881: 854: 1381: 1203: 1410: 568: 1901: 164:
data/code/comment confusion, which includes making some actual code look like comments or confusing syntax with data;
1697: 1317: 458: 285: 271: 795: 701: 2005: 1951: 17: 1019: 101: 1995: 1764: 1403: 1177: 616: 408: 196: 131: 1314:
Proceedings of the 6th Digital Arts and Culture Conference, IT University of Copenhagen, 1–3 December 2005
1956: 1877: 1677: 184: 1933: 1891: 1547: 463: 345: 66: 1174:"Reasoning behind the "preferred form of the work for making modifications to it" language in the GPL" 484: 85:
The architecture and characteristics of some languages may make them easier to obfuscate than others.
1794: 1512: 453: 438: 1247: 1098: 1779: 1657: 1552: 418: 361: 259: 221: 210: 86: 757: 329:
Mozilla and Google disallow browser extensions containing obfuscated code in their add-ons store.
280:
Cryptographers have explored the idea of obfuscating code so that reverse-engineering the code is
69:) or its logic or implicit values embedded in it, primarily, in order to prevent tampering, deter 1867: 1819: 1482: 244: 1225:
Zhou, Mingyi; Gao, Xiang; Wu, Jing; Grundy, John C.; Chen, Xiao; Chen, Chunyang; Li, Li (2023).
1908: 1642: 1234: 433: 289: 275: 634: 2000: 1928: 1840: 1789: 1734: 1602: 1575: 1557: 1455: 1426: 1390: 958: 428: 239:. A number of programming contests reward the most creatively obfuscated code, such as the 177: 97: 42: 1522: 877:
Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas
8: 1712: 1487: 1445: 1290:, 17th National Computer Conference, Sharif University of Technology, Tehran, Iran, 2012. 1045: 997: 443: 70: 1067: 825: 546: 307:
It can make debugging issues after the software has been obfuscated extremely difficult.
1896: 1824: 1729: 1262: 1009: 161:
naming obfuscation, which includes naming variables in a meaningless or deceptive way;
1944: 1702: 1637: 1587: 1534: 1492: 1440: 1122: 966: 677: 610: 413: 180:. Deobfuscation tools also exist that attempt to perform the reverse transformation. 1293:
B. Barak, O. Goldreich, R. Impagliazzo, S. Rudich, A. Sahai, S. Vadhan and K. Yang.
936: 1913: 1853: 1617: 1607: 1502: 657: 423: 376: 341: 62: 1804: 1784: 1682: 1507: 1497: 1370: 519: 255: 167:
double coding, which can be displaying code in poetry form or interesting shapes.
1974: 1872: 1722: 1672: 1647: 1612: 1592: 1472: 1460: 398: 380: 1226: 1199: 875: 848: 130: with: explaining more obfuscation techniques in general. You can help by 107:
The properties that make a language obfuscatable are not immediately obvious.
1989: 1884: 1845: 1814: 1809: 1662: 1652: 1622: 1366: 970: 403: 323: 154: 572: 1918: 1774: 1477: 236: 54: 1858: 1692: 1667: 1632: 1467: 1301:, Santa Barbara, California, USA. Springer Verlag LNCS Volume 2139, 2001. 448: 58: 50: 28: 1306: 1144:"Mozilla announces ban on Firefox extensions containing obfuscated code" 119: 1923: 1739: 1687: 1570: 1450: 1395: 787: 697: 357: 104:
is also quite obfuscatable despite being quite different in structure.
1799: 1754: 1749: 1597: 1565: 393: 379:
model. Obfuscation turns a model into a black box. It is contrary to
1359: 1068:"Blocking website and only way to fix is disabling HTTPS s... | AVG" 1001: 304:
It adds time and complexity to the build process for the developers.
1759: 1717: 1580: 1267: 1173: 1014: 907: 338: 213: 1307:"A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics" 1769: 1744: 1707: 1360:
Yury Lifshits. Lecture Notes on Program Obfuscation (Spring'2005)
1099:"Google taking action against disguised code in Chrome Web Store" 1002:"Indistinguishability Obfuscation from Well-Founded Assumptions" 1627: 1542: 1385: 191:, there are also some that work directly on compiled binaries. 74: 597:. DreamInCode.net. Archived from the original on June 28, 2008 57:
that is difficult for humans or computers to understand. Like
904:"One Instruction To Rule Them All: C Compiler Emits Only MOV" 90: 251: 188: 94: 959:"Cryptography Breakthrough Could Make Software Unhackable" 485:"What is obfuscation (obfu)? - Definition from WhatIs.com" 1343: 1227:"Model Obfuscation for Securing Deployed Neural Networks" 595:"C++ Tutorials – Obfuscated Code – A Simple Introduction" 217: 337:
There has been debate on whether it is illegal to skirt
1097:
at 05:01, Thomas Claburn in San Francisco 2 Oct 2018.
655: 317: 332: 235:
Writing and reading obfuscated source code can be a
375:is a technique to hide the internal structure of a 284:hard. This is formalized in the many proposals for 36:
Deliberate creation of difficult-to-understand code
516:"Obfuscation: Cloaking your Code from Prying Eyes" 100:are some examples of languages easy to obfuscate. 1987: 1295:"On the (Im)possibility of Obfuscating Programs" 1304: 1299:21st Annual International Cryptology Conference 1224: 295: 27:For the term as used in natural language, see 1411: 1042:""Can We Obfuscate Programs?" by Boaz Barak" 995: 818:"The First Annual Obfuscated Python Content" 1344:The International Obfuscated C Code Contest 1127:: CS1 maint: numeric names: authors list ( 682:: CS1 maint: numeric names: authors list ( 1418: 1404: 1260: 1962:Security information and event management 1349:Protecting Java Code Via Code Obfuscation 1266: 1013: 292:, is known to be impossible in general.) 1425: 901: 755: 513: 258:of Perl programmers. These are JAPHs (" 768:from the original on September 14, 2017 241:International Obfuscated C Code Contest 14: 1988: 1109:from the original on November 12, 2019 857:from the original on November 12, 2022 798:from the original on February 14, 2017 540: 1939:Host-based intrusion detection system 1399: 1206:from the original on October 14, 2013 1180:from the original on December 2, 2013 1078:from the original on February 4, 2022 884:from the original on October 21, 2022 846: 664:from the original on January 16, 2009 495:from the original on February 2, 2019 1096: 722: 704:from the original on August 30, 2017 631:"C Tutorials – Obfuscated Code in C" 367: 114: 1970:Runtime application self-protection 1351:, ACM Crossroads, Spring 1998 issue 1141: 977:from the original on April 14, 2022 322:Some anti-virus softwares, such as 24: 1521: 1323:from the original on June 23, 2008 1279: 1154:from the original on March 5, 2020 1022:from the original on March 3, 2022 545:. Codinghorror.com. Archived from 514:Binstock, Andrew (March 6, 2003). 318:Notifying users of obfuscated code 226:instruction in order to obfuscate. 171: 25: 2017: 1902:Security-focused operating system 1337: 1288:ABCME: A Novel Metamorphic Engine 929:"JAPH – Just Another Perl Hacker" 571:. Kenter.demon.nl. Archived from 333:Obfuscation and copyleft licenses 1698:Insecure direct object reference 1305:Mateas, Michael; Nick Montfort. 459:Indistinguishability obfuscation 286:indistinguishability obfuscation 272:Indistinguishability obfuscation 265: 118: 1952:Information security management 1254: 1218: 1192: 1166: 1135: 1090: 1060: 1034: 989: 951: 921: 902:Williams, Al (March 21, 2021). 895: 868: 840: 810: 780: 749: 230: 201:official Python programming FAQ 1044:. Math.ias.edu. Archived from 935:. Perl Mongers. Archived from 716: 690: 649: 633:. July 7, 2011. Archived from 623: 587: 561: 534: 507: 477: 351: 13: 1: 541:Atwood, Jeff (May 15, 2005). 470: 449:Dotfuscator (.Net Obfuscator) 409:Esoteric programming language 199:examples can be found in the 110: 758:"Obfuscating "Hello world!"" 698:"Obfuscation – Haskell Wiki" 656:As of 2013-11-25 18:22 GMT. 296:Disadvantages of obfuscation 7: 1957:Information risk management 1878:Multi-factor authentication 1434:Related security categories 543:"Jeff Atwood, May 15, 2005" 386: 157:, techniques may include: 80: 10: 2022: 1934:Intrusion detection system 1892:Computer security software 1548:Advanced persistent threat 1355:Can we obfuscate programs? 847:domas (November 3, 2022), 464:Source code beautification 444:ProGuard (Java Obfuscator) 346:GNU General Public License 269: 67:security through obscurity 26: 1833: 1533: 1519: 1513:Digital rights management 1433: 1006:Cryptology ePrint Archive 615:: CS1 maint: unfit URL ( 454:Digital rights management 439:Source-to-source compiler 1658:Denial-of-service attack 1553:Arbitrary code execution 1200:"What is free software?" 850:xoreaxeaxeax/movfuscator 658:"Pe(a)rls in line noise" 419:Overlapping instructions 260:Just another Perl hacker 254:programs may be used in 1868:Computer access control 1820:Rogue security software 1483:Electromagnetic warfare 1376:considered for deletion 245:Obfuscated Perl Contest 49:is the act of creating 2006:Program transformation 1914:Obfuscation (software) 1643:Browser Helper Objects 1527: 1391:c2:BlackBoxComputation 1242:Cite journal requires 1000:; Sahai, Amit (2020). 73:, or even to create a 1909:Data-centric security 1790:Remote access trojans 1525: 1286:Seyyedhamzeh, Javad, 1103:www.theregister.co.uk 700:. February 16, 2006. 489:SearchSoftwareQuality 434:Underhanded C Contest 290:black-box obfuscation 276:Black-box obfuscation 270:Further information: 1996:Software obfuscation 1841:Application security 1735:Privilege escalation 1603:Cross-site scripting 1456:Cybersex trafficking 1427:Information security 1316:. pp. 144–153. 822:code.activestate.com 637:on December 27, 2013 429:Hardware obfuscation 178:open-source software 98:programming language 43:software development 1488:Information warfare 1446:Automotive security 788:"Obfuscated Python" 71:reverse engineering 1897:Antivirus software 1765:Social engineering 1730:Polymorphic engine 1683:Fraudulent dialers 1588:Hardware backdoors 1528: 1142:Cimpanu, Catalin. 549:on January 9, 2010 1983: 1982: 1945:Anomaly detection 1850:Secure by default 1703:Keystroke loggers 1638:Drive-by download 1526:vectorial version 1493:Internet security 1441:Computer security 1074:. July 21, 2020. 1048:on March 23, 2016 737:on April 24, 2019 725:"Obfuscated code" 660:. Perlmonks.org. 522:on April 20, 2008 373:Model obfuscation 368:Model obfuscation 362:man-in-the-middle 342:software licenses 282:cryptographically 250:Short obfuscated 148: 147: 16:(Redirected from 2013: 1854:Secure by design 1785:Hardware Trojans 1618:History sniffing 1608:Cross-site leaks 1503:Network security 1420: 1413: 1406: 1397: 1396: 1382:Java obfuscators 1379: 1332: 1330: 1328: 1322: 1311: 1273: 1272: 1270: 1258: 1252: 1251: 1245: 1240: 1238: 1230: 1222: 1216: 1215: 1213: 1211: 1196: 1190: 1189: 1187: 1185: 1170: 1164: 1163: 1161: 1159: 1139: 1133: 1132: 1126: 1118: 1116: 1114: 1094: 1088: 1087: 1085: 1083: 1064: 1058: 1057: 1055: 1053: 1038: 1032: 1031: 1029: 1027: 1017: 993: 987: 986: 984: 982: 955: 949: 948: 946: 944: 925: 919: 918: 916: 914: 899: 893: 892: 891: 889: 872: 866: 865: 864: 862: 844: 838: 837: 835: 833: 824:. Archived from 814: 808: 807: 805: 803: 784: 778: 777: 775: 773: 753: 747: 746: 744: 742: 736: 730:. Archived from 729: 723:Montfort, Nick. 720: 714: 713: 711: 709: 694: 688: 687: 681: 673: 671: 669: 653: 647: 646: 644: 642: 627: 621: 620: 614: 606: 604: 602: 591: 585: 584: 582: 580: 575:on March 4, 2016 565: 559: 558: 556: 554: 538: 532: 531: 529: 527: 518:. Archived from 511: 505: 504: 502: 500: 481: 424:Polymorphic code 377:machine learning 143: 140: 122: 115: 63:natural language 21: 2021: 2020: 2016: 2015: 2014: 2012: 2011: 2010: 1986: 1985: 1984: 1979: 1829: 1529: 1517: 1508:Copy protection 1498:Mobile security 1429: 1424: 1364: 1340: 1335: 1326: 1324: 1320: 1309: 1282: 1280:Further reading 1277: 1276: 1259: 1255: 1243: 1241: 1232: 1231: 1223: 1219: 1209: 1207: 1198: 1197: 1193: 1183: 1181: 1172: 1171: 1167: 1157: 1155: 1140: 1136: 1120: 1119: 1112: 1110: 1095: 1091: 1081: 1079: 1072:support.avg.com 1066: 1065: 1061: 1051: 1049: 1040: 1039: 1035: 1025: 1023: 994: 990: 980: 978: 957: 956: 952: 942: 940: 939:on May 16, 2013 927: 926: 922: 912: 910: 900: 896: 887: 885: 874: 873: 869: 860: 858: 845: 841: 831: 829: 828:on May 25, 2023 816: 815: 811: 801: 799: 786: 785: 781: 771: 769: 762:benkurtovic.com 754: 750: 740: 738: 734: 727: 721: 717: 707: 705: 696: 695: 691: 675: 674: 667: 665: 654: 650: 640: 638: 629: 628: 624: 608: 607: 600: 598: 593: 592: 588: 578: 576: 567: 566: 562: 552: 550: 539: 535: 525: 523: 512: 508: 498: 496: 483: 482: 478: 473: 468: 389: 370: 354: 335: 320: 298: 278: 268: 233: 174: 172:Automated tools 144: 138: 135: 128:needs expansion 113: 83: 37: 32: 23: 22: 18:Obfuscated code 15: 12: 11: 5: 2019: 2009: 2008: 2003: 1998: 1981: 1980: 1978: 1977: 1975:Site isolation 1972: 1967: 1966: 1965: 1959: 1949: 1948: 1947: 1942: 1931: 1926: 1921: 1916: 1911: 1906: 1905: 1904: 1899: 1889: 1888: 1887: 1882: 1881: 1880: 1873:Authentication 1865: 1864: 1863: 1862: 1861: 1851: 1848: 1837: 1835: 1831: 1830: 1828: 1827: 1822: 1817: 1812: 1807: 1802: 1797: 1792: 1787: 1782: 1777: 1772: 1767: 1762: 1757: 1752: 1747: 1742: 1737: 1732: 1727: 1726: 1725: 1715: 1710: 1705: 1700: 1695: 1690: 1685: 1680: 1675: 1673:Email spoofing 1670: 1665: 1660: 1655: 1650: 1645: 1640: 1635: 1630: 1625: 1620: 1615: 1613:DOM clobbering 1610: 1605: 1600: 1595: 1593:Code injection 1590: 1585: 1584: 1583: 1578: 1573: 1568: 1560: 1555: 1550: 1545: 1539: 1537: 1531: 1530: 1520: 1518: 1516: 1515: 1510: 1505: 1500: 1495: 1490: 1485: 1480: 1475: 1473:Cyberterrorism 1470: 1465: 1464: 1463: 1461:Computer fraud 1458: 1448: 1443: 1437: 1435: 1431: 1430: 1423: 1422: 1415: 1408: 1400: 1394: 1393: 1388: 1362: 1357: 1352: 1346: 1339: 1338:External links 1336: 1334: 1333: 1302: 1291: 1283: 1281: 1278: 1275: 1274: 1253: 1244:|journal= 1217: 1191: 1165: 1134: 1089: 1059: 1033: 996:Jain, Aayush; 988: 950: 920: 894: 867: 839: 809: 779: 756:Ben Kurtovic. 748: 715: 689: 648: 622: 586: 560: 533: 506: 475: 474: 472: 469: 467: 466: 461: 456: 451: 446: 441: 436: 431: 426: 421: 416: 411: 406: 401: 399:Spaghetti code 396: 390: 388: 385: 381:explainable AI 369: 366: 353: 350: 334: 331: 319: 316: 315: 314: 311: 308: 305: 302: 297: 294: 267: 264: 232: 229: 228: 227: 220:uses only the 204: 203:and elsewhere. 173: 170: 169: 168: 165: 162: 146: 145: 125: 123: 112: 109: 82: 79: 35: 9: 6: 4: 3: 2: 2018: 2007: 2004: 2002: 1999: 1997: 1994: 1993: 1991: 1976: 1973: 1971: 1968: 1963: 1960: 1958: 1955: 1954: 1953: 1950: 1946: 1943: 1940: 1937: 1936: 1935: 1932: 1930: 1927: 1925: 1922: 1920: 1917: 1915: 1912: 1910: 1907: 1903: 1900: 1898: 1895: 1894: 1893: 1890: 1886: 1885:Authorization 1883: 1879: 1876: 1875: 1874: 1871: 1870: 1869: 1866: 1860: 1857: 1856: 1855: 1852: 1849: 1847: 1846:Secure coding 1844: 1843: 1842: 1839: 1838: 1836: 1832: 1826: 1823: 1821: 1818: 1816: 1815:SQL injection 1813: 1811: 1808: 1806: 1803: 1801: 1798: 1796: 1795:Vulnerability 1793: 1791: 1788: 1786: 1783: 1781: 1780:Trojan horses 1778: 1776: 1775:Software bugs 1773: 1771: 1768: 1766: 1763: 1761: 1758: 1756: 1753: 1751: 1748: 1746: 1743: 1741: 1738: 1736: 1733: 1731: 1728: 1724: 1721: 1720: 1719: 1716: 1714: 1711: 1709: 1706: 1704: 1701: 1699: 1696: 1694: 1691: 1689: 1686: 1684: 1681: 1679: 1676: 1674: 1671: 1669: 1666: 1664: 1663:Eavesdropping 1661: 1659: 1656: 1654: 1653:Data scraping 1651: 1649: 1646: 1644: 1641: 1639: 1636: 1634: 1631: 1629: 1626: 1624: 1623:Cryptojacking 1621: 1619: 1616: 1614: 1611: 1609: 1606: 1604: 1601: 1599: 1596: 1594: 1591: 1589: 1586: 1582: 1579: 1577: 1574: 1572: 1569: 1567: 1564: 1563: 1561: 1559: 1556: 1554: 1551: 1549: 1546: 1544: 1541: 1540: 1538: 1536: 1532: 1524: 1514: 1511: 1509: 1506: 1504: 1501: 1499: 1496: 1494: 1491: 1489: 1486: 1484: 1481: 1479: 1476: 1474: 1471: 1469: 1466: 1462: 1459: 1457: 1454: 1453: 1452: 1449: 1447: 1444: 1442: 1439: 1438: 1436: 1432: 1428: 1421: 1416: 1414: 1409: 1407: 1402: 1401: 1398: 1392: 1389: 1387: 1383: 1377: 1373: 1372: 1368: 1363: 1361: 1358: 1356: 1353: 1350: 1347: 1345: 1342: 1341: 1319: 1315: 1308: 1303: 1300: 1296: 1292: 1289: 1285: 1284: 1269: 1264: 1257: 1249: 1236: 1228: 1221: 1205: 1201: 1195: 1179: 1175: 1169: 1153: 1149: 1145: 1138: 1130: 1124: 1108: 1104: 1100: 1093: 1077: 1073: 1069: 1063: 1047: 1043: 1037: 1021: 1016: 1011: 1007: 1003: 999: 992: 976: 972: 968: 964: 960: 954: 938: 934: 930: 924: 909: 905: 898: 883: 879: 878: 871: 856: 852: 851: 843: 827: 823: 819: 813: 797: 793: 789: 783: 767: 763: 759: 752: 733: 726: 719: 703: 699: 693: 685: 679: 663: 659: 652: 636: 632: 626: 618: 612: 596: 590: 574: 570: 569:"Obfuscation" 564: 548: 544: 537: 521: 517: 510: 494: 490: 486: 480: 476: 465: 462: 460: 457: 455: 452: 450: 447: 445: 442: 440: 437: 435: 432: 430: 427: 425: 422: 420: 417: 415: 412: 410: 407: 405: 404:Decompilation 402: 400: 397: 395: 392: 391: 384: 382: 378: 374: 365: 363: 359: 349: 347: 343: 340: 330: 327: 325: 324:AVG AntiVirus 312: 309: 306: 303: 300: 299: 293: 291: 287: 283: 277: 273: 266:Cryptographic 263: 261: 257: 253: 248: 246: 242: 238: 225: 224: 219: 215: 212: 209: 205: 202: 198: 194: 193: 192: 190: 186: 181: 179: 166: 163: 160: 159: 158: 156: 155:Nick Montfort 153:According to 151: 142: 133: 129: 126:This section 124: 121: 117: 116: 108: 105: 103: 99: 96: 92: 88: 78: 76: 72: 68: 64: 60: 56: 52: 48: 44: 39: 34: 30: 19: 1919:Data masking 1478:Cyberwarfare 1369: 1325:. Retrieved 1313: 1298: 1256: 1235:cite journal 1220: 1210:December 18, 1208:. Retrieved 1194: 1184:November 25, 1182:. Retrieved 1168: 1158:November 12, 1156:. Retrieved 1147: 1137: 1113:November 12, 1111:. Retrieved 1102: 1092: 1080:. Retrieved 1071: 1062: 1052:November 25, 1050:. Retrieved 1046:the original 1036: 1024:. Retrieved 1005: 991: 979:. Retrieved 962: 953: 943:February 27, 941:. Retrieved 937:the original 932: 923: 911:. Retrieved 897: 886:, retrieved 876: 870: 859:, retrieved 849: 842: 830:. Retrieved 826:the original 821: 812: 800:. Retrieved 791: 782: 770:. Retrieved 761: 751: 741:November 24, 739:. Retrieved 732:the original 718: 706:. Retrieved 692: 668:November 25, 666:. Retrieved 651: 641:November 25, 639:. Retrieved 635:the original 625: 601:November 25, 599:. Retrieved 589: 579:November 25, 577:. Retrieved 573:the original 563: 553:November 25, 551:. Retrieved 547:the original 536: 526:November 25, 524:. Retrieved 520:the original 509: 497:. Retrieved 488: 479: 372: 371: 355: 336: 328: 321: 281: 279: 249: 237:brain teaser 234: 231:Recreational 222: 207: 182: 175: 152: 149: 136: 132:adding to it 127: 106: 84: 55:machine code 46: 40: 38: 33: 2001:Source code 1859:Misuse case 1693:Infostealer 1668:Email fraud 1633:Data breach 1468:Cybergeddon 1202:. gnu.org. 1176:. Lwn.net. 1082:February 4, 998:Lin, Huijia 913:October 23, 888:November 5, 861:November 5, 832:October 18, 802:October 18, 792:wiki.c2.com 772:October 18, 499:February 1, 352:Decompilers 208:movfuscator 59:obfuscation 47:obfuscation 29:obfuscation 1990:Categories 1924:Encryption 1800:Web shells 1740:Ransomware 1688:Hacktivism 1451:Cybercrime 1268:1807.01860 1015:2008.09317 471:References 358:decompiler 256:signatures 218:x86_32 ISA 139:March 2023 111:Techniques 93:, and the 1755:Shellcode 1750:Scareware 1598:Crimeware 1558:Backdoors 1374:is being 1026:March 14, 981:March 14, 971:1059-1028 394:AARD code 1929:Firewall 1834:Defenses 1760:Spamming 1745:Rootkits 1718:Phishing 1678:Exploits 1367:template 1327:June 28, 1318:Archived 1204:Archived 1178:Archived 1152:Archived 1123:cite web 1107:Archived 1076:Archived 1020:Archived 975:Archived 908:Hackaday 882:archived 855:archived 796:Archived 766:Archived 708:March 3, 702:Archived 678:cite web 662:Archived 611:cite web 493:Archived 387:See also 339:copyleft 243:and the 216:for the 214:compiler 81:Overview 1770:Spyware 1713:Payload 1708:Malware 1648:Viruses 1628:Botnets 1535:Threats 102:Haskell 1964:(SIEM) 1941:(HIDS) 1825:Zombie 1562:Bombs 1543:Adware 1386:Curlie 1380:  1371:Curlie 969:  933:pm.org 197:Python 75:puzzle 51:source 1810:Worms 1805:Wiper 1723:Voice 1571:Logic 1365:β€ΉThe 1321:(PDF) 1310:(PDF) 1263:arXiv 1148:ZDNet 1010:arXiv 963:Wired 735:(PDF) 728:(PDF) 414:Quine 195:Some 1576:Time 1566:Fork 1329:2008 1248:help 1212:2014 1186:2013 1160:2019 1129:link 1115:2019 1084:2022 1054:2013 1028:2021 983:2021 967:ISSN 945:2015 915:2023 890:2022 863:2022 834:2017 804:2017 774:2017 743:2017 710:2020 684:link 670:2013 643:2013 617:link 603:2013 581:2013 555:2013 528:2013 501:2019 274:and 262:"). 252:Perl 206:The 189:.NET 187:and 185:Java 95:Perl 1581:Zip 1384:at 223:mov 134:. 91:C++ 61:in 53:or 41:In 1992:: 1378:.β€Ί 1312:. 1297:. 1239:: 1237:}} 1233:{{ 1150:. 1146:. 1125:}} 1121:{{ 1105:. 1101:. 1070:. 1018:. 1008:. 1004:. 973:. 965:. 961:. 931:. 906:. 880:, 853:, 820:. 794:. 790:. 764:. 760:. 680:}} 676:{{ 613:}} 609:{{ 491:. 487:. 356:A 247:. 89:, 45:, 1419:e 1412:t 1405:v 1331:. 1271:. 1265:: 1250:) 1246:( 1229:. 1214:. 1188:. 1162:. 1131:) 1117:. 1086:. 1056:. 1030:. 1012:: 985:. 947:. 917:. 836:. 806:. 776:. 745:. 712:. 686:) 672:. 645:. 619:) 605:. 583:. 557:. 530:. 503:. 211:C 141:) 137:( 87:C 31:. 20:)

Index

Obfuscated code
obfuscation
software development
source
machine code
obfuscation
natural language
security through obscurity
reverse engineering
puzzle
C
C++
Perl
programming language
Haskell

adding to it
Nick Montfort
open-source software
Java
.NET
Python
official Python programming FAQ
C
compiler
x86_32 ISA
mov
brain teaser
International Obfuscated C Code Contest
Obfuscated Perl Contest

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑