MPrevention

MPrevention Framework 에 대한 필수 API 를 정의

"앱 위변조 방지 플러그인은, 유상으로 제공/지원되므로, 앱위변조 솔루션을 도입하신 경우에만 이용 가능합니다."

Prevention API

앱 위변조 방지를 위한 기능을 제공한다.

위변조 환경설정

  • Manifest.xml

    • 앱위변조 체크를 위한 설정 파일

    <?xml version="1.0" encoding="UTF-8"?>
            <settings>
                    <prevention>
                            <server>https://xxx.xxx.xxx.xxx:xxxx/msp-gw-web-2.2.8/</server>
                            <rooting>n</rooting>
                    </prevention>
            </settings>
    
  • settings > prevention 에 대한 설정값

    Key

    Type

    Description

    server

    String

    앱 위변조 체크를 위한 서버 경로(구간 암호화를 위해, 반드시, SSL 적용 / https://로 설정)

    rooting

    String

    루팅 폰에서 처리를 위해, 강제 루팅값 설정 (배포시에는 반드시 n 로 설정을 해야 함)

루팅 체크

M.plugin('prevention').rooting()

Changed in version 2.1.0.

Example:

var result = M.plugin('prevention').rooting();

if ( result.status === 'SUCCESS' ) {
    if ( result.rooting === true ) {
        console.log( '루팅폰이 입니다.' )
    }
    else {
        console.log( '루팅폰이 아닙니다' );
    }
}
else {
    if ( result.error ) {
        console.log( result.error );
    }
    else {
        console.log( JSON.stringify( result ) );
    }
}

앱 위변조 체크

M.plugin('prevention').fraud( setting)

Changed in version 2.1.0.2.

Arguments
  • setting (Object) – 문서 뷰어를 위한 설정 정보

  • setting.rooting (Bool) – 루팅 체크 여부

  • setting.indicator (Bool) – 인디케이터 표시 여부

  • setting.callback (String) – 위변조 체크 결과 콜백 함수

  • 앱에 대한 위변조 여부를 체크한다.

Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들
  • jailbreak = rooting

  • oncheck = callback

  • check = callback

  • onfinish = callback

  • finish = callback

Example:

M.plugin('prevention').fraud(

{

        callback : function(event) {

                console.log(event);

                if (event.status === 'SUCCESS') {
                        if (event.rooting === true) {
                                console.log('루팅폰이 입니다.')
                        } else {
                                if (event.valid === false) {
                                        alert('앱이 유효하지 않습니다\n 계속 실행할 수 없어 종료합니다.');
                                        M.sys.exit();
                                } else {
                                        console.log('유효한 앱입니다.');
                                        M.page.html("main.html", {
                                                delay : 500,
                                                action : "NEW_SCR",
                                                orient : "PORT",
                                                animation : "DEFAULT"
                                        });
                                }
                        }
                } else {
                        if (event.error) {
                                console.log(event.error);
                                alert('앱이 유효하지 않습니다\n 계속 실행할 수 없어 종료합니다.');
                                M.sys.exit();
                        } else {
                                console.log(JSON.stringify(event));
                        }
                }
        }
});