kanon 发表于 2015-4-23 11:57:36

sha1校验 校验class.dex和AndroidManifest.xml

本帖最后由 kanon 于 2015-4-23 15:05 编辑

先占个坑..吃完饭一会发
----------------------------------------------------------------
说道校验 那就想到md5啊 sha1啊等等校验
这玩意啊 大多数人啊 是没法写的 写了 同事也不敢用 用了啊 那绝壁是真爱啊

sha1库http://www.tamale.net/sha1/
页面里的使用教程也贴出来了


那么接下来就可以开工了
unsigned long file_size;
unsigned char *dexbuffer = CCFileUtils::sharedFileUtils()->getFileDataFromZip( getApkPath(), "classes.dex",   &file_size);
char* str=(char*)dexbuffer;
SHA1* sha1 = new SHA1();
sha1->addBytes( str,file_size);
unsigned char* digest = sha1->getDigest();
CCLOG(" %s",this->hexPrinter( digest).c_str());//输出16进制sha1值看看                           
delete sha1;
free( digest );
//注意啊 是,this->hexPrinter不是,sha1->hexPrinter   因为啊这个方法是自己写的   方法如下
std::string AppDelegate::hexPrinter( unsigned char* c ){
      std::string str2;
      int l=20;
      assert( c );
      while( l > 0 ){
                str2+= CCString::createWithFormat("%02x",*c)->getCString();
                l--;
                c++;
      }
      return str2;
}//已经能得到16进制的sha1值了 比较我就不写了
//最后附上某大神博客 对sha1和md5源码做了很详细讲解
http://blog.csdn.net/fullsail/article/details/8607567

















越狱 发表于 2015-4-23 16:31:15

沙发坐稳了

水波摇曳 发表于 2015-4-23 17:59:58

破解关键{:5_117:}
1.apk_Path路径转向验证包,验证包里只保存apk的dex和Main.xml验证文件;
2.对照他的MD5对应那些文件,如果修改了就改下so里面相应的MD5值,,

5Up4Shit 发表于 2015-4-26 22:58:30

那个教程是我见过最好的md5教程

飘飘然的感觉 发表于 2015-7-28 12:37:01

—最小化 发表于 2015-7-28 14:17:38

萤火之森 发表于 2015-7-31 11:27:45

沐小悠 发表于 2015-8-1 12:58:15

自重。 发表于 2015-8-3 14:54:56

冰冻冷咖啡 发表于 2015-12-6 00:27:47

这种加密方式,应该是可以修改对应的MD5,防君子不防小人啊
页: [1]
查看完整版本: sha1校验 校验class.dex和AndroidManifest.xml