Exemplo n.º 1
0
 @Around("execution(* brut.androlib.res.data.ResPackage.getResSpec(..))" + "&& args(resID)")
 public ResResSpec getResSpec(ProceedingJoinPoint joinPoint, ResID resID) throws Throwable {
   try {
     return (ResResSpec) joinPoint.proceed(joinPoint.getArgs());
   } catch (UndefinedResObject e) {
     if (ShakaDecodeOption.getInstance().isFuckUnkownId()) {
       ResPackage thiz = (ResPackage) joinPoint.getThis();
       return new ResResSpec(
           resID,
           String.format("[%08x]", resID.id),
           thiz,
           new ResTypeSpec("FuckUnkownId", thiz.getResTable(), thiz, (byte) (resID.id & 0xFF), 0));
     } else {
       throw e;
     }
   }
 }