마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

악성코드 분석 중 인데 도통 모르겠습니다..

0 추천
아래와 같은 구문이 있습니다..
주석을 달면서 하나하나 분석하고 있는데 
도통 이해가 안가네요 ...  
악성코드.apk파일을 자바디컴파일러를 통해 디컴파일하여 복원시킨 소스입니다..
설명 좀 해주실 수 있으신가요 >?
 void flushCommands(Command... paramVarArgs)
  {
    Log.d("MSG", "FLUSH");//Log.d -> 디버그 메시지를 기록
    synchronized (this._cmdCache)
    {
      Collections.addAll(this._cmdCache, paramVarArgs);
      if (!isOnline()) {
        return;
      }
    }
    Runnable local5 = new Runnable()
    {
      public void run()
      {
        ArrayList localArrayList = new ArrayList();
        synchronized (Plugin.this._cmdCache)
        {
          Iterator localIterator1 = Plugin.this._cmdCache.iterator();
          while (localIterator1.hasNext())
          {
            Plugin.Command localCommand2 = (Plugin.Command)localIterator1.next();
            if (!localCommand2.running)
            {
              localCommand2.running = true;
              localArrayList.add(localCommand2);
            }
          }
        }

 

쩁쩁잽쩁 (120 포인트) 님이 2014년 12월 4일 질문

1개의 답변

0 추천
flushCommand 는 파라미터로 넘어온 커맨드를
내부 커맨드 리스트에 추가하는 거구요

밑의 runnable 은 내부 커맨드 리스트를 모두 돌면서 커맨드가 실행되고 있지 않으면 지역변수에 넣는건데요
이후 구문에서 내부 리스트를 사용하지 않고 있습니다

저것들은 실제 악성코드랑 상관없구요
 Command  클래스를 봐야 알꺼같네요
mamondebaltob (32,750 포인트) 님이 2014년 12월 4일 답변
...