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来保护 ...
FRIDA轻量化内存脱壳
安装pyenvgit clone https://github.com/pyenv/pyenv.git ~/.pyenvecho 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrcecho 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrcecho 'eval "$(pyenv init -)"' >> ~/.bashrcexec "$SHELL"
安装pyenv版本pyenv install 3.8.0pyenv local system 让python变成系统版本(安装失败)apt updateapt install -y libbz2-dev libreadline-dev libssl-dev zlib1g-dev查看版本pyenv versi ...
体验FRIDA轻量化内存dump脱壳
切换python版本pyenv local 3.8.0pyenv local 3.8.5
启动jeb若是权限不够要赋予权限chmod +x jeb_linux.sh./jeb_linux.sh
使用命令将手机中的apk放到虚拟机adb pull /sdcard/Android/data/com.coolapk.market/files/Download/鸿蒙智行-1.2.4.310-120403100-941817.apk
将jadx加入环境变量echo 'export PATH=$PATH:/root/桌面/jadx-1.2.0/bin' >> ~/.bashrcsource ~/.bashrc
用jadx打开jadx-gui 鸿蒙智行-1.2.4.310-120403100-941817.apk
frida-server缺失了就去下,注意要下Android的arm64,否则无法执行下面指令
连接到目标应用,启动交互式通话objection -g app.huawei.motor explore
列出所有activityandroid ho ...
逆向环境配置
install vmtoolsls /media/cdrom0cp /media/cdrom0/VMwareTools-*.tar.gz ~/cd ~tar -zxvf VMwareTools-*.tar.gzcd vmware-tools-distribsudo ./vmware-install.pl或者:sudo apt install open-vm-tools-desktop -y
更新时区dpkg-reconfigure tzdata
切换中文sudo dpkg-reconfigure locales重启reboot
回退到bashchsh -s /bin/bash
下载Android studiowget https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2024.1.1.12/android-studio-2024.1.1.12-linux.tar.gz
启动Android studio要在bin目录下./studio.sh
启动jadx要在bin目录下./jadx-gui
添加Andr ...
Smali汇编
Smali简介:Smali是用于Dalvik(Android虚拟机)的反汇编程序实现,汇编工具(将Smali代码汇编为dex文件)为smali.jar。
Smali支持注解、调试信息、行数信息等Java的基本特性,可以说是很接近Java编译在JVM上的中间语言了,一般用来做Android程序的逆向工程
Smali基础下面的内容涉及一些Smali编程的结构和基本语法
Smali文件结构一个Smali文件对应的是一个Java的类,更准确的说是一个.class文件,如果有内部类,需要写成ClassName$InnerClassA、ClassName$InnerClassB…这样的形式
基本类型
对象Object类型,即引用类型的对象,在引用时,使用L开头,后面紧跟着的是完整的包名,比如:java.lang.String对应的Smali语法则是Ljava/lang/String
数组数组定义比较有意思,一维数组在类型的左边加一个方括号,比如:[I等同于Java的int[]],每多一维就加一个方括号,最多可以设置255维
方法声明及调用官方Wiki中给出的Smali引用的方法 ...
root
root1、adb reboot bootloader
2、fastboot boot recovery.img
3、清除
4、重启
5、adb push magisk.apk /data/locla/tmp/a.zip
6、fastboot boot recover.img
7、install
8、重启
9、修改语言,卸载magisk应用,重新安装magisk的apk
10、选择安装,直接安装,重启
dex反编译工具的安装和使用
jadx的安装和使用简介jadx可以一键把apk文件还原成Java代码,使用起来很简单,功能强大,还具有一些附加功能可以辅助代码追查,其主要具有如下几个功能:
1、除了反编译apk文件,还可以反编译jar、class、dex、arr、等文件和zip文件中的Dalvik字节码
2、解码AndroidManifest.xml文件和一些来自resources.arsc中的资源文件
3、一些apk文件在打包过程中增加了java代码的混淆机制,对比jadx提供反混淆的支持。
jadx本身是一个命令行工具,仅仅通过jadx这个命令就可以反编译一个apk文件。除此之外,它也可以有配套的图形化界面工具——jadx-gui。
安装过程就略过了
jadx命令jadx xxx.apk -d xxx,运行完成后本地会生成一个xxx文件夹
jadx-gui的使用方法jadx-gui是一个图形界面工具,它就像一个IDE,支持很多方便快捷的交互式操作
保存为Gradle项目
导出后的项目目录结构和我们在 jadx-gui 界面里看到的结构基本一致,这个项目是可以被 Android Studio 工具打开的,打开之 ...