multiplicative 혼자 못풀었음

2018. 1. 7. 04:050x02 Reverse Engineer/0x02. Reversing.kr

728x90

자바 문제다. jar은 jdgui를 이용하면 된다.


뭐지..... 실화인가.. 


jar 옵션을 이용해서 직접 실행해보자.




이건 또 무슨 소리냐.. 64비트 부호화 int에 접근하라? 


아무거나 입력했다. 인자 값이 주어져야 하나보다.


부호화 정수를 입력하라는 뜻이었나보다. usage로 해주지.. ㅠㅠ 


구글링을 좀 더 해보았다. 이런 방법을 알게 되었다. jar로 class를 만들고 class파일을 java로 변환한다.


와.. 개신기 ..


// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.

// Jad home page: http://www.kpdus.com/jad.html

// Decompiler options: packimports(3) 

// Source File Name:   JavaCrackMe.java


import java.io.PrintStream;


public class JavaCrackMe

{


    public JavaCrackMe()

    {

    }


    public static final synchronized volatile transient void main(String args[])

    {

        try

        {

            System.out.println("Reversing.Kr CrackMe!!");

            System.out.println("-----------------------------");

            System.out.println("The idea came out of the warsaw's crackme");

            System.out.println("-----------------------------\n");

            long l = Long.decode(args[0]).longValue();

            l *= 26729L; // I = I * 26729 = 0xeaaeb43e477b8487 

            if(l == 0xeaaeb43e477b8487L)

                System.out.println("Correct!");

            else

                System.out.println("Wrong");

        }

        catch(Exception exception)

        {

            System.out.println("Please enter a 64bit signed int");

        }

    }

}



-57469125044203

음수가 나온다..  프린트 문에 warsaw's crackme를 참고하라고 되어있다. 


그럼 참고해야지 가자 


여기서 본 키워드 

“use of prime numbers in calculating hash values”,”Integer overflows” & lots more or simply do it the easy-peasy way.



여기서 하라는 대로 다 했는데 안된다. 


이 문제는 라이트업을 볼 수 밖에 없을 것 같아서 보았다. ㅠㅠ 


수학이 너무 약한 나 


시간내서 정수론을 한번 배우자. 


혼자 풀지 않아서 영 찜찜하다.. 






'0x02 Reverse Engineer > 0x02. Reversing.kr' 카테고리의 다른 글

TWIST 드디어 풀었다.  (0) 2018.02.27
AutoHotKey1  (0) 2018.02.02
Position  (0) 2018.01.05
CRC1  (0) 2018.01.05
PEpasswd  (0) 2017.12.01