Guide to sun.misc.unsafe

Technical details

File Info:

crc32: 9180972Bmd5: 7246281b880165a1f0af66a69918c774name: wotsuper3.exesha1: 683f75b1ca00a193cf815094d19f59efc46559c8sha256: 4e57ca9e6db20faa410f37698f953bb77531b986f0a997b8517d2d9fd1fb6547sha512: dab8f1d5b9a38be705101795b33f0993df2749e747816658f9445191a5ee343ef27a6acf3b7a41ec64a4d0211641c3d89e3f1667caf5fc0901d79feae7caf43assdeep: 12288:pANwRo+mv8QD4+0V16++6LPk+2sdJ2udXN4CkwdOe1x//oVXI:pAT8QE+kF1c+pJXXN4Cr3OVXItype: PE32 executable (GUI) Intel 80386, for MS Windows

Version Info:

LegalCopyright: wotsuper FileDescription: wotsuper 2.1 Installation FileVersion: 2.1 Comments: CompanyName: wotsuper Translation: 0x0409 0x04e4

Trojan:Win32/Occamy.AA also known as:

GridinSoft Trojan.Ransom.Gen
DrWeb Trojan.PWS.Stealer.28172
MicroWorld-eScan Gen:Variant.Ulise.102767
Cylance Unsafe
VIPRE Trojan.Win32.Generic!BT
K7AntiVirus Password-Stealer ( 0054d1a31 )
BitDefender Gen:Variant.Ulise.102767
K7GW Password-Stealer ( 0054d1a31 )
Cybereason malicious.b88016
TrendMicro TROJ_GEN.R002C0PD720
BitDefenderTheta Gen:NN.ZexaF.34106.HmW@a0VS!Bp
Symantec ML.Attribute.HighConfidence
APEX Malicious
Avast Win32:PWSX-gen
GData Gen:Variant.Ulise.102767
Kaspersky HEUR:Trojan.Win32.Chapak.vho
Alibaba TrojanPSW:Win32/Chapak.4d634caf
NANO-Antivirus Trojan.Win32.Chapak.hfbdtu
AegisLab Trojan.Win32.Chapak.4!c
Rising Stealer.Vidar!1.B80D (CLOUD)
Sophos Mal/Generic-S
F-Secure Trojan.TR/AD.VidarStealer.cudq
Invincea heuristic
McAfee-GW-Edition GenericRXKA-QX!524DBDB34D61
Trapmine malicious.moderate.ml.score
Emsisoft Trojan-Dropper.Agent (A)
Ikarus Trojan-PSW.Agent
Cyren W32/Agent.BRT.gen!Eldorado
MaxSecure Trojan-Ransom.Win32.Crypmod.zfq
Avira TR/AD.VidarStealer.cudq
Antiy-AVL Trojan/Win32.Chapak
Endgame malicious (moderate confidence)
Arcabit Trojan.Ulise.D1916F
SUPERAntiSpyware Trojan.Agent/Gen-Chapak
ZoneAlarm HEUR:Trojan.Win32.Chapak.vho
Microsoft Trojan:Win32/Occamy.AA
AhnLab-V3 Malware/Win32.Generic.C3733562
McAfee Artemis!7246281B8801
MAX malware (ai score=85)
VBA32 Trojan.Chapak
Malwarebytes Trojan.Downloader
Panda Trj/CI.A
ESET-NOD32 a variant of Win32/PSW.Agent.OGR
TrendMicro-HouseCall TROJ_GEN.R002C0PD720
Tencent Win32.Trojan.Chapak.Aexq
eGambit Unsafe.AI_Score_99%
Fortinet W32/Agent.OGR!tr
Webroot W32.Trojan.Gen
AVG Win32:PWSX-gen
Paloalto generic.ml
Qihoo-360 Win32/Trojan.ef6

Comments and Discussions

You must Sign In to use this message board.
First Prev Next
VHGN 17-Apr-12 23:02 
Milad.D 20-May-11 21:49 
Theo Bebekis 14-Jul-09 2:47 
Theo Bebekis 14-Jul-09 2:39 
Windmiller 28-Aug-07 22:13 
Georgi Petrov 25-Aug-06 2:30 
Soulblazer 30-Jun-05 21:33 
Anonymous 30-Jun-05 21:30 
4space 14-Nov-02 1:15 
Alex Korchemniy 6-Aug-02 6:58 
Code Boy 7-Oct-02 19:22 
Anonymous 9-Oct-02 3:49 
The Anomaly 5-Dec-03 8:04 
The Anomaly 5-Dec-03 8:06 
Anonymous 20-Dec-02 2:36 
Anonymous 20-Dec-02 2:38 
Stephane Rodriguez. 2-Apr-03 20:18 
R Cotter 3-Jul-03 7:30 
Sander van Driel 3-Sep-04 2:07 
Le_MuLoT 8-Sep-05 3:52 
Member 8222858 1-Sep-15 7:49 

General    News    Suggestion    Question    Bug    Answer    Joke    Praise    Rant    Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Unsafe or unmanaged? That is the question

Managed code is that code which executes under the supervision of the CLR.
The CLR is responsible for various housekeeping tasks, like:

  • managing memory for the objects
  • performing type verification
  • doing garbage collection

just to name a few. The user is totally isolated from the how’s of the
above mentioned tasks. The user doesn’t get to manipulate the memory directly,
because that is done by the CLR.

On the other hand, unmanaged code is that code which executes outside the
context of the CLR. The best example of this is our traditional Win32 DLLs
like kernel32.dll, user32.dll, and the COM components installed on our system. How
they allocate memory for their usage, how memory is released, how (if any) type
verification takes places are some of the tasks that are undertaken by them
on their own. A typical C++ program which allocates memory to a character pointer
is another example of unmanaged code because you as the programmer are responsible
for:

  • calling the memory allocation function
  • making sure that the casting is done right
  • making sure that the memory is released when the work is done

If you notice, all this housekeeping is done by the CLR, as explained above,
relieving the programmer of the burden.

Unsafe code is a kind of cross between the managed and unmanaged codes

It executes under the supervision of the CLR, just like the managed code, but
lets you address the memory directly, through the use of pointers, as is done
in unmanaged code. Thus, you get the best of both worlds. You might be writing
a .NET application that uses the functionality in a legacy Win32 DLL, whose
exported functions require the use of pointers. That’s where unsafe code comes
to your rescue.

Now that we have gone through the distinctions, let’s get coding… unarguably
the best part, what do you think?

Comments and Discussions

You must Sign In to use this message board.
First Prev Next
Mehran Davidi 14-Mar-13 9:55 
VEMS 24-Oct-12 6:16 
Gophern Kwok 27-Apr-12 23:02 
William The Developer 27-Mar-10 12:57 
Andy0023 15-Jun-09 8:14 
richmike3 26-May-09 20:26 
Ahmed Samieh 3-Aug-06 5:09 
Lukas Fellechner 10-Oct-06 3:21 
flopturnriver 28-Jul-06 4:28 
harold aptroot 8-Nov-07 2:33 
corgan_hejijun 20-Mar-06 14:04 
ir175 1-Jan-05 20:07 
Anonymous 18-Feb-03 22:21 

General    News    Suggestion    Question    Bug    Answer    Joke    Praise    Rant    Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Trojan:Win32/Occamy.AA

The most typical channels where Trojan:Win32/Occamy.AA are injected are:

  • By ways of phishing emails;
  • As a repercussion of individual ending up on a source that organizes a malicious software;

As soon as the Trojan is successfully injected, it will certainly either cipher the data on the victim’s PC or protect against the device from functioning in a correct fashion – while likewise placing a ransom note that points out the need for the sufferers to impact the payment for the purpose of decrypting the documents or recovering the data system back to the initial problem. In many circumstances, the ransom note will certainly show up when the client reboots the PC after the system has actually already been harmed.

Trojan:Win32/Occamy.AA circulation channels.

In numerous corners of the world, Trojan:Win32/Occamy.AA grows by leaps as well as bounds. However, the ransom money notes and methods of obtaining the ransom quantity may differ depending on specific regional (local) setups. The ransom money notes as well as methods of extorting the ransom money amount may differ depending on certain neighborhood (regional) setups.

For instance:

Faulty notifies about unlicensed software program.

In certain locations, the Trojans commonly wrongfully report having spotted some unlicensed applications enabled on the target’s gadget. The sharp then requires the individual to pay the ransom.

Faulty declarations regarding prohibited web content.

In nations where software piracy is less popular, this approach is not as efficient for the cyber frauds. Additionally, the Trojan:Win32/Occamy.AA popup alert might incorrectly declare to be stemming from a police establishment and will certainly report having located kid porn or other illegal data on the gadget.

Trojan:Win32/Occamy.AA popup alert might incorrectly assert to be obtaining from a legislation enforcement institution and also will report having located kid pornography or various other prohibited information on the device. The alert will similarly include a need for the user to pay the ransom.

Pointers

A pointer is a variable whose value is the address of another variable i.e., the direct address of the memory location. similar to any variable or constant, you must declare a pointer before you can use it to store any variable address.

The general form of a pointer declaration is −

type *var-name;

Following are valid pointer declarations −

int    *ip;    /* pointer to an integer */
double *dp;    /* pointer to a double */
float  *fp;    /* pointer to a float */
char   *ch     /* pointer to a character */

The following example illustrates use of pointers in C#, using the unsafe modifier −

using System;

namespace UnsafeCodeApplication {
   class Program {
      static unsafe void Main(string[] args) {
         int var = 20;
         int* p = &var;
         
         Console.WriteLine("Data is: {0} ",  var);
         Console.WriteLine("Address is: {0}",  (int)p);
         Console.ReadKey();
      }
   }
}

When the above code wass compiled and executed, it produces the following result −

Data is: 20
Address is: 99215364

Instead of declaring an entire method as unsafe, you can also declare a part of the code as unsafe. The example in the following section shows this.

Program 1

using System;

class MyClass {
	public static void Main() {
		int iData = 10;
		int* pData = &iData;
		Console.WriteLine("Data is " + iData);
		Console.WriteLine("Address is " + (int)pData );
	}
}

Here I use a pointer in this program. Now compile this program. The compiler gives the error

Microsoft (R) Visual C# Compiler Version 7.00.9030 
Copyright (C) Microsoft Corp 2000. All rights reserved.

um1.cs(6,8): error CS0214: Pointers may only be used in an unsafe context
um1.cs(8,27): error CS0214: Pointers may only be used in an unsafe context

Now let’s change the program a little bit and add unsafe modifier with the function.

How to remove Trojan:Win32/Occamy.AA ransomware?

Run the setup file.

When setup file has finished downloading, double-click on the setup-antimalware-fix.exe file to install GridinSoft Anti-Malware on your system.

An User Account Control asking you about to allow GridinSoft Anti-Malware to make changes to your device. So, you should click “Yes” to continue with the installation.

Wait for the Anti-Malware scan to complete.

GridinSoft Anti-Malware will automatically start scanning your system for Trojan:Win32/Occamy.AA files and other malicious programs. This process can take a 20-30 minutes, so I suggest you periodically check on the status of the scan process.

Click on “Clean Now”.

When the scan has finished, you will see the list of infections that GridinSoft Anti-Malware has detected. To remove them click on the “Clean Now” button in right corner.

Проверка на этапе компиляции с помощью go vet

Уже давно существует команда go vet с помощью которой можно проверять недопустимые преобразования между типами unsafe.Pointer и uintptr .

Давайте сразу посмотрим пример. Предположим, мы хотим использовать арифметику указателей, чтобы пробежаться по массиву и вывести все элементы:

На первый взгляд, все выглядит правильным и даже работает как надо. Если запустить программу, то она отработает как надо и выведет на экран содержимое массива.

Но в этой программе есть скрытый нюанс. Давайте посмотрим, что скажет go vet .

Чтобы разобраться с этой ошибкой, придется обратиться к документации по типу unsafe.Pointer

Преобразование Pointer в uintptr позволяет получить адрес в памяти для указанного значения в виде простого целого числа. Как правило, это используется для вывода этого адреса.

Преобразование uintptr обратно в Pointer в общем случае недопустимо.

uintptr это простое число, не ссылка. Конвертирование Pointer в uintptr создает простое число без какой либо семантики указателей. Даже если в uintptr сохранен адрес на какой либо объект, сборщик мусора не будет обновлять значение внутри uintptr , если объект будет перемещен или память будет повторно использована.

Проблема нашей программы в этом месте:

Мы сохраняем uintptr значение в p и не используем его сразу. А это значит, что в момент срабатывания сборщика мусора, адрес сохраненный в p станет невалидным, указывающим непонятно куда.

Давайте представим что такой сценарий уже произошел и теперь p больше не указывает на uint32 . Вполне вероятно, что когда мы преобразуем адрес из переменной p в указатель, он будет указывать на участок памяти в котором хранятся пользовательские данные или приватный ключ TLS. Это потенциальная уязвимость, злоумышленник сможет получить доступ к конфедициальным данным через stdput или тело HTTP ответа.

Получается, как только мы сконвертировали unsafe.Pointer в uintptr , то уже нельзя конвертировать обратно в unsafe.Pointer , за исключением одного особого случая:

Если p указывает на выделенный объект, его можно изменить с помощью преобразования в uintptr , добавления смещения и обратного преобразования в Pointer .

Казалось бы, мы так и делали. Но тут вся хитрость в том, что все преобразования и арифметику указателей нужно делать за один раз:

Эта программа делает тоже самое, что и в первом примере. Но теперь go vet не ругается:

Я не рекомендую использовать арифметику указателей для итераций по массив. Тем не менее, это замечательно, что в Go есть возможность работать на более низком уровне.

А 5G точно не угрожает здоровью?

Как отмечает ВОЗ, высокие частоты электромагнитного излучения могут вызвать риск возникновения рака. Однако низкие частоты, такие как в случае 5G, производят неионизирующее излучение, не способное навредить клеткам.

Частоты 5G могут быть мощнее, чем 4G и другие более ранние поколения связи, но все еще намного ниже пределов, установленных в международных рекомендациях.

ВОЗ, у которой имеется детальное руководство по мобильным сетям, сообщала, что «беспроводные технологии не оказывали никакого вредного воздействия на здоровье». Это было подтверждено многократными проверками. Отдельно отмечается, что несколько испытаний проводилось с частотами 5G, но «при условии, что общее воздействие остается ниже международных норм, никаких последствий для общественного здоровья не предвидится».

«Нынешняя эпидемия вызвана вирусом, который передается от одного человека другому. Мы знаем, что это правда. У нас даже есть вирус, растущий в нашей лаборатории, полученный от одного из зараженных. Вирусы и электромагнитные волны, благодаря которым работают мобильные телефоны и интернет, — это разные вещи. Как мел и сыр», — говорит Адам Финн, профессор педиатрии в Университете Бристоля.

Introduction

In unsafe code or in other words unmanaged code it is possible to declare and use pointers. But the
question is why do we write unmanaged code? If we want to write code that interfaces with the operating
system, or want to access memory mapped device or want to implement a time critical algorithm then the
use of pointer can give lots of advantages.

But there are some disadvantages of using pointers too. If pointers were chosen to be 32 bit
quantities at compile time, the code would be restricted to 4gig of address space, even if it were run
on a 64 bit machine. If pointers were chosen at compile time to be 64 bits, the code could not be run
on a 32 bit machine.

In C# we can write unsafe code with the modifier . All the unsafe code must be
clearly marked with the modifier. Writing unsafe code is much like writing C code
in a C# program.

Now let’s see the first program

Hacktool:Win32/AutoKMS (активатор): природа воздействия вируса на систему и пользовательские данные

Этот троян действует по типу вирусов, которые принято называть угонщиками браузеров. Как правило, первым симптомом заражения является изменение стартовой страницы во всех установленных в системе веб-браузерах, постоянное перенаправление на небезопасные или потенциально опасные сайты, а также невозможность использования поисковых систем вроде Google или Yahoo!.

Но только этим вред, наносимый системе, не ограничивается. После проникновения в компьютер начинается внедрение не только на системном уровне. Происходит активное считывание пользовательских данных, где предпочтение отдается регистрационным логинам и паролям, которые хранятся в незашифрованном виде. Также могут пострадать и данные владельцев банковских карт и счетов.

Такова программа Hacktool:Win32/AutoKMS. Что это: троян, шпион или вор? Как оказывается, и то, и другое, и третье. Кстати, проявление активности может привести пользователя зараженной системы еще и на некий сайт, где говорится о том, что у юзера на компьютере были вирусы, программа разработчика их удалила, а Hacktool:Win32/AutoKMS – активатор вылеченной программы – является единственным средством восстановления регистрации пострадавшего приложения. Абсолютная ложь!

Change in Beta 2

When you want to compile program using command line switch you type the program name after the
compiler name; for example if your program name is prog1.cs then you will compile this:

scs prog1.cs

This works fine for unsafe code while you are programming in beta 1. In beta 2 Microsft added one
more switch to command line compiler of C# for writing unsafe code. Now if you want to write unsafe
code then you have to specify the command line switch with command line compiler otherwise
the compiler gives an error. In beta 2 if you want to write unsafe code in your program then you
compile your programas follows:

csc /unsafe prog1.cs

Вопрос

I used www.virustotal.com site to scan this firefox file. https://ftp.mozilla.org/pub/firefox/releases/57.0.2/win32/en-GB/Firefox%20Setup%2057.0.2.exe The antivirus Cylance it says «unsafe» . Is tha false? Because Firefox is known for privacy and security.

  • Все сообщения
  • Полезные решения
  • владелец
  • владелец
  • отправить
  • полезно
  • владелец
  • полезно
  • владелец
  • решение
  • владелец
  • отправить
  • andnik 2 года назад
  • andnik 2 года назад
  • FredMcD 2 года назад

Some antivirus clients do result in false positives with Firefox on Windows, which is more likely occur after a recent new major Firefox version or update but not later on with same version.

While this was a full Firefox setup for Windows, some antivirus clients have done false positives on the small online stub installers served on www.mozilla.org (for Windows users) every so often even though it had been in use since Firefox 18.0.

1 andnik 2 года назад

Isn’t the same as the link I wrote above?

No it is not. First is a FTP site, most people now do not know anything about them or why.

This the Full Version Installer link same as above :

If in need of the Extended Release Version 52.5.2 ESR :

Please let us know if this solved your issue or if need further assistance.

1 andnik 2 года назад

No it is not. First is a FTP site, most people now do not know anything about them or why. This the Full Version Installer link same as above :

https://www.mozilla.org/firefox/all/

If in need of the Extended Release Version 52.5.2 ESR :

https://www.mozilla.org/en-US/firefox/organizations/all/

Please let us know if this solved your issue or if need further assistance.

Yes I know it’s FTP. I downloaded from both sites and the file is exactly the same. Size name etc.. What’s the difference?

Pkshadow είπε No it is not. First is a FTP site, most people now do not know anything about them or why. This the Full Version Installer link same as above :

https://www.mozilla.org/firefox/all/

If in need of the Extended Release Version 52.5.2 ESR :

https://www.mozilla.org/en-US/firefox/organizations/all/

Please let us know if this solved your issue or if need further assistance.

Yes I know it’s FTP. I downloaded from both sites and the file is exactly the same. Size name etc.. What’s the difference?

Actually there is no FTP anymore as the ftp:// protocol was retired by Mozilla since Aug 5, 2015. So downloading from ftp://ftp.mozilla.org with a browser or ftp client no longer works.

It leads to same build yes. Mozilla uses a CDN to deliver the downloads. They used to use a mirrors system which meant you could be getting directed to a different mirror each time you downloaded say a Firefox release.

1 andnik 2 года назад

andnik saidPkshadow είπε No it is not. First is a FTP site, most people now do not know anything about them or why. This the Full Version Installer link same as above :

https://www.mozilla.org/firefox/all/

If in need of the Extended Release Version 52.5.2 ESR :

https://www.mozilla.org/en-US/firefox/organizations/all/

Please let us know if this solved your issue or if need further assistance.

Yes I know it’s FTP. I downloaded from both sites and the file is exactly the same. Size name etc.. What’s the difference?

Actually there is no FTP anymore as the ftp:// protocol was retired by Mozilla since Aug 5, 2015. So downloading from ftp://ftp.mozilla.org with a browser or ftp client no longer works.

It leads to same build yes. Mozilla uses a CDN to deliver the downloads. They used to use a mirrors system which meant you could be getting directed to a different mirror each time you downloaded say a Firefox release.

Thank you for the information. So in either of these directories leads to the same files that were Uploaded by Mozilla and it is safe to use? The installers of the site www.mozilla.org/firefox/all/

Answer is yes. To check just start a download and the address is in the request to save box

Please Mark this as Solved with the Answer that Solved the issue. Thank You

Когда необходим небезопасный Rust?

Небезопасный Rust необходим всегда, когда необходимо произвести операцию, нарушающую одно из тех двух правил, описанных выше. Например, в двусвязном списке отсутствие изменяемых ссылок на одни и те же данные (у следующего элемента и предыдущего элемента) полностью лишает его пользы. С unsafe имплементатор двусвязного списка может написать код, используя указатели *mut Node и затем инкапсулировать это в безопасную абстракцию.

Другой пример — работа со встраиваемыми системами. Часто микроконтроллеры используют набор регистров, чьи значения определяются физическим состоянием устройства. Мир не может остановиться, пока вы берете &mut u8 с такого регистра, поэтому для работы с крэйтами поддержки устройства необходим unsafe. Как правило, такие крэйты инкапсулируют состояние в прозрачных безопасных обертках, которые по возможности копируют данные, или же используют другие техники, обеспечивающие гарантии компилятора.

Иногда необходимо провести операцию, которая может привести к одновременному чтению и записи, или небезопасному доступу к памяти, и именно здесь нужен unsafe. Но до тех пор, пока есть возможность убедиться в поддержании безопасных инвариантов перед тем, как пользователь безопасного (то есть не отмеченного unsafe) кода коснется чего-то, все в порядке.

На чьих плечах лежит эта ответственность?

Мы приходим к сделанному раньше утверждению — да, полезность кода на Rust основана на небезопасном коде. Несмотря на то, что это сделано несколько иначе, чем небезопасная имплементация основных структур данных в Python, реализация Vec, Hashmap и т. д. должна использовать манипуляции указателями в какой-либо степени.

Мы говорим, что Rust безопасен, с фундаментальным допущением, что небезопасный код, который мы используем через наши зависимости либо от стандартной библиотеки, либо от кода других библиотек, корректно написан и инкапсулирован. Фундаментальное преимущество Rust заключается в том, что небезопасный код загнан в небезопасные блоки, которые должны быть тщательно проверены их авторами.

В Python бремя проверки безопасности манипуляций с памятью лежит только на разработчиках интерпретаторов и пользователях интерфейсов внешних функций. В C это бремя лежит на каждом программисте.

В Rust оно лежит на пользователях ключевого слова unsafe. Это очевидно, так как внутри такого кода инварианты должны поддерживаться вручную, и поэтому необходимо стремиться к наименьшему объему такого кода в библиотеке или коде приложения. Небезопасность обнаруживается, выделяется и обозначается. Поэтому, если в вашем коде на Rust возникают segfaults, то вы нашли либо ошибку в компиляторе, либо ошибку в нескольких строках вашего небезопасного кода.

Это неидеальная система, но, если вам одновременно нужны скорость, безопасность и многопоточность, то это единственный возможный вариант.

How to remove PUA:Win32/Vigua.A virus?

Run the setup file.

When setup file has finished downloading, double-click on the setup-antimalware-fix.exe file to install GridinSoft Anti-Malware on your system.

An User Account Control asking you about to allow GridinSoft Anti-Malware to make changes to your device. So, you should click “Yes” to continue with the installation.

Wait for the Anti-Malware scan to complete.

GridinSoft Anti-Malware will automatically start scanning your system for PUA:Win32/Vigua.A files and other malicious programs. This process can take a 20-30 minutes, so I suggest you periodically check on the status of the scan process.

Click on “Clean Now”.

When the scan has finished, you will see the list of infections that GridinSoft Anti-Malware has detected. To remove them click on the “Clean Now” button in right corner.

Program 12

using System;

class MyClass {
	public static void Main() {
		TestClass Obj = new TestClass();
		Obj.fun();
	}
}

class TestClass {
	public unsafe void fun() {
		int [] iArray = new int;
		iArray++;

		int* iPointer = (int*)0;
		iPointer++;

	}
}

There are two different types of variable in this program. First, the variable
is declared an array and the second variable is a pointer variable. Now I am
going to increment both. We can increment the pointer variable because it is not fixed in memory but we
can’t increment the , because the starting address of the array is stored in
and if we are allowed to increment this then we will lose starting address of array.

The output of the program is an error.

Microsoft (R) Visual C# Compiler Version 7.00.9030 
Copyright (C) Microsoft Corp 2000. All rights reserved.

um12.cs(13,3): error CS0187: No such operator '++' defined for type 'int[]'

To access the element of the array via a pointer we have to fix the pointer so it can’t be
incremented. C# uses the reserve word to do this.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector