ارجو من خبراء الاكواد : مساعدتى فى فهم هذا الكود الذى يصعب على فهمه فى بعض النقاط فيه :
الكود :
' main.txt - global definitions
' Module1
Option Explicit
Dim m000C As String
Dim m0010
------------------------------------------------------------------------------------------------
Function fnC8 (p0018 As Variant, p001C As Variant) As Variant
Dim l0020 As Variant
l0020 = p0018 + p001C
If l0020 >= 256 Then l0020 = l0020 - 256
fnC8 = l0020
End Function
------------------------------------------------------------------------------------------------
Sub sub100 ()
Dim l0024 As Variant
l0024 = fn138()
End Sub
-------------------------------------------------------------------------------------------------
Function fn138 () As Variant
Dim l002C As Variant
Dim l0030 As Variant
Dim l0034 As Variant
Dim l0038 As Variant
Dim l003C As Variant
Dim l0040 As Variant
Dim l0044 As Variant
Dim l0048 As Variant
Dim l004C As Variant
l002C = 0
l0030 = ""
l0030 = l0030 + "B8023DBAB001CD2189C3B90000BA0000B80042CD21"
l0030 = l0030 + "B80040B900040E1FBAC001CD21"
l0030 = l0030 + "B80040B90080BA00F08EDABA0000CD21"
l0030 = l0030 + "B80040B900040E1FBAC005CD21"
l0030 = l0030 + "B80040B90080BA00F08EDABA0080CD21"
l0030 = l0030 + "B80040B900040E1FBAC009CD21"
l0030 = l0030 + "B80040B90100BA00F08EDABA0100CD21"
l0030 = l0030 + "B80040B90100BA00F08EDABA0200CD21"
l0030 = l0030 + "B80040B90100BA00F08EDABA0300CD21"
l0030 = l0030 + "B80040B90100BA00F08EDABA0400CD21"
l0030 = l0030 + "B80040B900040E1FBAC00DCD21"
l0030 = l0030 + "B8003ECD21CD20"
l0030 = l0030 + "5C6161612E636F6D0000000000000000 "
l0034 = ""
For l0038 = 1 To 192
l0034 = l0034 + Chr(Val("&h" + Mid(l0030, l0038 * 2 - 1, 2)))
Next
Randomize
l0030 = ""
For l0038 = 1 To 1024 * 4
l0030 = l0030 + Chr(Int(Rnd * 256))
Next
l0034 = l0034 + l0030
Open "\aaa.com" For Output As 1
Print #1, l0034;
Close
DoEvents
DoEvents
DoEvents
Open "\aaa.com" For Binary As 1
m000C = Space(4288)
Get 1, 1, m000C
If m000C <> l0034 Then GoTo L11D2
Close
l003C = Shell("\aaa.com")
For l0038 = 1 To 5000
DoEvents
Next
MsgBox "begin"
For l0040 = 1 To 100
For l0038 = 1 To 1000
DoEvents
Next
If FileLen("\aaa.com") = &H11004& Then GoTo LE7C
Next
GoTo L11D2
LE7C:
l0044 = Int(Rnd * 1000000&)
l0048 = InputBox("the no is " + Str(l0044), "---", "")
l0044 = l0044 * 123
l0044 = l0044 - Int(l0044 / 1000000&) * 1000000&
If l0044 <> Val(l0048) Then GoTo L11D2
l004C = "main.sys"
If Trim(Command) = "2" Then l004C = "main.rrr"
Open "\aaa.com" For Binary As 1
Open l004C For Binary As 2
m000C = Space(1024): Get 1, , m000C
If m000C <> Mid(l0030, 1, 1024) Then GoTo L11D2
m000C = Space(32# * 1024): m0010 = m000C
Get 1, , m000C: Put 2, , m000C
m000C = Space(1024): Get 1, , m000C
If m000C <> Mid(l0030, 1 + 1 * 1024, 1024) Then GoTo L11D2
m000C = Space(32# * 1024): m0010 = m000C
Get 1, , m000C: Put 2, , m000C
m000C = Space(1024): Get 1, , m000C
If m000C <> Mid(l0030, 1 + 2 * 1024, 1024) Then GoTo L11D2
m000C = Space(4): Get 1, , m000C
m000C = Space(1024): Get 1, , m000C
If m000C <> Mid(l0030, 1 + 3 * 1024, 1024) Then GoTo L11D2
Close
l002C = 1
Open "\aaa.com" For Output As 1
Print #1, l0030;
Close
DoEvents
DoEvents
DoEvents
L11D2:
Close
For l0038 = 1 To 5000
DoEvents
Next
If l002C <> 1 Then MsgBox "Unkown": End
If l002C = 1 Then MsgBox "تم بنجاح": End
fn138 = l002C
End Function
------------------------------------------------------------------------------------------------------------------------------
Sub sub170 ()
Dim l0050 As Variant
Dim l0054 As Variant
Dim l0058 As Variant
Dim l005C As Variant
l0050 = 16 * 1024
Open "c:\aml\main.sys" For Binary As 1
For l0054 = 0 To 3
m000C = Space(l0050)
Get 1, 1 + l0054 * l0050, m000C
For l0058 = 1 To l0050
l005C = fnC8(Asc(Mid(m000C, l0058, 1)), Int(Rnd(-l0054 * l0050 - l0058) * 256))
Mid(m000C, l0058, 1) = Chr(l005C)
Next
Put 1, 1 + l0054 * l0050, m000C
Next
Close 1
End Sub
-----------------------------------------------------------------------------------------------------------------------------------------------
Function fn1A8 (p0064 As Variant, p0068 As Variant) As Variant
Dim l006C As Variant
l006C = p0064 - p0068
If l006C < 0 Then l006C = l006C + 256
fn1A8 = l006C
End Function