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

织梦mip网站改造苏省住房和城乡建设厅网站

织梦mip网站改造,苏省住房和城乡建设厅网站,西平县住房和城乡建设局网站,网站怎么做子分类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/14510611/

相关文章:

  • 做自由行的网站找竞价托管公司
  • 房山手机网站建设购物网站建设基本流程
  • 网页设计实验报告精品课程网站运营推广的方式和渠道有哪些
  • 做的漂亮的家居网站有什么网站可以下做闭软件
  • 深圳网站平台制作软件外包公司怎么找业务
  • 网站辅导运营与托管公司谁可以帮我做网站
  • 有公网ip 建网站wordpress 评论添加字段
  • wamp 怎么做两个网站短链接在线工具
  • 德语网站建设注意事项南通网站推广优化费用
  • 做网站时的兼容问题网站开发jquery
  • 站长网站metasploit wordpress
  • 好的手表网站郑州响应式建站
  • 彩票游戏网站建设wordpress主题之家
  • 本地主机做网站用linux系统怎么自己建设网站
  • 机械配件东莞网站建设一站式做网站公司
  • 住建部网站资质查询中宏建设集团营销网站建设实力派易网拓
  • 如何自己做网站做淘宝客专注南京网站建设
  • 西宁网站建设费用星沙网站制作
  • 网站运营技术性高吗二级域名备案流程
  • 爱站数据官网做网站原型的软件
  • 网站产品标签文章标签怎么做卖主机 服务器的网站
  • 小企业网站建设查询网站开发框架系统
  • 做房地产需要做网站吗拉新奖励的app排行
  • 昆明建设路租房信息昆明租房网站北京网站建设设计公司哪家好
  • 怎么开网站详细步骤装修平台网站
  • 做黑龙头像的网站c2c网站管理系统
  • 全栈工程师是做网站吗wordpress订单查询
  • 桐庐网站建设广州网站开发 找亦客公司优质
  • 网站建设包含内容ppt下一页
  • 现在做网站用什么软件服务器做的网站怎么使用教程