Что нового

Помогите разобрать код

Статус
Закрыто для дальнейших ответов.

bed

Новичок
Сообщения
3
Репутация
0
Ребят посмогите разобрать код...
Код:
Func Fn002E($Arg00, $Arg01, $Arg02, $ArgOpt03 = 1)
	If $Arg00 <> 0 And $Arg00 <> 1 Then
		SetError(1)
		Return ""
	ElseIf $Arg01 = "" Or $Arg02 = "" Then
		SetError(1)
		Return ""
	Else
		If Number($ArgOpt03) <= 0 Or Int($ArgOpt03) <> $ArgOpt03 Then $ArgOpt03 = 1
		Local $Var0317
		Local $Var0318
		Local $Var0319
		Local $Var031A
		Local $Local002C[0x0100][2]
		Local $Var031B
		Local $Var031C
		Local $Var031D
		Local $Var031E
		Local $Var031F
		Local $Var0320
		Local $Var0321
		If $Arg00 = 1 Then
			For $Var0322 = 0 To $ArgOpt03 Step 1
				$Var0319 = ""
				$Var0318 = ""
				$Var0317 = ""
				For $Var0319 = 1 To StringLen($Arg01)
					If $Var0318 = StringLen($Arg02) Then
						$Var0318 = 1
					Else
						$Var0318 += 1
					EndIf
					$Var0317 = $Var0317 & Chr(BitXOR(Asc(StringMid($Arg01, $Var0319, 1)), Asc(StringMid($Arg02, $Var0318, 1)), 0x00FF))
				Next
				$Arg01 = $Var0317
				$Var031B = ""
				$Var031C = 0
				$Var031D = ""
				$Var031E = ""
				$Var031F = ""
				$Var0321 = ""
				$Var0320 = ""
				$Var031A = ""
				$Local002C = ""
				Local $Local002C[0x0100][2]
				For $Var031B = 0 To 0x00FF
					$Local002C[$Var031B][1] = Asc(StringMid($Arg02, Mod($Var031B, StringLen($Arg02)) + 1, 1))
					$Local002C[$Var031B][0] = $Var031B
				Next
				For $Var031B = 0 To 0x00FF
					$Var031C = Mod(($Var031C + $Local002C[$Var031B][0] + $Local002C[$Var031B][1]), 0x0100)
					$Var031A = $Local002C[$Var031B][0]
					$Local002C[$Var031B][0] = $Local002C[$Var031C][0]
					$Local002C[$Var031C][0] = $Var031A
				Next
				For $Var031B = 1 To StringLen($Arg01)
					$Var031D = Mod(($Var031D + 1), 0x0100)
					$Var031E = Mod(($Var031E + $Local002C[$Var031D][0]), 0x0100)
					$Var031F = $Local002C[Mod(($Local002C[$Var031D][0] + $Local002C[$Var031E][0]), 0x0100)][0]
					$Var0321 = BitXOR(Asc(StringMid($Arg01, $Var031B, 1)), $Var031F)
					$Var0320 &= Hex($Var0321, 2)
				Next
				$Arg01 = $Var0320
			Next
		Else
			For $Var0322 = 0 To $ArgOpt03 Step 1
				$Var031C = 0
				$Var031D = ""
				$Var031E = ""
				$Var031F = ""
				$Var0321 = ""
				$Var0320 = ""
				$Var031A = ""
				$Local002C = ""
				Local $Local002C[0x0100][2]
				For $Var031B = 0 To 0x00FF
					$Local002C[$Var031B][1] = Asc(StringMid($Arg02, Mod($Var031B, StringLen($Arg02)) + 1, 1))
					$Local002C[$Var031B][0] = $Var031B
				Next
				For $Var031B = 0 To 0x00FF
					$Var031C = Mod(($Var031C + $Local002C[$Var031B][0] + $Local002C[$Var031B][1]), 0x0100)
					$Var031A = $Local002C[$Var031B][0]
					$Local002C[$Var031B][0] = $Local002C[$Var031C][0]
					$Local002C[$Var031C][0] = $Var031A
				Next
				For $Var031B = 1 To StringLen($Arg01) Step 2
					$Var031D = Mod(($Var031D + 1), 0x0100)
					$Var031E = Mod(($Var031E + $Local002C[$Var031D][0]), 0x0100)
					$Var031F = $Local002C[Mod(($Local002C[$Var031D][0] + $Local002C[$Var031E][0]), 0x0100)][0]
					$Var0321 = BitXOR(Dec(StringMid($Arg01, $Var031B, 2)), $Var031F)
					$Var0320 = $Var0320 & Chr($Var0321)
				Next
				$Arg01 = $Var0320
				$Var0319 = ""
				$Var0318 = ""
				$Var0317 = ""
				For $Var0319 = 1 To StringLen($Arg01)
					If $Var0318 = StringLen($Arg02) Then
						$Var0318 = 1
					Else
						$Var0318 += 1
					EndIf
					$Var0317 &= Chr(BitXOR(Asc(StringMid($Arg01, $Var0319, 1)), Asc(StringMid($Arg02, $Var0318, 1)), 0x00FF))
				Next
				$Arg01 = $Var0317
			Next
		EndIf
		Return $Arg01
	EndIf
EndFunc
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
я даже знаю как он получен :D
непонятно чего ты хочешь. чтобы тебе его построчно разобрали? там одни элементарные функции. справку в руки и вперед.
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
OffTopic:
поддерживаю Kaster Декомпилировать разобрался как, значит и чтение справки не составит никакой трудности.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Тема закрыта.
 
Статус
Закрыто для дальнейших ответов.
Верх