YYHD-工作中一些总结(2)

1.git提交代码: cd 进到clone 目录下面,  git pull ,    git add 加上某目录 ,   git commit -m "..." ,     git push origin master

2.linux远程登录某机器:ssh root@10.0.0.59, root@10.0.0.59:/root/ostagram/public, scp复制文件

3.在ida找地址:调出String window查找字符串

4.cppFlags.addAll(["-O3", "-fvisibility=hidden"])   -----  so混淆
   isGooglePlayServicesAvailable   ---- 免google更改返回值 , data段也可以hook
5.插件制作注意: 先打印对象的内存数据如前50个,2.加血时可以找dead函数,然后观察哪个数据变0了,然后自己手加上。

6. 过签名校验: v0 = ((Context)this).getPackageManager().getPackageInfo(((Context)this).getPackageName(), 64).signatures[0].toCharsString();

7.  U3D取对象值:   int goldfiled;
        DataSet.getFieldValue("gold",&goldfiled,dataSet);  //方式1取对象数据
        //LogD("<%s> gold:%d",__FUNCTION__,goldfiled);
        goldfiled+=1000;

        void *gold=DataSet.getFieldBoxedValue(domain,"gold",dataSet);  //方式2取对象数据
        int a=*(int *)mono_object_unbox(gold);

        LogD("<%s> gold:%d",__FUNCTION__,a);
        DataSet.setFieldValue(domain,"gold", &goldfiled, dataSet);

//方法调用

     void *currentMana = PlayerModel.getFieldBoxedValue(domain, "currentMana", obj);
     float a = *(float *) il2cpp_object_unbox(currentMana);
     //LogD("<%s> currentMana -- %f", __FUNCTION__, a);
     if (a < 500) {
      a = a + 100;
      arg1[0] = &a;
      PlayerModel.invokeMethod("SetCurrentMana", arg1, obj);
     }

8. Thumb汇编占两个字节,hook时地址-1,而arm汇编不需要

9.去广告,可以关闭网络. U3D广告:function=ShowADView, className:IAPCNManager

     BannerView   --- show 

10.得到沙盒的重定向路径:getTargetApplication().getExternalCacheDir().getParent() 

11. Xposed 是hook不到native层反射调的java层的函数,因此是打不出log的。

12.doInBackground()未及时执行,也就是它并没有在execute()调用之后马上执行,而是等待了很久才得以执行。
因为是4.0平台,所以所有 的AsyncTask并不都会运行在单独的线程中,而是被SERIAL_EXECUTOR顺序的使用线程执行。因为我的应用中还有其他地方使用 AsyncTask,所以到网络取图片的AsyncTask也许会等待到其他任务都完成时才得以执行而不是调用executor()之后马上执行。
解决方法:要么直接使用Thread,要么创建一个单独的线程池 (Executors.newCachedThreadPool())。或者最简单的解法就是使用 executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR),这样起码不用等到前面的都结束了再执行。
//new InitAsyncTask().execute();
new InitAsyncTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);  //立即执行

13. cocos2d:  记录一下http的请求void HelloWorld::onHttpRequestCompleted,   --- fiddler 能够拦截修改请求的结果

14. fiddler Android下https抓包全攻略

15.获取c不定参数:

va_list valist;
va_start(valist, a2);
//LogD("<%s> a2 %s , num:%d", __FUNCTION__, a2,num);
int c;
if(a2[j]=='s'){
    c=(int)va_arg(valist, char *);
    LogD("<%s> a2 %s , num:%d, data:%s", __FUNCTION__, a2,num,c);
}else{
    c = va_arg(valist, int); //作为下一个参数类型的参数类型,返回不定参数
   // if(c==testCoin){
        LogD("<%s> a2 %s , num:%d, c:%d -- lr:%x, mybaseAdd:%x", __FUNCTION__, a2,num, c,lr-mybaseAdd, mybaseAdd);
   // }
}

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值