ida pro so文件f5后伪c后的 jni函数优化

ida pro so文件f5后伪c后的 jni函数优化

自己写的原创工具生成的伪c代码进行处理以下是部分结果的例子

int __fastcall Java_com_esun_util_libc_JNINativeInterface_getRewardOptimizeResult(int a1, int a2, int a3, int a4, int a5, int a6)
{
  int v6; // r4@1
  int v7; // ST10_4@1
  int v8; // r7@1
  int v9; // r0@1
  int v10; // r1@1
  int v11; // ST1C_4@1
  int result; // r0@1
  char s; // [sp+24h] [bp-1001Ch]@1
  int v14; // [sp+10024h] [bp-1Ch]@1


  v14 = _stack_chk_guard;
  v6 = a1;
  v7 = (*(int (**)(void))(*(_DWORD *)a1 + 676))();
//原始代码   v8 = (*(int (__fastcall **)(int))(*(_DWORD *)v6 + 676))(v6);
  v8 = (*v6)->GetStringUTFChars(v6);
  memset(&s, 0, 0x10000u);
  v9 = _floatsidf(a5);
  v11 = api_prize_optimizer(v7, v8, v9, v10, a6, &s);
  _android_log_print(
    3,
    &unk_7EB8,
    "____getRewardOptimizeResult get matchlist:%s ___touzhulist:%s___money:%d___type:%d",
    v7);
  _android_log_print(3, &unk_7EB8, "____getRewardOptimizeResult result status: %d ______result: %s", v11);
//原始代码   (*(void (__fastcall **)(int))(*(_DWORD *)v6 + 680))(v6);
  (*v6)->ReleaseStringUTFChars(v6);
//原始代码   (*(void (__fastcall **)(int))(*(_DWORD *)v6 + 680))(v6);
  (*v6)->ReleaseStringUTFChars(v6);
//原始代码   result = (*(int (__fastcall **)(int, char *))(*(_DWORD *)v6 + 668))(v6, &s);
  result = (*v6)->NewStringUTF((JNIEnv *)v6, &s);
  if ( v14 != _stack_chk_guard )
    _stack_chk_fail(result);
  return result;
}

大老的网站

http://www.juhevip.cn?csdn

大老的qq:79234668

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值