Java基础题目7
7-31 字符串循环左移分数 20作者 白洪欢单位 浙江大学输入一个字符串和一个非负整数N,要求将字符串循环左移N次。输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。输出格式:在一行中输出循环左移N次后的字符串。输入样例:Hello World!2输出样例:llo World!He import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); int N = scanner.nextInt(); int len = str.length(); N=N%len; String result = str.substring(N)+str.substring(0,N) ...
Java基础题目6
7-26 单词长度分数 15作者 翁恺单位 浙江大学你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf("%c",...);来读入一个字符,直到读到.为止。输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。输入样例:It's great to see you here.输出样例:4 5 2 3 3 4import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String line = scanner.nextLine().trim(); ...
Java基础题目5
7-21 求特殊方程的正整数解分数 15作者 张彤彧单位 浙江大学本题要求对任意给定的正整数N,求方程X 2 +Y 2 =N的全部正整数解。输入格式:输入在一行中给出正整数N(≤10000)。输出格式:输出方程X 2 +Y 2 =N的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出No Solution。输入样例1:884输出样例1:10 2820 22输入样例2:11输出样例2:No Solutionimport java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int N = scanner.nextInt(); scanner.close(); boolean foundSolution = false; // 遍历可能的 X 值 ...
Java基础题目4
7-16 求符合给定条件的整数集分数 15作者 徐镜春单位 浙江大学给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。输入格式:输入在一行中给出A。输出格式:输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。输入样例:2输出样例:234 235 243 245 253 254324 325 342 345 352 354423 425 432 435 452 453523 524 532 534 542 543 import java.sql.SQLOutput;import java.util.Scanner;public class Main { public static void main(String[] args) { int A = 0; int x,y,z; int count = 0; Scanner sc = new Scanner(System.in); A = sc.n ...
Java基础题目3
7-12 两个数的简单计算器分数 10作者 沈睿单位 浙江大学本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。输出格式:当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。输入样例1:-7 / 2输出样例1:-3输入样例2:3 & 6输出样例2:ERROR import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); scanner.clo ...
Java基础题目2
7-7 12-24小时制分数 15作者 翁恺单位 浙江大学编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。输入格式:输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。提示:在scanf的格式字符串中加入:,让scanf来处理这个冒号。输出格式:在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM表示下午5点零6分。注意,在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00就是12小时制的12:0 PM;而0点被认为是第二天的时间,所以是0:0 AM。输入样例:21:11输出样例:9:11 PMimport java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new S ...
Java基础题目1
7-1 厘米换算英尺英寸分数 15作者 翁恺单位 浙江大学如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。英寸的值应小于12。输入样例:170输出样例:5 6 import java.util.Scanner;public class Main { public static void main(String[] args) { int cm = 0; Scanner sc = new Scanner(System.in); cm=sc.nextInt(); double m = cm/100.0; double totalinch = m/0.3048; int inch = (i ...
java1
HelloWorld1.随便新建一个文件夹,存放代码
2.新建一个Java文件
文件后缀名为.java
Hello.java
【注意点】系统可能没有显示文件后缀名
3.编写代码
public class Hello{ public static void main(String[] args){ System.out.print("Hello,World"); }}
4.编译javac java文件,会生成一个class文件
5.运行class文件,java class文件
可能会遇到的情况1.每个单词的大小写不能出现问题,Java是大小写敏感的;
2.尽量使用英文;
3.文件名和类名必须保持一直,并且首字母大写
4.符号使用了中文的
Scanner的使用package scanner;import java.util.Scanner;public class Demo01 { public static void main(String[] args) { Scanne ...
市面app加固情况
可用jadx自带的反混淆
下载wallbreaker用于绕过软件的保护机制
git clone https://github.com/hluwa/Wallbreaker
加载wallbreakerplugin load /root/桌面/lesson4/Wallbreaker
查询类plugin wallbreaker objectsearch app.huawei.auto.message.ui.MessageMainActivity
查询类的结构plugin wallbreaker objectdump 0x2b5a(0x2b5a为搜索出来的编号)
使用github frida_fartgit clone https://github.com/hanbinglengyue/FART
使用frida_fart反射脱壳查找find /root/桌面/lesson4/FART/frida_fart -name "frida_fart_reflection.js"在vscode的终端中frida -UF -l /root/桌面/lesson4/FART/fr ...
了解APP加固技术
这个不知道讲了什么。。。蛮记录下
常见混淆资源混淆https://github.com/shwenzhang/AndResGuard
代码混淆ProGuardProGuard是一个开源的Java代码混淆器,在Android中一提起ProGuard,我们通常第一想到的是用来混淆代码的,其实它的功能并不仅限于此,有以下四个功能:(1)压缩(Shrink):侦测并移除代码中无用的类、字段、方法和特性(2)优化(Optimize):对字节码进行优化,移除无用的指令(3)混淆(Obfuscate):使用a,b,c,d这样简短而无意义的名称,对类、字段和方法进行重命名(4)预检(Preverify):在Java平台上对处理后的代码进行预检
字符串加解密https://mp.weixin.qq.com/s/SRv1Oar87w1iKuDXS4oaew
ollvm混淆定义 OLLVM是一个流行的代码混淆工具,常用于国内移动安全领域。其主要混淆技术包括控制流平坦化、虚假控制流和指令替代,这些方法能有效提高代码的反逆向工程能力。开发者可以通过GitHub上的源码研究其实现细节,学习如何利用OLLVM来保护 ...