wifi 패스워드 보는 게 벡신대상인가?
2023.03.09 10:56
자신의 PC를 사용하다가 WIFI 패스워드 생각이 안날 때도 있을 터인데...
그걸 알아내기 위해 프로그램 만들었다고 바이러스로 진단하는 게 맞나?
이미 OS 에선 Tool 까지 제공하고 있다.
방법도 간단하다.
명령 프롬프트에서
netsh wlan show profile 하고 엔터치면...
프로필이 쭉 나오고...
해당 프로필이 KT_GIGA_5G_XX 로 되어 있다면...
netsh wlan show profile KT_GIGA_5G_XX key=clear 엔터치면...
여러 정보가 출력되는데... 거기서 '키 콘텐츠' 값이 해당 프로필의 패스워드 이다.
프로그램은 C#으로 만들든 C++로 만들 든 간단하게 만들 수 있는 거고.
댓글 [7]
-
harman777 2023.03.09 11:20
-
kernel 2023.03.09 12:06
예. 지금 봤습니다. 점심시간 이네요. 볼일 보고 돌아와서 확인해 보죠.
-
kernel 2023.03.09 15:02
질문 내용은 지금 봤고... 바빠서 요점 만 남깁니다.
일단 PEBakery 제작자는 Visual Studio IDE와 C#을 잘 활용하고 있다고 볼 수 있겠고.
TimeStamp는 쉽게 말하면... C++도 그렇고 C#도 그렇고...
프로그램 컴파일 과정에 MS Build 엔진이 개입하게 되어 있는데...
여기서 TimeStamp는 빌드시에 그러니까 컴파일 시에 타겟 프로그램의 Assembly 모듈에
사용자 한테는 Transparent 하게 컴파일 타임을 집어 넣는 역할을 하는 익스텐션 모듈이라고 볼 수 있지요.
Visual Studio IDE는 아주 잘 만들어진 환경이라 손이 자꾸 가는 개발환경 인데요...
잠깐 손님이...
-
kernel 2023.03.09 15:14
예를 들어서 .net WinForm으로 C# 프로그램을 만든다고 합시다.
private void button1_Click(object sender, EventArgs e) {
Text = GetTimestamp();
}
public static string GetTimestamp() {
var attribute = Assembly.GetExecutingAssembly()
.GetCustomAttributesData()
.First(x => x.AttributeType.Name == "TimestampAttribute");
return (string)attribute.ConstructorArguments.First().Value;
}
}
-
kernel 2023.03.09 15:27
여기서 TimestampAttribute는 소스코드 어디에서도 정의되어 있지 않은 심볼이라
컴파일해서 실행시 버튼을 누르면 Exception 이 발생하게 될 겁니다.
그럴 때... 프로젝트 옵션에서 "Manage Nuget Packges..."를 선택해서
TimeStamp라는 패키지를 Browse 로 찾아서 Timestamp 1.0.2 (by Simon Cropp) Install 하면
타겟 프로그램의 Project 셋업이 자동으로 바뀌게 됍니다.
Install 후 다시 컴파일 실행해서 버튼을 누르면 정상적으로 실행이 되어 Timestamp 값을 윈도우 창 캡션으로
출력하게 될 거고요.
Timestamp라는 익스텐션 모듈이 MS Build 엔진에 개입해서 타켓 프로그램의 Assembly Module 에
Attribute 값을 집어 넣어 주기 때문이죠.
바빠서 이해했으리라 생각하고 이만...
-
kernel 2023.03.09 17:43
참고로... .Net Core 6.0을 타겟으로 한다면...
private void button1_Click(object sender, EventArgs e) {
Text = GetTimestamp();
}
public static string? GetTimestamp() {
var attribute = Assembly.GetExecutingAssembly()
.GetCustomAttributes(false)
.First(x => x.GetType().Name == "TimestampAttribute");
return (string?)attribute.GetType()
.GetProperty("Timestamp")!
.GetValue(attribute);
}
위와 같은 식으로 처리하면 됩니다.
UTC/DateTime 포맷 전환은 API 이용하면 되고...
-
harman777 2023.03.10 08:48
그런 것도 가능하다는 것을 처음 알았습니다.
비쥬얼 스튜디오는 프로그래밍 하는 사람들 한테는 천국인거 같아요.
감사합니다. 꾸벅~
정말 패스워드가 나오네요. 큭~
kernel님 부탁 좀 드립니다.
https://windowsforum.kr/free/19110575
제가 궁금한 점이있어 질문 좀 드렸는데 못보셨나 봐요.
답변 좀 부탁드립니다. 꾸벅~