当前位置: 首页 > news >正文

软件下载网站源码西宁高端网站建设公司

软件下载网站源码,西宁高端网站建设公司,做网站制作大概多少钱,扬州网站建设推广专家Jeb打开apk 关键代码在Native函数getResult IDA 打开 so 发现代码比较简单#xff0c;可以直接静态分析。 输出字符串也就是flag 长度是15#xff0c;然后分成三段#xff0c;第一段是可以整除3#xff0c;第二段是除3取余1#xff0c;第三段是除3取余等于2#xff1…Jeb打开apk 关键代码在Native函数getResult IDA 打开 so 发现代码比较简单可以直接静态分析。 输出字符串也就是flag 长度是15然后分成三段第一段是可以整除3第二段是除3取余1第三段是除3取余等于2 bool __fastcall Java_com_example_test_ctf03_JNI_getResult(JNIEnv *a1, int a2, int a3) {int v3; // r4const char *v4; // r8char *v5; // r6char *v6; // r4char *v7; // r5int i; // r0int j; // r0v3 0;v4 (*a1)-GetStringUTFChars(a1, a3, 0); //输入字符串if ( strlen(v4) 15 ) //判断输入字符串长度15{v5 malloc(1u);v6 malloc(1u);v7 malloc(1u);Init(v5, v6, v7, v4, 15); //输入字符串分成三段if ( !First(v5) ) //第一部分比较return 0;for ( i 0; i ! 4; i )v6[i] ^ v5[i];if ( !strcmp(v6, 5-\x16a) ) //第二部分比较{for ( j 0; j ! 4; j )v7[j] ^ v6[j];return strcmp(v7, AFBo}) 0; //第三部分比较}else{return 0;}}return v3; }Init 字符串分成三段 int __fastcall Init(int result, char *a2, char *a3, const char *a4, int a5) {int v5; // r5int v6; // r10int v7; // r6if ( a5 1 ){v6 0;}else{v5 0;v6 0;do{v7 v5 % 3;if ( v5 % 3 2 ) //除3取余 2 是第3段{a3[v5 / 3u] a4[v5];}else if ( v7 1 ) //除3取余 1 是第2段{a2[v5 / 3u] a4[v5];}else if ( !v7 ){v6;*(result v5 / 3u) a4[v5]; //除3是第1段}v5;}while ( a5 ! v5 );}*(result v6) 0;a2[v6] 0;a3[v6] 0;return result; }计算第一段 就是一个异或运算注意这里只计算了4位第5位不用算就是“l” First处理第一段 bool __fastcall First(char *a1) {int i; // r1for ( i 0; i ! 4; i )a1[i] (2 * a1[i]) ^ 0x80; //经过运算后判断是否 LN^dl 先乘以2再异或0x80, 反推就是用 LN^dl先异或0x80再除以2return strcmp(a1, LN^dl) 0; }可以算出第一段的值是 fgorl char[] chars new char[]{L,N,^,d,l};char[] res new char[5];for (int i 0; i 4; i) {res[i] (char) ((chars[i] ^ 0x80)/2);}res[4] l;System.out.println(res);计算第二段 第二段也是一个异或同样也只算4位第5位不用异或计算。注意这里的v5 不是上面计算出来的第一段的值是上面异或之后的也就是“LN^dl” for ( i 0; i ! 4; i )v6[i] ^ v5[i];if ( !strcmp(v6, a5A) )可以算出第二段的值 是 l{sra char[] c2 new char[]{0x20,0x35,0x2D,0x16,0x61}; //a5Achar[] r2 new char[5];for (int i 0; i 4; i) {r2[i] (char) (chars[i]^c2[i]); //chars 是上面的 LN^dl}r2[4] 0x61;System.out.println(r2);计算第三段 一样的套路还是异或计算4位第5位直接照搬是“}” for ( j 0; j ! 4; j )v7[j] ^ v6[j];return strcmp(v7, AFBo}) 0;可以计算出第三段 是 asoy} char[] c3 new char[]{0x41, 0x46, 0x42, 0x6F, 0x7D}; // AFBo}char[] r3 new char[5];for (int i 0; i 4; i) {r3[i] (char) (c2[i] ^ c3[i]);}r3[4] 0x7D;System.out.println(r3);组合起来就是flag 三段数据组合起来就是flag了 第一段fgorl -------------整除3对应的下标就是0,3,6,9,12 第二段l{sra -------------除3余1对应下标就是1,4,7,10,13 第三段asoy} -------------除3余2对应下标就是2,5,8,11,14 组合结果就是flag{sosorryla} 完整计算代码: public static void main(String[] args) {char[] chars new char[]{L,N,^,d,l};char[] res new char[5];for (int i 0; i 4; i) {res[i] (char) ((chars[i] ^ 0x80)/2);}res[4] l;System.out.println(res);//第二段char[] c2 new char[]{0x20,0x35,0x2D,0x16,0x61};char[] r2 new char[5];for (int i 0; i 4; i) {r2[i] (char) (chars[i]^c2[i]);}r2[4] 0x61;System.out.println(r2);//第三段char[] c3 new char[]{0x41, 0x46, 0x42, 0x6F, 0x7D};char[] r3 new char[5];for (int i 0; i 4; i) {r3[i] (char) (c2[i] ^ c3[i]);}r3[4] 0x7D;System.out.println(r3);//还原StringBuilder stringBuilder new StringBuilder();for (int i 0; i 5; i) {stringBuilder.append(res[i]);stringBuilder.append(r2[i]);stringBuilder.append(r3[i]);}System.out.println(stringBuilder);}
http://www.hkea.cn/news/14555134/

相关文章:

  • 网站建设公司seo关键词专门做网站搜索优化的公司
  • 制作手机广告的网站黄桃图片友情链接
  • 做网站的图哪来百度自动点击器下载
  • 网站用动态图片做背景怎么写中国广告商务网
  • 大连设计网站的公司五里店网站建设
  • 网站前台登录模板土石方工程网站
  • 创建免费网站wordpress是怎么实现自定义链接
  • 网站右边跳出的广告怎么做网站数据丢失
  • 网站正在建设中页面下载仿牌网站专用vps
  • 环保设备网站怎么做免费crm系统下载
  • 做淘客网站 备案貴阳建设银行网站
  • 没签合同网站做不好湘潭企业网站建设 磐石网络
  • 运城做网站价格html网页设计用什么软件
  • 广州企业模板建站wordpress 内网搭建
  • 企业网站建设和实现 论文怎么做家政的网站
  • 北京城乡建设和住房门户网站广西城乡建设厅官网
  • 昆山网站建设培训学校个人网站建设 开题报告
  • 网站宣传营销网上设计网站
  • 网站开发怎么做账深圳网站建设设
  • 前几年做那些网站致富制作xml网站地图文件
  • 做高效能的父母网站wordpress实用插件
  • 深圳app网站建设哪家好一台电脑赚钱的门路
  • 网站开发 国际网站域名查询app
  • win7 asp网站无法显示该页面电子商务网站建设市场
  • 重庆黄页网站网站的建设费用预算
  • 我注册过的网站杭州建筑市场信用网
  • 北京网站设计实力乐云践新六安人论坛百姓杂谈
  • 手机如何建立网站平台网站托管一年多少钱
  • 简述网站的建设步骤海宁网站怎么做seo
  • 网站和微信同步建设建设学校网站前的需求分析报告