전체 글(40)
-
DJI drone IDs are not encrypted 분석 - 1
이 연구 논문은 DJI 드론 ID 가 암호화되지 않았음을 검증하는 내용을 다루고 있다. DJI 는 처음에 자사의 드론 ID 가 암호화되었다고 주장했으나, 보안 연구원 케빈 핀스터레(Kevin Finisterre)가 트위터를 통해 Mavic Mini SE 드론 ID 가 강화된 Wi-Fi 를 통해 평문으로 탐지될 수 있음을 보여주어 그 주장이 잘못되었음이 밝혀졌다. 진정한 암호화는 정보를 해독하기 위해 키가 필요하지만, OcuSync 복조에는 키가 필요하지 않다. 이 연구는 오픈소스 경로를 통해 제공된 복조 단계를 상세히 설명한다. DJI 드론 원격 식별 패킷은 IEEE 802.11 Wi-Fi 비콘 관리 프레임에 통합된다. 802.11 Wi-Fi 비콘 관리 프레임은 차량의 존재를 알리도록 설계되었다. 그림 ..
2023.11.27 -
CodeEngn basic 17(write up)
안녕하세요. 오랜만 입니다. 요즘 이것 저것 준비하면서 바쁘게 지내서 포스팅을 많이 못했네요.. 최근에 CodeEngn문제 다시 풀어보고 있는데 리버싱을 처음접하는 사람이 조금 hard하다라는 문제 위주로 포스팅 진행하고 있습니다. 이 문제를 보면 KEY값 주어지고 NAME이 한자리이라고 하네요.. 그리고 NAME값의 MD5 해쉬값을 구하라고 하네요.. 음 처음 봤을 때 A-Z,a-z,0~9이런식으로 무작위 대입하면 답이 나올꺼라고 생각하고 답을 구했는데 이 방법은 리버싱 실력향상에 도움이 되지 못합니다. 따라서 내부적인 코드를 분석해보겠습니다. KEY값은 BEDA-2F56-BC4F4368-8A71-870B입니다. 올리 디버거를 이용해 내부 STRING을 서치 합니다. 다음 코드에서 0045BB24에 C..
2023.11.19 -
Position(reversing.kr) write-up
정말 빡센 문제입니다... 이렇게 입력을 받는데 체크하는 버튼은 없습니다. 따라서 input값들이 다 맞아 떨어질때 correct를 출력할 것 입니다. 저는 처음에 감을 못잡아서 ollydbg로 전체 브레이크 포인트를 걸어서 디버깅작업을 해봤습니다. (노가다...) 결과적으로 저기 함수(Position)에서 연산이 일어납니다. 하여튼 이 뒤로 개노가다여서 노가다한 내용을 정리해보았습니다. ABCDEF COUNT = 7 (제가 입력한 값) 총 NAME COUNT = 4 (프로그램에서 원하는 값) 입력 첫 문자 0x61 '' >0x7A 되면 점프됨 따라서 2) & 1) + 5; v46 = ((i >> 3) & 1) + 5; v34 = (j & 1) + 1; v40 = ((j >> 4) & 1) + 1; v3..
2023.11.19 -
reversing.kr CSHOP풀이
프로그램을 실행시키면 다음과 같습니다. 아무 정보가 없어요,,, PEID로 확인해보면 C#으로 컴파일된 것을 아실 수 있습니다. 저는 DOTPEEK를 이용해서 디컴파일을 진행하였습니다. 근데 처음 디컴파일 하면 \u0083\u0083\u0083\u0083이런식의 변수 이름이 보일 것 입니다. 이 부분은 VISUAL STUDIO로 열어서 CTRL+H를 이용해서 REPLACE해주면 저렇게 깔끔하게 됩니다. 그리고 저 텍스트 값들 나열하면 답일 것이라고 생각하실텐데 저도 처음에는 그랬는데 저건 답이 아닙니다. 이 코드를 보면 그 이유를 아실 수 있습니다. LOCATION(위치)이 다르기 때문에 저 TEXT를 일렬로 나열한 것은 의미가 없습니다. 근데 처음 BTN.SIZE가 처음에 0,0인데 이를 100,100..
2023.11.13 -
Reversing.kr ransomeware
일단 디크립트된 파일의 확장자가 exe라는 정보가 있습니다. 이 파일이 UPX패킹이 되어 있어서 UPX 언패킹을 해주면 다음과 같은 어셈블리 코드가 보입니다. 근데 이 코드 너무 난잡하니 SEARCH STRING기능을 이용하겠습니다. KEY STRING을 더블 클릭 합니다. 브레이크 포인트를 걸고 스탭오버합니다. 저는 KEY를 예시로 12345로 했습니다. 분석 결과 KEY값은 파일을 복호화할때 CHAR형으로 인식되어 1에 CHAR형에 해당하는 ASCII넘버 31, 32, 33, 34, 35형태로 복호화가 진행됩니다. 그리고 FOPEN를 통해 파일을 불러주는 것을 아실 수 있습니다. 여기서 계속 진행하다보면 파일의 1바이트씩 값을 불러와서 다음과 같은 규칙으로 복호화가 진행됩니다. file's 1byte..
2023.11.13 -
reversing.kr Direct3D FPS 문제 풀이
저 프로그램을 실행하면 다음과 같은 게임화면이 나옵니다. 저도 처음에 어려워서 다른 사람이 어떻게 조금 참고했습니다. 여러분도 어려우시면 제 풀이 보시고 감을 잡으셨으면 좋겠네요.. 근데 무작정 디버깅하면 노가다니까 string값들을 봅니다. 근데 하다보니까 고구마가 보여서 고구마를 더블 클릭했습니다. 그랬더니 다음과 같은 루틴이 나오는데 이 루틴을 패스하고 ebx값을 보면 0x32값이 나오는데 이를 10진수로 표현하면 50입니다. 그니고 밑에 보면 floor, wall등 맵에 대한 정보를 불러옵니다. 여기서 재미 삼아서 저거 call 부분 없애면 더 잼이 있습니다. 그리고 스트링 값들 중에서 game clear를 더블 클릭하면 저렇게 나오는데 저기는 text인자 값이 엉망입니다. 아마도 저 텍스트 값이..
2023.11.05