2023 리버싱 (17) 썸네일형 리스트형 [Reversing.kr] Replace ...흠... 디버거로 열어보자. get input 부분이 사용자 입력 받고 4084d0 에 저장. 4084d0 에 저장된 값 +1. 그 밑에 jmp로 가면 여기서 F8를 누르면 에러 발생시 eip 에 있는 코드를 보면, eax 에 저장된 주소로 따라가서 NOP 을 채우는 것 같다. 0x601605CA + ( input + 1 ) = eax nop으로 바꼈다! 2687109798!!!!!! 성공! [Reversing.kr] flash encrypt Releases · jindrapetrik/jpexs-decompiler (github.com) Releases · jindrapetrik/jpexs-decompiler JPEXS Free Flash Decompiler. Contribute to jindrapetrik/jpexs-decompiler development by creating an account on GitHub. github.com swf 파일의 디컴파일러인 JPEXS를 다운받아 살펴보자!! scripts\BUTTONCONACTION 파일에서 공통으로 전역 함수 gotoAndPlay 가 있는 걸 볼 수 있다. 1456, 25, 44, 8, 88, 20546 순으로 입력해주면 될 것 같다. adobe flash palyer 30 을 이용해.. [Reversing] ImagePrc 흠... 한 번 해봤더니 안 된다. 문자열을 찾아 wrong 이 수상하니.. 이를 들어간다. MessageBox에 중단점 설정해 지켜보자.. 004013AA >> jne 명령어를 써서 Wrong 메시지 박스를 내놓는 루틴으로 jmp 하는 것을 확인 가능하다. 각각의 인자들로 0, 65, 18이 넘어가는 것을 확인 가능하며, ID가 65인 리소스를 갖고 있음. PEView로 파일을 열어보면 ID가 65인 리소스를 확인할 수 있다!!!!! width=0xC8 * height=0x96 10진수론 200 * 150 offset 00009060 부터 0001EFE0 까지를 긁어서 그림판에서 bmp 파일을 200*150으로 저장한 다음, 이 bmp 파일을 Hxd로 열어 뒤에 FF 부분을 복사한 부분으로 대치시킨다... [Reversing.kr] Direct3D FPS ollydbg로 fps.exe를 열어봤을 때, string 을 타고 들어가봤더니 이 곳이 뭔가 수상했다. 고구마를 좀 잡아보니... 이렇게 변하네 다 잡으면 플래그가 나올 줄 알고 잡았더니..... 나오지 않았다. 아무래도 다른 방법이 필요한듯 하다. 확인해보니!! 몬스터를 잡으면 한글자씩 복호화 됨. 어떤 50바이트와 숫자배열[0x00 ~ 0xc4]과 xor 연산 中 복호화는 배열의 순서에 따라 진행... 요 부분이 플래그같다. flag="""43 6B 66 6B 62 75 6C 69 4C 45 5C 45 5F 5A 46 1C 07 25 25 29 70 17 34 39 01 16 49 4C 20 15 0B 0F F7 EB FA E8 B0 FD EB BC F4 CC DA 9F F5 F0 E8 CE F0 .. [Reversing.kr] Ransomware readme.txt를 보면 복호화된 파일 = 실행 파일 xor 하는 핵심부분을 찾았다.... 파일을 한바이트씩 가져와서 입력한 키의 값을 XOR 연산, 연산 값을 다시 0xFF과 XOR연산하는 것으로 보인다. 첫번째로 XOR 연산하기 전에 ECX값이 FFFFFFDE이었고, XOR 연산후에 ECX 값이 FFFFFFEF로 바뀐 것을 확인할 수 있다. 2번째 XOR 연산 하기 전, EDX에 FFFFFFEF가 들어가있다. 2번째 XOR 연산을 한 후에 EDX에 FFFFFF10이 들어가 있는 것을 볼 수 있다. 13바이트가 계속 반복되는걸로 봐... 이게 플래그 길이임을 알 수 있다!!!!!! 파이썬 코드를 짜보았다. exe='4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 .. [Reversing.kr] music player 미리듣기만 가능하댄다. 이를 늘려주는게 관건인 듯 하다. 0x404563을 보면 eax, EA60 재생했던 시간 밀리 초와 60000밀리 초(60초, 1분)을 비교하고 있다. 만약 재생했던 시간이 60000밀리 초보다 클 경우 점프하지 않고(JL은 결과가 작을 경우 점프한다.) 더 이상의 재생을 막는 루틴으로 실행 흐름이 넘어간다. JL을 무조건 점프할 수 있도록 JMP로 수정했다. 1분 이후로도 노래가 나오지만, 타임 에러가 발생했다...!!!!!! "004046B9"에서 "vbaHresultCheckObj() 함수"를 호출하려다 에러가 발생했다. 함수 호출을 막기 위해 'NOP'로 바꿔줬다. LIstenCare!!!! [Reversing.kr] easy elf ida에서 열어주었다. main 함수로 들어가 sub_8048451() 로 들어가준다. ______804A021 요런게 메모리주소이다!! ^= xor 한 연산을 또 xor 해주면 해당 값이 나오게될것이다 순서대로 나열해준다. ASCII code for '1' = 49 ASCII code for 'X' = 88 연산을 해주고 각 메모리주소 순서대로 나열하면, 첫번째 글자는 'L', 두번째는 '1', 세번째는 'N', 네번째는 'U', 다섯번째는 'X'로 모두 합치면 'L1NUX'가 된다. L1NUX [Reversing.kr] easy unpack 창을 열어보면 이렇게 나온다. oep를 찾으랜다..... peid 를 다운받는다. 흠... generic oep finder 를 돌려보자! 찾았다. 00401150 이전 1 2 3 다음