吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2111|回复: 19
上一主题 下一主题

[Android 原创] 简单过搜狗输入法签名校验

  [复制链接]
跳转到指定楼层
楼主
发表于 2017-1-11 11:47 | 只看该作者 回帖奖励 |倒序浏览
群里聊天,某中二青年发来一张截图

那既然有很明显的文字提醒,想必跟踪起来也是很方便的,Androidkiller反编译下(这种app是不会加固的,最多混淆),搜索盗版关键词,在value/string.xml下找到后去代码层索引键名称check_key,发现
        if (!native_setup(SogouAppApplication.mAppContxet)) {
            Toast.makeText(SogouAppApplication.mAppContxet, SogouAppApplication.mAppContxet.getString(R.string.check_key), 1).show();
        }

点击native_setup后发现是个native方法,但这个类参数,方法都很多,直接搜索loadLibriay也没有搜到东西,由于这个恶native方法名字还是比较特殊的,直接notepad++全局文件搜索,最终在assets/raw下的sogouime下找到,IDA载入,发现导出函数就两个,直接进入jni_onload
[C] 纯文本查看 复制代码
void *__fastcall JNI_OnLoad(int a1)
{
  int v2; // r5@5
  int v3; // r5@5
  int v4; // [sp+4h] [bp-14h]@1

  v4 = 0;
  if ( (*(int (**)(void))(*(_DWORD *)a1 + 24))() )
    return (void *)-1;
  if ( sub_60B0() < 0 )
  {
    _android_log_print(6, "SogouIME-JNI", "ERROR: sogouime native registration failed\n");
    return (void *)-1;
  }
  v2 = operator new(0x10u);
  sub_CD8C();
  dword_F1B90 = v2;
  v3 = operator new(1u);
  sub_A900();
  dword_F1B94 = v3;
  return &loc_10004;
}

既然是动态注册,那就去寻找注册方法就行,代码中已经有很明显的log提示,那直接双击进入sub_60b0,找到结构体偏移地址off_EE028,
[Asm] 纯文本查看 复制代码
.data:000EE274                 DCD aNative_setup       ; "native_setup"
.data:000EE278                 DCD aLandroidCont_1     ; "(Landroid/content/Context;)Z"
.data:000EE27C                 DCD sub_6A14+1

双击进入sub_6A14
[C] 纯文本查看 复制代码
signed int __fastcall sub_6A14(int a1, int a2)
{
  int v2; // r6@1
  int v3; // r4@1
  signed int result; // r0@2
  int v5; // r5@4

  v2 = a2;
  v3 = a1;
  if ( sub_65F0() && (v5 = operator new(0x4B8u), sub_C87C(), v5) )
  {
    sub_6044(v3, v2, v5);
    result = 1;
  }
  else
  {
    result = 0;
  }
  return result;
}

可以看到此处有个判断,一个个看,双击进入sub_65F0

[C] 纯文本查看 复制代码
            "getPackageInfo",
            "(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;");
    if ( !sub_608C(v2) )
    {
      if ( v14 )
      {
        v15 = sub_6470(v2, v8, v14);
        if ( !sub_608C(v2) )
        {
          if ( v15 )
          {
            ((void (__fastcall *)(int, int))start)(v2, v13);
            ((void (__fastcall *)(int, int))start)(v2, v10);
            v16 = (*(int (__fastcall **)(int, int))(*(_DWORD *)v2 + 124))(v2, v15);
            v17 = (*(int (__fastcall **)(int, int, const char *, const char *))(*(_DWORD *)v2 + 376))(
                    v2,
                    v16,
                    "signatures",
                    "[Landroid/content/pm/Signature;");


看到这些字眼就知道是获取签名了,最终可以发现在获取到toCharString的签名后通过findClass调用了java中的md5方法与正确签名进行对比,如果签名相同返回为0,这里判断了<=0赋给返回值,那正确情况下返回值就是1,也就是true,那直接修改汇编代码mov r0,#1

在ida Options下打开显示机器码

直接在pop前将thumb指令改为01 20保存到文件即可

测试截图


点评

高手就是高手,我是没看懂的  发表于 2017-1-16 17:05

免费评分

参与人数 17威望 +1 吾爱币 +32 热心值 +16 收起 理由
使徒行者 + 1 用心讨论,共获提升!
独行风云 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
花落半歌 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
陌路、天涯 + 1 + 1 用心讨论,共获提升!
windclear + 1 + 1 谢谢@Thanks!
zhuzaiting + 1 + 1 谢谢@Thanks!
pistons + 1 + 1 用心讨论,共获提升!
spguangz + 6 + 1 我很赞同!
Hmily + 1 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
紫轩冰凌 + 3 + 1 你原来是妹纸啊 哈哈
厌猫喜狗 + 1 谢谢@Thanks!
william2568 + 1 + 1 谢谢@Thanks!
wi5101 + 1 + 1 用心讨论,共获提升!
wnagzihxain + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
fan0424 + 1 + 1 用心讨论,共获提升!
Three_fish + 1 + 1 谢谢@Thanks!
帅的谁爱 + 1 + 1 牛气哄哄

查看全部评分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

推荐
发表于 2017-1-11 15:32 | 只看该作者
我只想知道  你是个妹纸?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 1 反对 0

使用道具 举报

推荐
 楼主| 发表于 2017-1-16 16:28 | 只看该作者 |楼主
windclear 发表于 2017-1-16 16:10
IDA编辑完以后是用 Apply patchs to input file来保存到文件吗

嗯,可以的,

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

沙发
发表于 2017-1-11 11:49 | 只看该作者

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

藤椅
发表于 2017-1-11 11:58 | 只看该作者
只看懂一点点...还需要学习... 支持一下大神

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2017-1-11 12:08 | 只看该作者 |楼主
淡然出尘 发表于 2017-1-11 11:49
很认真的看完了,厉害了我的繁华妹子

又被淡然大神嘲讽了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

报纸
发表于 2017-1-11 12:26 | 只看该作者
还在学习中。IDA f5后的代码还是不太看得懂。。。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

地板
发表于 2017-1-11 12:31 | 只看该作者
小白 没看懂

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

7#
发表于 2017-1-11 12:31 | 只看该作者
毕竟是祖师爷

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

8#
发表于 2017-1-11 13:10 | 只看该作者
正在想 还原一个公交车查询的校验码生成的.so。。。 大神有空看下么。。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

9#
发表于 2017-1-11 13:18 | 只看该作者
学习了 膜拜繁华大佬

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2017-5-29 15:19

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表