반응형
2023-02-01에 쓸 예정
CodeEngn Challenge 링크 https://ch.codeengn.com/
Basic RCE L03
비주얼베이직에서 스트링 비교함수 이름은?
Author: Blaster99 [DCD]
File Password: codeengn
동영상: https://www.youtube.com/watch?v=xfACtfyb8ho
상세설명
사실은 완전히 재현하는데는 실패했다. 하지만 그 과정을 남기기 위해 글을 쓴다.
개발 도구인 Visual Basic 5.0을 설치하자 바이러스는 모르겠으니 개인의 선택에 맡기겠다.
https://winworldpc.com/product/microsoft-visual-bas/50
English로 다운받은 후 설치를 한다.(영상참고)
CD Key는 0401-3960953입니다.
설치후 Standard EXE를 열기한다.
이상태로 저장한다.
4개의 파일중 frm을 메모장으로 연다.
VB Decompiler로 Form 코드를 추출해보자
Form1을 클릭 후 Form을 클릭하면 코드가 나온다.
VERSION 5.00
Begin VB.Form Form1
Caption = "DCD VB5-CrackMe 1.0"
ScaleMode = 1
AutoRedraw = False
FontTransparent = True
BorderStyle = 1 'Fixed Single
Icon = "Form1.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ClientLeft = 1140
ClientTop = 1800
ClientWidth = 3735
ClientHeight = 2040
PaletteMode = 1
Begin VB.CommandButton Command2
Caption = "&Exit"
Left = 1680
Top = 1320
Width = 1215
Height = 495
TabIndex = 2
End
Begin VB.CommandButton Command1
Caption = "&Registrieren"
Left = 360
Top = 1320
Width = 1215
Height = 495
TabIndex = 1
End
Begin VB.TextBox Text1
Left = 1320
Top = 840
Width = 1815
Height = 285
TabIndex = 0
MaxLength = 10
End
Begin VB.Label Label3
Caption = "http://dcd.mainpage.net"
ForeColor = &HC00000&
Left = 600
Top = 480
Width = 2100
Height = 195
TabIndex = 5
AutoSize = -1 'True
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin VB.Label Label2
Caption = "Digital Cracker Domain"
ForeColor = &HFF0000&
Left = 120
Top = 120
Width = 3450
Height = 360
TabIndex = 4
AutoSize = -1 'True
BackStyle = 0 'Transparent
BeginProperty Font
Name = "Arial"
Size = 15.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin VB.Label Label1
Caption = "Regcode :"
Left = 360
Top = 840
Width = 900
Height = 195
TabIndex = 3
AutoSize = -1 'True
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin VB.Menu mnuprog
Caption = "&Programm"
Begin VB.Menu mnuexit
Caption = "&Exit"
End
End
Begin VB.Menu mnuabout
Caption = "&Über"
End
End
Attribute VB_Name = "Form1"
위에 문자를 복사 붙여넣어서 저장하고 frm을 더블클릭하여 다시 VB 5.0 개발 도구를 연다.
성공적으로 Form이 복사되었다.
오른쪽에 View Code를 코드를 복사 붙여넣는다.
코드는 Code부분에 있는 것들을 클릭하여 복사 붙여넣기 후 약간의 수정을 해주면 된다.
처리전
Private Sub Command1_Click() '402814
Dim var_5C As Variant
loc_004028E3: If (Form1.Text1.Text = "2G83G35Hs2") + 1 Then
loc_004029CF: If (MsgBox("Glückwunsch !", CLng(CLng(49)), "Glückwunsch !", 10, 10) = 1) Then GoTo loc_00402B47
loc_004029D5: End
loc_004029DC: Else
loc_004029E7: End If
loc_004029EA: call var_8014 = var_C4(Me, Me, 0, 0, 0)
loc_004029F5: Set var_5C = var_C4(Me, Me, 0, 0, 0)
loc_00402A01: var_B0 = var_5C
loc_00402A5A: If (var_5C.MousePointer = "2G83G35Hs2") Then
loc_00402B38: var_8024 = (MsgBox("Error ! Das Passwort ist falsch !", CLng(CLng(22)), "PASSWORT FALSCH !", 10, 10) = 1)
loc_00402B40: If var_8024 = 0 Then
loc_00402B42: End
loc_00402B47: End If
loc_00402B47: End If
loc_00402B50: GoTo loc_00402B75
loc_00402B74: Exit Sub
loc_00402B75: ' Referenced from: 00402B50
loc_00402B90: GoTo loc_undef 'Ignore this '__vbaFreeVar
End Sub
처리후
Private Sub Command1_Click() '402814
Dim var_5C As Variant
If (Form1.Text1.Text = "2G83G35Hs2") + 1 Then
If (MsgBox("Glückwunsch !", CLng(CLng(49)), "Glückwunsch !", 10, 10) = 1) Then GoTo loc_00402B47
End
Else
End If
'무슨 용도인지 도저히 모르겠다... 전문가가 와서 만들어주길...
'call var_8014 = var_C4(Me, Me, 0, 0, 0)
'Set var_5C = var_C4(Me, Me, 0, 0, 0)
var_B0 = var_5C
If (var_5C.MousePointer = "2G83G35Hs2") Then
var_8024 = (MsgBox("Error ! Das Passwort ist falsch !", CLng(CLng(22)), "PASSWORT FALSCH !", 10, 10) = 1)
If var_8024 = 0 Then
End
End If
End If
loc_00402B47:
Exit Sub
End Sub
이런식으로 하면서 만들면된다.
반응형
'코드엔진 Basic RCE L' 카테고리의 다른 글
코드엔진 Basic RCE L04 번외풀이 (0) | 2023.01.31 |
---|---|
코드엔진 Basic RCE L04 풀이 (0) | 2023.01.31 |
코드엔진 Basic RCE L03 번외풀이1 (0) | 2023.01.31 |
코드엔진 Basic RCE L03 풀이 (0) | 2023.01.31 |
코드엔진 Basic RCE L02 번외풀이-2 (0) | 2023.01.26 |