Wikipedia:Sandbox and SecuROM: Difference between pages

From Wikipedia, the free encyclopedia
(Difference between pages)
Content deleted Content added
No edit summary
 
Jammy0002 (talk | contribs)
 
Line 1: Line 1:
{{POV|date=September 2008}}
{{Please leave this line alone (sandbox heading)}}
{{Refimprove|date=September 2008}}
<!-- Hello! Feel free to try your formatting and editing skills below this line. As this page is for editing experiments, this page will automatically be cleaned every 12 hours. -->
'''SecuROM''' is a [[compact disc|CD]]/[[DVD]] [[copy protection]] [[product]], most often used for [[computer games]] running under [[Microsoft Windows]], developed by [[Sony|Sony DADC]]. SecuROM aims to resist home media duplication devices, professional duplicators, and [[reverse engineering]] attempts. The newest versions (v4 and up) prevent 1:1 CD-R copies from being made. Certain programs can circumvent its protection. The use of SecuROM is controversial because certain aspects of the protection are similar to functions of [[malware]], and users are not always informed when SecuROM is included with a product.<ref>http://www.1up.com/do/newsStory?cId=3170131</ref> A class action suit has been filed against [[Electronic Arts]] for this very issue.<ref>[http://www.courthousenews.com/2008/09/23/Spore.pdf Class action suit against EA]</ref>


==Versions, detection and technology of SecuROM==
Fuck off eone!!
===SecuROM v1.x–v3.x===
*mad mad*
One of the following files should exist in the installed directory (Depending on the operating system) or in the root of the original CDs:
* CMS16.DLL
* CMS_95.DLL
* CMS_NT.DLL.
The protection can also be recognized by DADC on the inside ring of the CD.
DADC is a CD manufacturing plant; the more recent SecuROM protected games are also pressed in other plants.
Open the main executable using a [[hex editor]] and search for the following ASCII text (it should appear twice): CMS


===SecuROM v4.6===
yewwwwww
The protection modifies a CD-ROM's [[CD/DVD copy protection#Illegal sub-channels|''q-channel'']] in order to make a protected original distinguishable from a copy.


A set of nine locations where the Q-Channel is purposely destroyed is computed by the following function (demonstrated as [[Python (programming language)|Python]] code), using a vendor specific key.


<source lang="python">
<math>n = \frac{-1100 + \sqrt {121000 - 1200 \times (-1400 - T_{(n)})}} {600}</math>
VendorKey = [0,0,0,0,0,0,0,0,0]
Seed = [0,0,0,0,0,0,0,0,0]
BadSQTable = [0,0,0,0,0,0,0,0,0]
BadSQ = 0
round = 0
for a in xrange(256):
BadSQ += (VendorKey[a % 9] & 0x1F) + 0x20
for b in xrange(9):
if Seed[b] == a:
BadSQTable[round] = BadSQ
round += 1


# VendorKey[], Seed[] and BadSQ are initialized to secret values.
</source>


The function calculates nine sector numbers; if the corresponding ''Q-channel'' is not readable at these locations, the CD is considered being original. Note that the key is always the same for all titles issued by a specific vendor, resulting in identical ''Q-channel'' patterns. Also note that every key has 134,217,727 "twins" that will produce an identical BadSQTable.
{{Portal:Rock music/Selected pictures/Layout
|image=KnightsOfCydoniaVideo.jpg
|text=Cobain and Novoselic at the 1992 MTV Video Music Awards.
|credit=
|link=Nirvana (band)}}


===SecuROM v4.7 and above ===
i like pie
After development on SecuROM had apparently been stopped, SecuROM v4.7 had been the first updated version for months. The new SecuROM brought several major changes about how the protection works and how it is integrated into the target program.


<!-- Image with unknown copyright status removed: [[Image:bwa.jpg|thumbnail|right|A example plot-graphic showing the sector density of a Securom-protected [[CD-ROM]]. The pattern mentioned besides is represented by the spikes you can see being repeated four times over the linear-length of the [[CD-ROM]]. ]]
-->
Unlike SecuROM v4.6, which relied on non-compliant SubQ-Information, the new scheme utilizes "data density measurement" (not to be confused with "data position measurement" as being used by other protections). While the data density on normal CD/DVD-ROMs constantly degrades from the most inner to the most outer sector, data density on SecuROM v4.7 (and up) protected CD/DVD-ROMs is diversified by a certain, vendor specific pattern. This pattern can be reconstructed by high-precision time measurement during software<->CD/DVD-drive interaction and reflects the vendor-key as mentioned above.


To do so the protection defines a set of locations spread over the disc and issue two [[SCSI]]-read-commands per location to the drive. As the disc spins, the time it takes for the second command to return depends on the time it takes the disc to do a full round and thus depends on the data-density. To achieve the required timing-precision, the ''[[RDTSC]]'' instruction is used, which typically has a resolution better than 0.01 microseconds.
{| class="wikitable sortable" style="margin-left:auto;margin-right:auto"
! style="width:2em;" | Rank !! Country !! GDP (millions of USD)
|-
|1||{{flag|United States}}||2,093,049
|-
|2||{{flag|Japan}}||4,376,705
|-
|3||{{flag|Germany}}||3,297,233
|-
|4||{{flag|China|name=China (PRC)}}||3,280,053
|-
|5||{{flag|United Kingdom}}||1,347,688
|-
|4||{{flag|France}}||1,026,081
|-
|7||{{flag|Italy}}||2,107,481
|-
|8||{{flag|Spain}}||1,429,226
|-
|9||{{flag|Canada}}||1,326,376
|-
|10||{{flag|Brazil}}||1,314,170
|-
|11||{{flag|Russia}}||1,291,011
|-
|12||{{flag|India}}||1,170,968
|-
|13||{{flag|South Korea}}||969,795
|-
|14||{{flag|Mexico}}||893,364
|-
|15||{{flag|Australia}}||821,716
|-
|16||{{flag|Netherlands}}||754,203
|-
|17||{{flag|Turkey}}||657,091
|-
|18||{{flag|Belgium}}||448,560
|-
|19||{{flag|Sweden}}||444,443
|-
|20||{{flag|Indonesia}}||432,817
|-
|21||{{flag|Poland}}||420,321
|-
|22||{{flag|Switzerland}}||415,516
|-
|23||{{flag|Norway}}||381,951
|-
|24||{{flag|Saudi Arabia}}||381,683
|-
|25||{{flag|Austria}}||377,028
|-
|26||{{flag|Greece}}||360,031
|-
|27||{{flag|Denmark}}||308,093
|-
|28||{{flag|South Africa}}||277,581
|-
|29||{{flag|Iran}}||270,937
|-
|30||{{flag|Argentina}}||262,331
|-
|31||{{flag|Ireland}}||254,970
|-
|32||{{flag|Finland}}||246,020
|-
|33||{{flag|Thailand}}||245,818
|-
|34||{{flag|Venezuela}}||228,071
|-
|35||{{flag|Portugal}}||220,241
|-
|3||{{flag|Hong Kong}}||1,184,471
|-
|36||{{flag|Malaysia}}||180,714
|-
|37||{{flag|Colombia}}||171,979
|-
|38||{{flag|Czech Republic}}||168,142
|-
|39||{{flag|Romania}}||165,980
|-
|40||{{flag|Nigeria}}||165,690
|-
|41||{{flag|Chile}}||163,915
|-
|42||{{flag|Israel}}||161,822
|-
|43||{{flag|Singapore}}||161,347
|-
|44||{{flag|Philippines}}||144,129
|-
|45||{{flag|Pakistan}}||143,597
|-
|46||{{flag|Ukraine}}||140,484
|-
|47||{{flag|Hungary}}||138,182
|-
|48||{{flag|Algeria}}||135,285
|-
|49||{{flag|United Arab Emirates}}||129,702
|-
|50||{{flag|New Zealand}}||129,372
|-
|51||{{flag|Egypt}}||128,095
|-
|52||{{flag|Peru}}||109,088
|-
|53||{{flag|Kazakhstan}}||103,840
|-
|54||{{flag|Kuwait}}||102,095
|-
|55||{{flag|Slovakia}}||74,932
|-
|56||{{flag|Morocco}}||73,275
|-
|57||{{flag|Vietnam}}||71,216
|-
|58||{{flag|Bangladesh}}||67,694
|-
|59||{{flag|Angola}}||58,547
|-
|60||{{flag|Libya}}||58,333
|-
|61||{{flag|Croatia}}||51,277
|-
|62||{{flag|Luxembourg}}||47,942
|-
|63||{{flag|Sudan}}||47,632
|-
|64||{{flag|Slovenia}}||45,451
|-
|65||{{flag|Belarus}}||44,771
|-
|66||{{flag|Ecuador}}||44,184
|-
|67||{{flag|Qatar}}||42,463
|-
|68||{{flag|Serbia}}||41,581{{fn|c}}
|-
|69||{{flag|Bulgaria}}||39,549
|-
|70||{{flag|Lithuania}}||38,328
|-
|71||{{flag|Syria}}||38,081
|-
|72||{{flag|Dominican Republic}}||36,686
|-
|73||{{flag|Oman}}||35,729
|-
|74||{{flag|Tunisia}}||35,020
|-
|75||{{flag|Guatemala}}||33,432
|-
|76||{{flag|Sri Lanka}}||32,354
|-
|77||{{flag|Azerbaijan}}||31,248
|-
|78||{{flag|Kenya}}||29,509
|-
|79||{{flag|Latvia}}||27,154
|-
|80||{{flag|Costa Rica}}||25,225
|-
|81||{{flag|Lebanon}}||24,001
|-
|82||{{flag|Uruguay}}||23,087
|-
|83||{{flag|Yemen}}||22,523
|-
|84||{{flag|Uzbekistan}}||22,308
|-
|85||{{flag|Estonia}}||21,279
|-
|86||{{flag|Cyprus}}||21,277
|-
|87||{{flag|Cameroon}}||20,644
|-
|88||{{flag|El Salvador}}||20,215
|-
|89||{{flag|Trinidad and Tobago}}||19,982
|-
|90||{{flag|Panama}}||19,740
|-
|91||{{flag|Côte d'Ivoire}}||19,570
|-
|92||{{flag|Iceland}}||19,510
|-
|93||{{flag|Ethiopia}}||19,395
|-
|94||{{flag|Tanzania}}||16,181{{fn|d}}
|-
|95||{{flag|Bahrain}}||16,041
|-
|96||{{flag|Jordan}}||15,832
|-
|97||{{flag|Ghana}}||15,246
|-
|98||{{flag|Bosnia and Herzegovina}}||14,661
|-
|—||''{{flag|Macau}}''||14,204
|-
|99||{{flag|Bolivia}}||13,120
|-
|100||{{flag|Turkmenistan}}||12,933
|-
|101||{{flag|Honduras}}||12,279
|-
|102||{{flag|Paraguay}}||12,004
|-
|103||{{flag|Botswana}}||11,781
|-
|104||{{flag|Afghanistan}}||11,627
|-
|105||{{flag|Brunei}}||11,562
|-
|106||{{flag|Zambia}}||11,363
|-
|107||{{flag|Uganda}}||11,214
|-
|108||{{flag|Senegal}}||11,151
|-
|109||{{flag|Jamaica}}||10,739
|-
|110||{{flag|Gabon}}||10,654
|-
|111||{{flag|Albania}}||10,569
|-
|112||{{flag|Nepal}}||10,207
|-
|113||{{flag|Georgia}}||10,176
|-
|114||{{flag|Equatorial Guinea}}||9,923
|-
|115||{{flag|Armenia}}||9,177
|-
|116||{{flag|Democratic Republic of the Congo}}||8,955
|-
|117||{{flag|Cambodia}}||8,628
|-
|118||{{flag|Mozambique}}||7,752
|-
|119||{{flag|Republic of the Congo}}||7,646
|-
|120||{{flag|Republic of Macedonia}}||7,590
|-
|121||{{flag|Madagascar}}||7,326
|-
|122||{{flag|Chad}}||7,085
|-
|123||{{flag|Mali}}||6,863
|-
|124||{{flag|Burkina Faso}}||6,767
|-
|125||{{flag|Namibia}}||6,740
|-
|126||{{flag|Malta}}||6,375
|-
|127||{{flag|Mauritius}}||6,363
|-
|128||{{flag|Papua New Guinea}}||6,261
|-
|129||{{flag|Haiti}}||6,137
|-
|130||{{flag|Nicaragua}}||5,676
|-
|131||{{flag|Benin}}||5,428
|-
|132||{{flag|Guinea}}||4,564
|-
|133||{{flag|Moldova}}||4,396{{fn|e}}
|-
|134||{{flag|Niger}}||4,170
|-
|135||{{flag|Laos}}||4,008
|-
|—||''{{flagicon|Palestine}} [[West Bank]] and [[Gaza Strip|Gaza]]''||4,007
|-
|136||{{flag|Mongolia}}||3,894
|-
|137||{{flag|Tajikistan}}||3,712
|-
|138||{{flag|Montenegro}}||3,557
|-
|139||{{flag|Malawi}}||3,552
|-
|140||{{flag|Kyrgyzstan}}||3,505
|-
|141||{{flag|Fiji}}||3,433
|-
|142||{{flag|Barbados}}||3,430
|-
|143||{{flag|Zimbabwe}}||3,418
|-
|144||{{flag|Rwanda}}||3,320
|-
|145||{{flag|Swaziland}}||2,942
|-
|146||{{flag|Mauritania}}||2,644
|-
|147||{{flag|Togo}}||2,493
|-
|148||{{flag|Suriname}}||2,241
|-
|149||{{flag|Central African Republic}}||1,712
|-
|150||{{flag|Sierra Leone}}||1,672
|-
|151||{{flag|Lesotho}}||1,600
|-
|152||{{flag|Cape Verde}}||1,434
|-
|153||{{flag|Belize}}||1,274
|-
|154||{{flag|Eritrea}}||1,201
|-
|155||{{flag|Bhutan}}||1,096
|-
|156||{{flag|Maldives}}||1,049
|-
|157||{{flag|Guyana}}||1,044
|-
|158||{{flag|Antigua and Barbuda}}||1,026
|-
|159||{{flag|Burundi}}||974
|-
|160||{{flag|Saint Lucia}}||958
|-
|161||{{flag|Djibouti}}||830
|-
|162||{{flag|Seychelles}}||728
|-
|163||{{flag|Liberia}}||725
|-
|164||{{flag|The Gambia}}||643
|-
|165||{{flag|Grenada}}||554
|-
|166||{{flag|Saint Vincent and the Grenadines}}||553
|-
|167||{{flag|Saint Kitts and Nevis}}||527
|-
|168||{{flag|Samoa}}||482
|-
|169||{{flag|Vanuatu}}||452
|-
|170||{{flag|Comoros}}||449
|-
|171||{{flag|East Timor}}||395
|-
|172||{{flag|Solomon Islands}}||369
|-
|173||{{flag|Guinea-Bissau}}||357
|-
|174||{{flag|Dominica}}||328
|-
|175||{{flag|Micronesia}}||257
|-
|176||{{flag|Tonga}}||231
|-
|177||{{flag|Palau}}||164
|-
|178||{{flag|Marshall Islands}}||163
|-
|179||{{flag|São Tomé and Príncipe}}||145
|-
|180||{{flag|Kiribati}}||87
|-


The pattern is made up from 72 locations, each either with normal or higher than normal density and thus reflects a binary pattern which assembles to the vendor specific key mentioned above.


SecuROM v4.84 and beyond includes "Trigger Functions" which allow the developer to program multiple and fully customizable authentication checks throughout the entire application. As the protection places itself between the application's code and the OS, it can alter the behaviour of selected system functions.
{| class="wikitable sortable" style="margin-left:auto;margin-right:auto"
! style="width:2em;" | Rank !! Country !! GDP (millions of USD)
|-
|1||{{flag|United States}}|| 2 093 049
|-
|2||{{flag|United Kingdom}}|| 1 347 688
|-
|3||{{flag|Hong Kong, China}}|| 1 184 471
|-
|4||{{flag|France}}|| 1 026 081
|-
|5||{{flag|Belgium}}|| 748 110
|-
|6||{{flag|Netherlands}}|| 673 430
|-
|7||{{flag|Germany}}|| 629 711
|-
|8||{{flag|Spain}}|| 537 455
|-
|9||{{flag|Canada}}|| 520 737
|-
|10||{{flag|Italy }}|| 364 839
|-
|11||{{flag|Brazil }}|| 328 455
|-
|12||{{flag|China|name=China (PRC)}}|| 327 087
|-
|13||{{flag|Russian Federation }}|| 324 065
|-
|14||{{flag|Australia }}|| 312 275
|-
|15||{{flag|Switzerland}}|| 278 155
|-
|16||{{flag|Mexico}}|| 265 736
|-
|17||{{flag|Sweden}}|| 254 459
|-
|18||{{flag|Singapore}}|| 249 667
|-
|19||{{flag|Ireland }}|| 187 184
|-
|20||{{flag|Denmark }}|| 146 632
|-
|21||{{flag|Turkey}}|| 145 556
|-
|22||{{flag|Poland}}|| 142 110
|-
|23||{{flag|Japan}}|| 132 851
|-
|24||{{flag|Austria}}|| 126 895
|-
|25||{{flag|South Korea}}|| 119 630
|-
|26||{{flag|Portugal}}|| 114 192
|-
|27||{{flag|Chile}}|| 105 558
|-
|28||{{flag|Czech Republic }}|| 101 074
|-
|29||{{flag|Hungary}}|| 97 397
|-
|30||{{flag|Norway }}|| 93 688
|-
|31||{{flag|South Africa}}|| 93 474
|-
|32||{{flag|Thailand}}|| 85 749
|-
|33||{{flag|Finland}}|| 85 237
|-
|34||{{flag|Malaysia}}|| 76 748
|-
|35||{{flag|India }}|| 76 226}}||
|-
|36||{{flag|Saudi Arabia }}|| 76 146
|-
|37||{{flag|New Zealand }}|| 71 312
|-
|38||{{flag|Cayman Islands }}|| 69 784
|-
|39||{{flag|Argentina}}|| 66 015
|-
|40||{{flag|Nigeria}}|| 62 791
|-
|41||{{flag|British Virgin Islands }}|| 61 578
|-
|42||{{flag|Romania}}|| 60 921
|-
|43||{{flag|Israel}}|| 59 952
|-
|44||{{flag|Indonesia}}|| 58 955
|-
|45||{{flag|Colombia}}|| 56 189
|-
|46||{{flag|United Arab Emirates }}|| 54 786
|-
|47||{{flag|Greece }}|| 52 838
|-
|48||{{flag|Egypt }}|| 50 503
|-
|49||{{flag|Taiwan Province of China}}|| 48 640
|-
|50||{{flag|Croatia }}|| 44 630
|-
|51||{{flag|Venezuela, Bolivarian Republic of}}|| 43 957
|-
|52||{{flag|Kazakhstan }}|| 43 381
|-
|53||{{flag|Slovakia }}|| 40 702
|-
|54||{{flag|Viet Nam }}|| 40 235
|-
|55||{{flag|Ukraine }}|| 38 059
|-
|56||{{flag|Bulgaria }}|| 36 508
|-
|57||{{flag|Morocco }}|| 32 516
|-
|58||{{flag|Luxembourg }}|| 30 176
|-
|59||{{flag|Tunisia }}|| 26 223
|-
|60||{{flag|Peru}}|| 24 744
|-
|61||{{flag|Lebanon }}|| 21 121
|-
|62||{{flag|Pakistan }}|| 20 086
|-
|63||{{flag|Philippines }}|| 18 952
|-
|64||{{flag|Cyprus }}|| 18 414
|-
|65||{{flag|Estonia}}|| 16 594
|-
|66||{{flag|Serbia and Montenegro }}||15 681
|-
|67||{{flag|Lithuania }}|| 14 679
|-
|68||{{flag|Panama }}|| 14 611
|-
|69||{{flag|Jordan }}|| 14 549
|-
|70||{{flag|Sudan }}|| 13 828
|-
|71||{{flag|Trinidad and Tobago }}|| 13 475
|-
|72||{{flag|Serbia }}|| 13 204
|-
|73||{{flag|Bahrain}}|| 12 947
|-
|74||{{flag|Iceland}}|| 12 269
|-
|75||{{flag|Angola}}|| 12 207
|-
|76||{{flag|Algeria }}|| 11 815
|-
|77||{{flag|Equatorial Guinea}}|| 10 745
|-
|78||{{flag|Latvia }}|| 10 493
|-
|79||{{flag|Slovenia}}|| 10 350
|-
|80||{{flag|Ecuador}}|| 10 310
|-
|81||{{flag|Brunei Darussalam}}|| 10 045
|-
|82||{{flag|Syrian Arab Republic}}|| 9 684
|-
|83||{{flag|Costa Rica}}|| 8 803
|-
|84||{{flag|Macao}}|| 8 606
|-
|85||{{flag|Jamaica}}|| 8 580
|-
|86||{{flag|Dominican Republic}}|| 8 269
|-
|87||{{flag|Bahamas}}|| 8 268
|-
|88||{{flag|Malta }}|| 7 457
|-
|89||{{flag|Qatar }}|| 7 250
|-
|90||{{flag|Azerbaijan }}|| 6 598
|-
|91||{{flag|Libyan Arab Jamahiriya }}|| 6 575
|-
|92||{{flag|Guatemala }}|| 6 506
|-
|93||{{flag|Bosnia and Herzegovina}}|| 5 990
|-
|94||{{flag|United Republic of Tanzania }}|| 5 942
|-
|95||{{flag|El Salvador }}|| 5 911
|-
|96||{{flag|Oman}}|| 5 878
|-
|97||{{flag|Côte d'Ivoire}|| 5 702
|-
|98||{{flag|Myanmar}}|| 5 433
|-
|99||{{flag|Zambia }}|| 5 375
|-
|100||{{flag|Bolivia }}|| 5 323
|-
|101||{{flag|Iran, Islamic Republic of}}|| 5 295
|-
|102||{{flag|Georgia}}|| 5 259
|-
|103||{{flag|Chad }}|| 5 085
|-
|104||{{flag|Uruguay}}|| 5 069
|-
|105||{{flag|Belarus}}|| 4 500
|-
|106||{{flag|Bangladesh}}|| 4 404
|-
|107||{{flag|Honduras }}|| 4 328
|-
|108||{{flag|Turkmenistan }}|| 3 928
|-
|109||{{flag|Namibia }}|| 3 822
|-
|110||{{flag|Cambodia }}|| 3 821
|-
|111||{{flag|Congo }}|| 3 819
|-
|112||{{flag|Cameroon}}|| 3 796
|-
|113||{{flag|Ghana }}|| 3 634
|-
|114||{{flag|Ethiopia }}|| 3 620
|-
|115||{{flag|Sri Lanka }}|| 3 456
|-
|116||{{flag|Mozambique }}|| 3 216
|-
|117||{{flag|Macedonia}}|| 3 084
|-
|118||{{flag|Nicaragua }}|| 3 083
|-
|119|||{{flag|Uganda }}|| 2 909
|-
|120||{{flag|Montenegro }}|| 2 478
|-
|121||{{flag|Armenia }}|| 2 448
|-
|122||{{flag|Yemen}}|| 2 389
|-
|123||{{flag|Papua New Guinea }}|| 2 337
|-
|124||{{flag|Liberia }}|| 2 278
|-
|125||{{flag|Albania }}|| 2 264
|-
|126||{{flag|Paraguay }}|| 2 003
|-
|127||{{flag|ntigua and Barbuda }}|| 1 986
|-
|128||{{flag|Mauritania }}|| 1 905
|-
|129||{{flag|Kenya }}|| 1 892
|-
|130||{{flag|Madagascar}}|| 1 830
|-
|131||{{flag|Moldova, Republic of }}|| 1 813
|-
|132||{{flag|Saint Lucia }}|| 1 669
|-
|133||{{flag|Uzbekistan }}|| 1 648
|-
|134||{{flag|Congo, Democratic Republic of 1 512
|-
|135||{{flag|Zimbabwe}}|| 1 492
|-
|136||{{flag|Fiji }}||1 464
|-
|137||{{flag|Gibraltar}}|| 1 406
|-
|138||{{flag|Korea, Democratic People's Republic of}}|| 1 378
|-
|139||{{flag|New Caledonia }}|| 1 360
|-
|140||{{flag|Mongolia}}|| 1 326
|-
|141||{{flag|Mali}}|| 1 326
|-
|142||{{flag|Botswana }}|| 1 300
|-
|143||{{flag|Bermuda }}|| 1 291
|-
|144||{{flag|Mauritius }}|| 1 249
|-
|145||{{flag|Guyana }}|| 1 244
|-
|146||{{flag|Aruba }}|| 1 184
|-
|147||{{flag|Lao People's Democratic Republic }}|| 1 180
|-
|148||{{flag|Iraq }}|| 1 162
|-
|149||{{flag|Saint Kitts and Nevis }}||1 120
|-
|150||{{flag|Afghanistan }}|| 1 116
|-
|151||{{flag|Tajikistan }}|| 1 046
|}


Consider the following [[pseudocode]]:
checking my signiture! [[User:AtheWeatherman|&lt;font color=&quot;BLUE&quot;&gt;&lt;font face=&quot;Andy&quot;&gt;&#91;&#91;AtheWeatherman&#93;&#93;&lt;/font&gt;]] ([[User talk:AtheWeatherman|talk]]) 21:46, 10 October 2008 (UTC)


<pre>if (GetCurrentDate() == '13-32-2999') then
IT WAS WRONG, ILL TRY AGAIN [[User:AtheWeatherman|&lt;font color=&quot;BLUE&quot;&gt;&lt;font face=&quot;VERDANA&quot;&gt;&#91;&#91;AtheWeatherman&#93;&#93;&lt;/font&gt;]] ([[User talk:AtheWeatherman|talk]]) 21:48, 10 October 2008 (UTC)
WorkCorrectly()
else
PreventProgramUse()
end if</pre>


Obviously, a "normal" GetCurrentDate() function will never return '13-32-2999'. However, as SecuROM can modify the function's result, the application can check for the protection's presence during runtime; if the protection has been removed, the function will return with some other ''valid'' value, giving the application the opportunity to display an error message or render the application unusable (e.g. provoking a [[crash to desktop]] or making enemies invincible).
[[User:AtheWeatherman|&lt;font color=&quot;RED&quot;&gt;&#91;&#91;AtheWeatherman&#93;&#93;&lt;/font&gt;]] ([[User talk:AtheWeatherman|talk]]) 21:49, 10 October 2008 (UTC) I think it may be right


There are many different ways how "triggers" can be integrated into a program, making it much more complicated to universally circumvent the protection.
i give up

===SecuROM v 7.x===
Latest SecuROM Versions are all 7.x versions which are released and updated continuously.{{Fact|date=September 2007}}

SecuROM 7.x, if run under a non-admin user account, installs its own service called UAService7.exe, which works in [[Ring (computer security)|ring 3]] of the computer's operating system.{{Fact|date=September 2008}}

Securom has said: "it has been developed to enable users without Windows administrator rights the ability to access all SecuROM features."<ref>[http://www.securom.com/support_enduser.asp?t=3 SecuROM<!-- Bot generated title -->]</ref>

====Known problems====
The version of SecuROM that comes with ''[[Armed Assault]]'', ''[[S.T.A.L.K.E.R]]'' (European release only), ''[[Neverwinter Nights 2]]'', ''[[Command & Conquer 3: Tiberium Wars]]'' (patched to v1.04), ''[[Tomb Raider Anniversary]]'' (demo and full version), ''[[Overlord (2007 video game)|Overlord]]'', ''[[BioShock]]'' (demo and full version), ''[[Hellgate: London]]'' (single player mode), ''[[Rayman Raving Rabbids]]'' (PC version), ''[[World in Conflict]]'' (single-player campaign only) and ''[[Spore (2008 video game)|Spore]]'' (full game and ''[[Development of Spore#Spore Creature Creator|Creature Creator]]'') prevents the game from running at all if older versions (before v11) of [[Process Explorer]], a free tool by Sysinternals/Microsoft, has been run since the previous reboot. However, a workaround for this SecuROM detection bug (v9.25 is not affected) can be found [http://forum.sysinternals.com/forum_posts.asp?TID=11086 here]. Microsoft has worked around this particular bug with Process Explorer v11.0.

Under [[Windows Vista]], this same version of SecuROM also prevents the game from running if [[Explicit Congestion Notification]] is enabled in Vista's networking configuration.<ref>{{cite web | url = http://www.pcworld.com/article/150965/casual_friday_why_spore_wont_work.html | title = Casual Friday: Why Spore Won't Work | date = 2008-09-12 | accessdate = 2008-09-16 | publisher = PC World}}</ref> The workaround is to disable ECN by running the command <code>netsh interface tcp set global ecncapability=disabled</code>.

The version of SecuROM that is installed with the first German retail version of the game ''[[Drakensang: The Dark Eye|Das Schwarze Auge: Drakensang]]'' installs a shell extension that makes explorer.exe crash at least on some systems running Windows XP. The same can be seen in systems running Windows Vista with the version of SecuROM that comes with ''[[Neverwinter Nights 2]]'' [http://www.vistax64.com/general-discussion/171425-problems-windows-explorer-when-i-right-click-exe-files.html (see forums)]. SecuROM is hosting a fix to the issue that apparently removes the extension. As of version 1.0.1, this fix is not included in the official patches.

==Controversies==
====Conflicts with other software====
Some versions of SecuROM, particularly older 2.x versions, may silently install a shell extension that prevents Windows Explorer from deleting 16-bit executables.

===BioShock and rootkit accusations===
''[[BioShock]]'', a game using SecuROM protection, has been accused of installing a [[rootkit]]. An official announcement was made denying the use of any type of rootkit.<ref>{{cite web | url = http://www.2kgames.com/cultofrapture/pc_faq.html | title = The Cult of Rapture FAQ | date = 2007-08-23 | accessdate = 2007-09-08 | publisher = 2k Games}}</ref><ref>{{cite web | url = http://arstechnica.com/news.ars/post/20070826-clearing-the-air-bioshock-does-not-contain-a-rootkit.html | title = Clearing the air: Bioshock does not contain a rootkit | publisher = Ars Technica | first = Ken | last = Fisher | date = 2007-08-26 | accessdate = 2007-08-26 }}</ref> The detection of a possible rootkit is difficult, due to limitation in rootkit detection tools. Use of a common Microsoft [[rootkit]] detection tool known as [[RootkitRevealer]] flags issues related to ''BioShock''<nowiki>'</nowiki>s copy protection which indicate a need for additional scrutiny. In this case, the flag is raised on account of a null byte in a string of characters in one of the related registry entries. Null bytes in value strings are generally interpreted by common [[Windows Registry#Editing|registry visualization tools]] as end-of-string characters; such tools tend to fail to display the whole string. This is caused by the limitations of those tools and can be used by malicious parties to conceal data.

===''The Sims'' controversy===
''[[The Sims 2]]'' and some of its add-ons had previously used [[SafeDisc]] for copy protection until April 2007. [[Electronic Arts]] replaced SafeDisc with [[SecuROM|SecuROM v 7.x]] software protection since, beginning with ''[[The Sims Pet Stories]]''. This includes ''[[The Sims Castaway Stories]]'', ''The Sims 2 Deluxe'', ''[[The Sims 2: H&M Fashion Stuff]]'', ''[[The Sims 2: Bon Voyage]]'', ''[[The Sims 2: Teen Style Stuff]]'', ''The Sims 2 Double Deluxe'', ''[[The Sims 2: FreeTime]]'', ''The Sims 2: Kitchen & Bath Interior Design Stuff'', ''The Sims 2: IKEA Home Stuff'', and ''[[The Sims 2: Apartment Life]]''. Claimed problems relating to SecuROM include prevention of proper launching of games, disabling of CD/DVD/Blu-ray disc burners, and disruption of antivirus programs. Some users have reported severe damage caused by SecuROM, resulting in system failures that required complete system reformats to fix. EA attempted to address some of these concerns on the official website. Despite user complaints, EA plans to continue employing SecuROM and its future versions in their future releases.

===''Mass Effect'' controversy===
In May 2008 EA announced that ''[[Mass Effect]]'' for the PC would be using SecuROM 7.x requiring a reactivation of the software every 10 days.<ref name="me">{{cite web | url = http://www.escapistmagazine.com/news/view/83689-Mass-Effect-Spore-To-Use-Recurring-Validation| title= Mass Effect, Spore To Use Recurring Validation | accessmonthday = June 03 | accessyear= 2008}}</ref> Due to a massive outpouring of complaints EA removed the 10-day activation while keeping SecuROM tied to the installation. SecuROM's product activation facility was still used to impose a limit of three times that a customer is allowed to activate the copy of ''Mass Effect'' they purchased. The game becomes unplayable after the activations are used up, until EA's customer support is contacted to reset the activation limit. Unlike ''BioShock'', uninstalling the game does not refund a previously used activation.<ref name="response">{{cite web | url = http://www.shacknews.com/laryn.x?story=52618| title= Electronic Arts Responds to Copy Protection Outcry, Removes 10-day SecuROM Check for the Troops | accessmonthday = June 03 | accessyear= 2008}}</ref>

===''Spore'' controversy===

On September 7, 2008 EA released ''[[Spore (2008 video game)|Spore]]'' using SecuROM. Public reaction has been swift and sharp, with many users posting one-star reviews on [[Amazon.com]] (the lowest possible rating). As of October 2nd, 2008, there were 3073 reviews, approximately 85% of which give a single star (out of five) rating. Many of these comments cite SecuROM as the main reason for the low rating.<ref>[http://www.amazon.com/review/product/B000FKBCX4/ref=dp_top_cm_cr_acr_txt?_encoding=UTF8&showViewpoints=1 Amazon listing for ''Spore'']</ref>

''Spore'' has also seen relatively substantial rates of piracy among peer-to-peer groups, possibly as a result of the backlash against its SecuROM-based DRM.<ref name="spore_piracy">{{cite web | url = http://www.forbes.com/technology/2008/09/12/spore-drm-piracy-tech-security-cx_ag_mji_0912spore.html| title= Spore's Piracy Problem | accessmonthday = September 17 | accessyear= 2008|publisher=Forbes}}</ref><ref name="spore_piracy2">{{cite web | url = http://torrentfreak.com/spore-most-pirated-game-ever-thanks-to-drm-080913/| title= Spore: Most Pirated Game Ever Thanks to DRM | accessmonthday = September 23 | accessyear= 2008|publisher=TorrentFreak}}</ref> As a result of its inclusion within Spore, a class-action lawsuit was filed by Maryland resident Melissa Thomas within U.S. District Court against [[Electronic Arts]].<ref>http://www.gamepolitics.com/2008/09/24/ea-faces-class-action-lawsuit-over-spore-drm</ref>

[http://www.courthousenews.com/2008/09/23/Spore.pdf PDF copy of the court file against EA's use of SecuROM DRM in the game Spore.]

===''Crysis Warhead''===
Released on September 16 in Europe and September 18 in the US, ''[[Crysis Warhead]]'' has received a large amount of negative ratings in its first week. This is very similar to the release of ''Spore'', with numerous one-star ratings by discontented gamers due to the SecuROM protection.<ref>[http://www.amazon.com/review/product/B001ATHKVC/ref=pd_bbs_sr_1_cm_cr_acr_txt?_encoding=UTF8&showViewpoints=1 Amazon listing for ''Crysis Warhead'']</ref>

===''Sacred 2 - Fallen Angel''===
To be released on October 2 in Europe and November 6 in the US, ''[[Sacred 2]]'' will be protected by SecuROM. Developer Ascaron has announced that the version of SecuROM installed with Sacred 2 will be a customer friendly version, and will come with an unlimited number of installations. Once the installation process is completed, the game DVD is no longer required in the computer's CD drive. Sacred 2 allows two players in Singleplayer mode and LAN mode per copy, and one player over the Internet per copy. Despite a number of one-star ratings with Amazon by discontented gamers, this copy protection policy is now quite welcomed as it's very customer friendly among the press and with Amazon commentators and in several media reports. <ref>[http://www.amazon.de/review/product/B001BTPRHU/ref=sr_1_1_cm_cr_acr_img?%5Fencoding=UTF8&showViewpoints=1
Amazon listing for ''Sacred 2'']</ref>

== See also ==
*[[DRM]]
*[[Extended Copy Protection]]
*[[Rootkit]]
*[[SafeDisc]]
*[[Sony BMG CD copy prevention scandal]]
*[[StarForce]]
*[[TAGES]]

==References==
{{reflist}}

==External links==
*[http://www.securom.com SecuROM]
*[http://www.sonydadc.com Sony DADC]

[[Category:CD copy protection]]
[[Category:Windows software]]
[[Category:Sony software]]

[[de:SecuROM]]
[[es:SecuROM]]
[[fr:SecuROM]]
[[it:SecuROM]]
[[nl:SecuROM]]
[[pl:SecuROM]]
[[pt:SecuROM]]

Revision as of 21:51, 10 October 2008

SecuROM is a CD/DVD copy protection product, most often used for computer games running under Microsoft Windows, developed by Sony DADC. SecuROM aims to resist home media duplication devices, professional duplicators, and reverse engineering attempts. The newest versions (v4 and up) prevent 1:1 CD-R copies from being made. Certain programs can circumvent its protection. The use of SecuROM is controversial because certain aspects of the protection are similar to functions of malware, and users are not always informed when SecuROM is included with a product.[1] A class action suit has been filed against Electronic Arts for this very issue.[2]

Versions, detection and technology of SecuROM

SecuROM v1.x–v3.x

One of the following files should exist in the installed directory (Depending on the operating system) or in the root of the original CDs:

  • CMS16.DLL
  • CMS_95.DLL
  • CMS_NT.DLL.

The protection can also be recognized by DADC on the inside ring of the CD. DADC is a CD manufacturing plant; the more recent SecuROM protected games are also pressed in other plants. Open the main executable using a hex editor and search for the following ASCII text (it should appear twice): CMS

SecuROM v4.6

The protection modifies a CD-ROM's q-channel in order to make a protected original distinguishable from a copy.

A set of nine locations where the Q-Channel is purposely destroyed is computed by the following function (demonstrated as Python code), using a vendor specific key.

VendorKey =  [0,0,0,0,0,0,0,0,0]
Seed =       [0,0,0,0,0,0,0,0,0]
BadSQTable = [0,0,0,0,0,0,0,0,0]
BadSQ = 0
round = 0
for a in xrange(256):
    BadSQ += (VendorKey[a % 9] & 0x1F) + 0x20
    for b in xrange(9):
        if Seed[b] == a:
            BadSQTable[round] = BadSQ
            round += 1

# VendorKey[], Seed[] and BadSQ are initialized to secret values.

The function calculates nine sector numbers; if the corresponding Q-channel is not readable at these locations, the CD is considered being original. Note that the key is always the same for all titles issued by a specific vendor, resulting in identical Q-channel patterns. Also note that every key has 134,217,727 "twins" that will produce an identical BadSQTable.

SecuROM v4.7 and above

After development on SecuROM had apparently been stopped, SecuROM v4.7 had been the first updated version for months. The new SecuROM brought several major changes about how the protection works and how it is integrated into the target program.

Unlike SecuROM v4.6, which relied on non-compliant SubQ-Information, the new scheme utilizes "data density measurement" (not to be confused with "data position measurement" as being used by other protections). While the data density on normal CD/DVD-ROMs constantly degrades from the most inner to the most outer sector, data density on SecuROM v4.7 (and up) protected CD/DVD-ROMs is diversified by a certain, vendor specific pattern. This pattern can be reconstructed by high-precision time measurement during software<->CD/DVD-drive interaction and reflects the vendor-key as mentioned above.

To do so the protection defines a set of locations spread over the disc and issue two SCSI-read-commands per location to the drive. As the disc spins, the time it takes for the second command to return depends on the time it takes the disc to do a full round and thus depends on the data-density. To achieve the required timing-precision, the RDTSC instruction is used, which typically has a resolution better than 0.01 microseconds.

The pattern is made up from 72 locations, each either with normal or higher than normal density and thus reflects a binary pattern which assembles to the vendor specific key mentioned above.

SecuROM v4.84 and beyond includes "Trigger Functions" which allow the developer to program multiple and fully customizable authentication checks throughout the entire application. As the protection places itself between the application's code and the OS, it can alter the behaviour of selected system functions.

Consider the following pseudocode:

if (GetCurrentDate() == '13-32-2999') then 
    WorkCorrectly()
else
    PreventProgramUse()
end if

Obviously, a "normal" GetCurrentDate() function will never return '13-32-2999'. However, as SecuROM can modify the function's result, the application can check for the protection's presence during runtime; if the protection has been removed, the function will return with some other valid value, giving the application the opportunity to display an error message or render the application unusable (e.g. provoking a crash to desktop or making enemies invincible).

There are many different ways how "triggers" can be integrated into a program, making it much more complicated to universally circumvent the protection.

SecuROM v 7.x

Latest SecuROM Versions are all 7.x versions which are released and updated continuously.[citation needed]

SecuROM 7.x, if run under a non-admin user account, installs its own service called UAService7.exe, which works in ring 3 of the computer's operating system.[citation needed]

Securom has said: "it has been developed to enable users without Windows administrator rights the ability to access all SecuROM features."[3]

Known problems

The version of SecuROM that comes with Armed Assault, S.T.A.L.K.E.R (European release only), Neverwinter Nights 2, Command & Conquer 3: Tiberium Wars (patched to v1.04), Tomb Raider Anniversary (demo and full version), Overlord, BioShock (demo and full version), Hellgate: London (single player mode), Rayman Raving Rabbids (PC version), World in Conflict (single-player campaign only) and Spore (full game and Creature Creator) prevents the game from running at all if older versions (before v11) of Process Explorer, a free tool by Sysinternals/Microsoft, has been run since the previous reboot. However, a workaround for this SecuROM detection bug (v9.25 is not affected) can be found here. Microsoft has worked around this particular bug with Process Explorer v11.0.

Under Windows Vista, this same version of SecuROM also prevents the game from running if Explicit Congestion Notification is enabled in Vista's networking configuration.[4] The workaround is to disable ECN by running the command netsh interface tcp set global ecncapability=disabled.

The version of SecuROM that is installed with the first German retail version of the game Das Schwarze Auge: Drakensang installs a shell extension that makes explorer.exe crash at least on some systems running Windows XP. The same can be seen in systems running Windows Vista with the version of SecuROM that comes with Neverwinter Nights 2 (see forums). SecuROM is hosting a fix to the issue that apparently removes the extension. As of version 1.0.1, this fix is not included in the official patches.

Controversies

Conflicts with other software

Some versions of SecuROM, particularly older 2.x versions, may silently install a shell extension that prevents Windows Explorer from deleting 16-bit executables.

BioShock and rootkit accusations

BioShock, a game using SecuROM protection, has been accused of installing a rootkit. An official announcement was made denying the use of any type of rootkit.[5][6] The detection of a possible rootkit is difficult, due to limitation in rootkit detection tools. Use of a common Microsoft rootkit detection tool known as RootkitRevealer flags issues related to BioShock's copy protection which indicate a need for additional scrutiny. In this case, the flag is raised on account of a null byte in a string of characters in one of the related registry entries. Null bytes in value strings are generally interpreted by common registry visualization tools as end-of-string characters; such tools tend to fail to display the whole string. This is caused by the limitations of those tools and can be used by malicious parties to conceal data.

The Sims controversy

The Sims 2 and some of its add-ons had previously used SafeDisc for copy protection until April 2007. Electronic Arts replaced SafeDisc with SecuROM v 7.x software protection since, beginning with The Sims Pet Stories. This includes The Sims Castaway Stories, The Sims 2 Deluxe, The Sims 2: H&M Fashion Stuff, The Sims 2: Bon Voyage, The Sims 2: Teen Style Stuff, The Sims 2 Double Deluxe, The Sims 2: FreeTime, The Sims 2: Kitchen & Bath Interior Design Stuff, The Sims 2: IKEA Home Stuff, and The Sims 2: Apartment Life. Claimed problems relating to SecuROM include prevention of proper launching of games, disabling of CD/DVD/Blu-ray disc burners, and disruption of antivirus programs. Some users have reported severe damage caused by SecuROM, resulting in system failures that required complete system reformats to fix. EA attempted to address some of these concerns on the official website. Despite user complaints, EA plans to continue employing SecuROM and its future versions in their future releases.

Mass Effect controversy

In May 2008 EA announced that Mass Effect for the PC would be using SecuROM 7.x requiring a reactivation of the software every 10 days.[7] Due to a massive outpouring of complaints EA removed the 10-day activation while keeping SecuROM tied to the installation. SecuROM's product activation facility was still used to impose a limit of three times that a customer is allowed to activate the copy of Mass Effect they purchased. The game becomes unplayable after the activations are used up, until EA's customer support is contacted to reset the activation limit. Unlike BioShock, uninstalling the game does not refund a previously used activation.[8]

Spore controversy

On September 7, 2008 EA released Spore using SecuROM. Public reaction has been swift and sharp, with many users posting one-star reviews on Amazon.com (the lowest possible rating). As of October 2nd, 2008, there were 3073 reviews, approximately 85% of which give a single star (out of five) rating. Many of these comments cite SecuROM as the main reason for the low rating.[9]

Spore has also seen relatively substantial rates of piracy among peer-to-peer groups, possibly as a result of the backlash against its SecuROM-based DRM.[10][11] As a result of its inclusion within Spore, a class-action lawsuit was filed by Maryland resident Melissa Thomas within U.S. District Court against Electronic Arts.[12]

PDF copy of the court file against EA's use of SecuROM DRM in the game Spore.

Crysis Warhead

Released on September 16 in Europe and September 18 in the US, Crysis Warhead has received a large amount of negative ratings in its first week. This is very similar to the release of Spore, with numerous one-star ratings by discontented gamers due to the SecuROM protection.[13]

Sacred 2 - Fallen Angel

To be released on October 2 in Europe and November 6 in the US, Sacred 2 will be protected by SecuROM. Developer Ascaron has announced that the version of SecuROM installed with Sacred 2 will be a customer friendly version, and will come with an unlimited number of installations. Once the installation process is completed, the game DVD is no longer required in the computer's CD drive. Sacred 2 allows two players in Singleplayer mode and LAN mode per copy, and one player over the Internet per copy. Despite a number of one-star ratings with Amazon by discontented gamers, this copy protection policy is now quite welcomed as it's very customer friendly among the press and with Amazon commentators and in several media reports. [14]

See also

References

  1. ^ http://www.1up.com/do/newsStory?cId=3170131
  2. ^ Class action suit against EA
  3. ^ SecuROM
  4. ^ "Casual Friday: Why Spore Won't Work". PC World. 2008-09-12. Retrieved 2008-09-16.
  5. ^ "The Cult of Rapture FAQ". 2k Games. 2007-08-23. Retrieved 2007-09-08.
  6. ^ Fisher, Ken (2007-08-26). "Clearing the air: Bioshock does not contain a rootkit". Ars Technica. Retrieved 2007-08-26.
  7. ^ "Mass Effect, Spore To Use Recurring Validation". {{cite web}}: Unknown parameter |accessmonthday= ignored (help); Unknown parameter |accessyear= ignored (|access-date= suggested) (help)
  8. ^ "Electronic Arts Responds to Copy Protection Outcry, Removes 10-day SecuROM Check for the Troops". {{cite web}}: Unknown parameter |accessmonthday= ignored (help); Unknown parameter |accessyear= ignored (|access-date= suggested) (help)
  9. ^ Amazon listing for Spore
  10. ^ "Spore's Piracy Problem". Forbes. {{cite web}}: Unknown parameter |accessmonthday= ignored (help); Unknown parameter |accessyear= ignored (|access-date= suggested) (help)
  11. ^ "Spore: Most Pirated Game Ever Thanks to DRM". TorrentFreak. {{cite web}}: Unknown parameter |accessmonthday= ignored (help); Unknown parameter |accessyear= ignored (|access-date= suggested) (help)
  12. ^ http://www.gamepolitics.com/2008/09/24/ea-faces-class-action-lawsuit-over-spore-drm
  13. ^ Amazon listing for Crysis Warhead
  14. ^ [http://www.amazon.de/review/product/B001BTPRHU/ref=sr_1_1_cm_cr_acr_img?%5Fencoding=UTF8&showViewpoints=1 Amazon listing for Sacred 2]

External links