코드엔진 Basic RCE L

코드엔진 Basic RCE L03 풀이

Lamed_Dhhd 2023. 1. 31. 22:55
반응형

2023-02-01에 쓸 예정

CodeEngn Challenge 링크 https://ch.codeengn.com/

 

CodeEngn.com [코드엔진]

코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다.

ch.codeengn.com

Basic RCE L03
비주얼베이직에서 스트링 비교함수 이름은?


Author: Blaster99 [DCD]
File Password: codeengn

동영상: https://www.youtube.com/watch?v=BnVU_nEl_xY

상세설명

Detect It Easy로 보면 Visual Basic 5.0으로 만들어진 걸 확인할 수 있다. 우리는 어셈블리어로 볼수있지만 전용 프로그램인 VB Decompiler를 쓰면 더 편하다.

열어서 Registerieren을 클릭하면

Command1이 이름이니 밑에 Code에 Command1_Click은 Registerieren이 클릭될 때 불러오는 함수이다.

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

2G83G35Hs2를 입력하면 정답이다 하지만 여기까지는 도구 소개였고 우리는 문제는 "비주얼베이직에서 스트링 비교함수 이름은?"이다. 

Advaced를 클릭하고 가져오기를 클릭한다.

__vbaStrCmp가 비주얼베이직에서 스트링 비교함수 이름이다.

VB를 소스코드로 보여주는 도구를 보여준 이유는 번외편에서 똑같이 만들기를 하기때문입니다. (보러갑시다.)

https://dhhd-goldmilk777.tistory.com/239

 

코드엔진 RCE BASIC 03 번외풀이1

 

dhhd-goldmilk777.tistory.com

 

반응형