buu [AFCTF2018]MyOwnCBC 1

news2024/11/27 6:38:47

题目描述:

三份文件

#!/usr/bin/python2.7
# -*- coding: utf-8 -*-

from Crypto.Cipher import AES
from Crypto.Random import random
from Crypto.Util.number import long_to_bytes

def MyOwnCBC(key, plain):
	if len(key)!=32:
		return "error!"
	cipher_txt = b""
	cipher_arr = []
	cipher = AES.new(key, AES.MODE_ECB, "")
	plain = [plain[i:i+32] for i in range(0, len(plain), 32)]
	print plain
	cipher_arr.append(cipher.encrypt(plain[0]))
	cipher_txt += cipher_arr[0]
	for i in range(1, len(plain)):
		cipher = AES.new(cipher_arr[i-1], AES.MODE_ECB, "")
		cipher_arr.append(cipher.encrypt(plain[i]))
		cipher_txt += cipher_arr[i]
	return cipher_txt
	
key = random.getrandbits(256)
key = long_to_bytes(key)

s = ""
with open("flag.txt","r") as f:
	s = f.read()
	f.close()

with open("flag_cipher","wb") as f:
	f.write(MyOwnCBC(key, s))
	f.close()

在这里插入图片描述
在这里插入图片描述

题目分析:

  • 可以看出是通过将ecb模式下的加密进行改写得到不那么正宗的cbc加密模式
    为什么说不那么正宗呢,嗯,缺少了异或操作

  • 加密过程:

    • 先取32字节的初始密钥,再将明文按32字节进行分组
    • 用初始密钥对第一组明文进行ecb模式下的加密,得到第一组密文
    • 然后用第一组密文作为密钥,对第二组明文进行ecb模式下的加密
    • 依次进行(即用上一组密文做这一组的密钥对这一组明文进行加密,得到这一组的密文)
    • 将各组密文拼接起来得到最终完整密文
  • 解密过程即为加密的逆过程,直接看代码理解吧(加密代码都能理解,解密代码就更不在话下了)

import os,sys
os.chdir(sys.path[0])
from Crypto.Cipher import AES
cipher = open('flag_cipher','rb').read()
key = cipher[0:32]
# print(key)
def MyOwnCBC(key,cipher):
    m_txt = b''
    c = [cipher[i:i+32] for i in range(0,len(cipher),32)]
    tempkey = key
    for i in range(1,len(c)):
        dic_cipher = AES.new(tempkey,AES.MODE_ECB)
        m_txt += dic_cipher.decrypt(c[i])
        tempkey = c[i]
    return m_txt

print(MyOwnCBC(key,cipher))
# afctf{Don't_be_fooled_by_yourself}

(注意:其中涉及的变量都是以字节形式存在!!!)

  • 解法二:

(只能说转的弯不是一点点!)

from Crypto.Cipher import AES
import libnum

with open("flag_cipher","rb") as f:
    c=f.read()
    c=libnum.s2n(c)
# print(c)
c = 21292656373488011978364418024107789700887686551530454270445522828464720337206248499124844312171155259641500274278874017314457372773151331307172407714869749176143440687749839770567442331846034966132632446746437743579678545367396741376061652325905716827679715476783532048746086027349867619979913477315160624714430557596381579504025605249954196240156509940191971341082933976267130950808869988591597008953378645992765167331660427602201651289002183061261253340235784861206432341842664224641825531290318599065681883152692316579041346092358484268916741013748596889639508853744660658343891543516724158172382242657896353529023140453270810386977724714267621910713968037150164139128609665536958336097235701367197979335798416236251207007729252523052830385454973965146392046407155155180272651727459783130365548712217044673706002207419100213480033557361008211299219461128812963986646428886085942368169280785236274441447545888762161205585353130687151876162503128053548528182768921141882448760029624045029806765051107885242962127420601194487411325732712519675955560543192779813151302722721338552649859145727955350575192701503422131510568120070728345711761932972505439044647126890223095102720945738677370950849864657467995850857925200505619267270311413264029241173761160789157852659613357304828148364937932250964647387762693941262230355257464245554320440192562478599947973106196183763919883358341668877020119637477763648287503361958502502893410408445479094343127543928237244283218218476337913735881996297103758071297338546709574020805624508427467792568708722397326982249486419815864837966709325287892953951540599625469925089738327786403689628541008420194024823843525393418212344154913334264894965628656130429574500479743436414538636333787030506711510106428148761057631139622050661188746540182565579488253957773470822102760043738678246762502499612888782232054596589007483350152753750569061916109598309458617340741355292650821798820214122488781096100414742756004208744078698162863984819630892780667270791666811885161949926089770963998688543707862983719866929241402237771330607815260605330329173274642894787672412332242774166602507323483948496539313151023644571247043176255279863758836264858421976416173227907442339415245105298343064893438803603612461986125704634296301009994966582752217246159527366850195241306878313150178758573581996729576930975802940869868416271773909052695649237941425747946600717100491378083818202448245490587697888326643535453668425455398848045263489798238106558806599430386848437146067101032116948347867604304936676326896380704663582301937444582539538193684596607309426055261338225821401977930137075632797406023364085546408323097370664918046312088623960825316302416835352498190495277093383182325163990419438929079710426991251445921649332188614107717689033701160555792276504520444051407345616793959373440323290054877445375288913862263689404640230922070060907993291831309033279086376357240572001939273547215645094557628726844335244989439429517424112316118941357594308890394130052372156987033266085760402268414175209456903502544829608600534487631205295191189909711081930563473180896335589147129495537694277321861460768544386763591959557989939286846981077310662114247589536261454359436815263020670634725488926563438773167948562715097859414315538623160751073867890465153478699163393781362433932104820449278800177775834189159954853181387514425004293801318345091108784782726615923996894455593089821429787276069341449612273919400148171170416377733437875864384655589256209926784271181271526166931851845258074095439363817296858238387036176754704529581496698666729002152982970396676356910182791107500953069313005774632591975634341340380709111925574116651544495145299463147718630661482967606012895581859296393549313767483396402302558579626292822192231713835803570651242457779742275512749524355870423112183936833763572266104269114605480071591476091026668845547360426465805633548122957435282625167193959977436453557128333628187898160955120807872244828122004450770947879506746375528475282047679955191297732287428640196362451637128618935694068987143793672503871659501725099541713552917194626851742
m = b''
# c = bin(c)
c_bin = '11100101110111111001010001110011010010101100001011001101000001001110101110110111110011110000010100101000101111101001100001011100111010011100001101011110000111110010000111111011111010100011011011011010011000110001111111111110100100000011000110111011000100110101101100101011101101010111110010110011010111110000011000001000101001110011000101001010010011001110010011110010000001011000100000011101111000010110001111011001001110011111011010111001001001110011111001100011101110110110100110000100100000000110110000011000011100110111010011011111000010010101100110010001111101010110101101100010111101010011010111101111011001000101101101101000010000111000010000110100000010010111100010010101110111000001010010111011010000001011010101110101000100101111110000001010010010000100001100101001110011000111011011101000100001101110000111000010110101111101011010110101110000111111010000101000011001111101011010011001100011101001010100101010010011011010111101011110110111100000011100111101000101101100010101000111111001111111101011010100111111000110111000111000110101100011011011100010000111101010011110110001111101010111101111011011100100000011111110010111011000000111101000000010010100110010011100101111111111010100100011010110110000100100110111000111111101101101101100001100011101010011110101111100111001111000010100010000000110001010100101101011101010010000010100101101010100101000111010001011010100111101100000000111110001111111001101001110001011000110000111001101100110000100000101000100100100010000111000001000110000101011011000110000101111100010000001111110010000001101001100101111010100111110100010001000001101110011100000100110000000000011000101000011100011000000010101000010000010111010110110011011010111000001100110000101011111000000001001011000000011101001111110110100001100110011101110101011011101111000110010110010011000011101110010001000100111101010110000010111111110000011001010111011100111111011000001111010101111000001001110101011010110110101100011100001100010101111100111101101110110001001111011110100001110100000100011010011001110100000110001001000100110101101101001101100000011001111101110111001110100000000000111100100011011010000011011111001011001011010111011111100101111100001110100011000100010010010101101011001000000000000100111111000000101111011011011101000001110001100010010110110011101111011101000000110100110101001001100010011101111111011001000011010111101110110001100000011000000101101001001111101101100011100011110011111111001000000000110100110000011001000011101111111101011110000101010111100011000101101100110100110101100100000011011001000011101011100010011110011001110010110101100101001011010111111011100110010111010111100010100000110100100011000011001111110100111110111010001010111010010111010101011100011001100011010011110010011110001000100101011010001111110010001001000010101010000110011111001000101011111101000101101101111110001111100100011001101100011011110100101101100111001010000101011010110110001111110000110001011100110000110011010011101101111001010111011010110110011111101110000011010101011011101000111010000000011111001010010100010010001001001001011000001101011101100011000101111111001001100101111010001110001111100101001000111001101000010110110001010001111011101010101001111100011111100100010100100100000000111100000001110100101000110111110101110111100011110101110100010010011100011100001010101010110010001111010010110111100100101111111001001100101010100100100101001000111010101111011111010010011101001010110011010100010011111110101101011001110000101010000101001110101110111011010111110100001001000100010000111101100111110101000111100010001000011000011010001100000010001000101101110001001100101010110111011100110100100111111110000111011000101100100010101111100010110110111100010101010000111111111110111111010011001111110100001110110011010000011101000011001110100100010001011101011111011100101110010100010101101111100110010101111101000011110111100101010111010011001011001010110010111011110100100011010100101111000010000010101010101111100011110110001110111111110110110010101111010010011000110101001000001111101100100101000101110111011111100111001101010011100011110110100111100100100010010010111110001110111001101111000101001100010011110011001111011000000001011100000110110111110101010000001111101011101101010010010100000111010010110001001111110110100000000011010100100100101111101010110110110010001010010011100000011100110000010011010001100011011110010011001111100111001100011000111101001010100000011110001101110101100101111000011010011100000000010110010110011000001001011000111001000111011110111001111100100000000011001101000000011001110011110001110110100000010011111110101001111101110001110101101001100110001101000010101001111100100110100010001000111001100101010101110110101100000110010111100010011101011011011111101111110001110000101011110011010011111001111011011011000100110111111010111110101100110011110010001110110111110100010011000111000000010011100001100000100110101001001010111000101101010101000101001000010001110110011011010110101101110011001100110010110100000101101100110011111011110101110110101001110101111000110011001111010100000111011001101000100110100111010001100111101001010000000100001010000110100001101110110011000001010100000110001101010111010001100000100110110010101100100010110101010110001010010010001111101001100111011100101010111010000110011100111101110011011011111100001011110100010101011001100100110001010110011010000000001111100001001011001001111111011010001011000111110001000111111101100111101110010000101001001101000001000010100100101111000010000001001000000001101111000010010000110101011000111110011100011101110011001001110011111101111111101111111011010010101111000001010011000000101000000001110001001111101010010100011000101100001000101110110011100001100101111000101000011111001010011000000111101110100100011110001100101111111001110101110000000101101111010101111001111111110111000100010101100100111100101001001011100011010011001001101111100110100011011111010001111000111101101011100111111010110010010111111100100000000100101010110100110111110011100101011110001000001010000010001111010001111111100101110110111111110110111001110000101001011100010000111010001000100101000011000000000001001000010010101110000010101011101010000110101000001100000011011100111011111110010100010111111101010000100100100001101010001011110100000100110001110000001101101010111110111010111000000111001011110111110001000101111011000001001010001100000010010110111100111100110010000011110010000010001010110101010001101100100110110101010100110100011111100011011010010111011100110111011000101011000001011100111000001100100010111001001001001000101101100110111101111101100110000000011000010100101100100011010001011001000110101010011000111010001011110101100011110100110010010010101000001010001101100100110010000001111101100110100000001100001100011000101000001100110110011010100011000101001110101101010010011000010110011010110110000010001011000001100111101101100100001010000001011101000101001100111100010101111011011001001000001110100010101100101010010101010010111100111011111111010110111000110100000101101100000010101110010010011110000100010010111110011010111001101110010100110101111110100000100101100011001010011110010000110100111001111111100000011101010101011011011110011101001010100111000001100000110110001000011101010001001011101011111100100111011000011100111100100010011101101010111101010000111011010111110101001110011010101011100000001100101100100000101000101111000111111011011011010010110100010001001110110100110000110011110101101100111110111000100100010010010011100101111100101001101110000000111101001111001101110100101100001111101100000101010000010011000010011001110011101100011011010000110101100111000101000011011111110101110101101110101101001000000011010010011001110101011111101100010011010000001011111100111000111000101101111100110100010001010001110000010101101101100010111110101000111011000010101001101000100000110101100010000011001100001000100010111111110110110000110100010000100011111011111011010110101110100011001110011001100001001110100011011010001101111110010000111001110001101110100010010001111100010001001001111011101011001001110101110011001011101001101110111110110110100101011101010010011011110001011000100101010101110101100000001101100000011110011111110101111100001011011111110110110010010000000111001000001000010101100000100010000100110011111010110010110011001101111100010011100100100100110110000001001100101001110011010000111001010001011110101011000001000010001110011100100001101000110000101011000011101111011110011110010000111001010101100010110010101101101011001011111011011110110011010111011111011100110000010100010110100101100111111111011001111011111001101010010011010000000000100010100110100101100001011100101011100100110100100111000100011011000001111010000001010001101101010000011000011100011000110010100011111100011001011010111011010001101010111111110010010001100110111010101010101000100010001100111111100010101110100000001110110110110001010001101100100111101011110100010000110011111110011001110010110011011011000110110011001110000011000010110111110001100011101011011101111111000111001110111011110000100111010100110111100100101110100100111011000011100000100110001011001001101010100101100110001111010111011010000000111011101000011000011010101001111100011101101110111110011010001001111100101110010110011010010001011011101010010110011100010100100100000000011100101001010001100100011101010011001101011111000001100011100100000010101111010101011101001111100101110101000001111010010111100010110110101101100110000100001011100110101100010001001100010101101100111101110011010000101100001101001001001010011110001101011110000111111011101111000101111001010001011001110001011010000100010000101001000011010111000111011100110000100000001100001000000110100100111100100110110111110010111010111011111010110001110101101001111001110110110101110010000010101100010111001011101011000100101110101110101000111001101000110010001000101011010101100011010001000010100100011110111001111101000000101110000010100111100101100010001001000000110000111011010011010001001001111101000101101100110001000001011101111000010010101100101101000011001111011011000100000011001100000001001101100101100110000010011001100110011101010011001111100010101010001011001100111000110110000001001010000101000101001011000011110101011100101101011101001100011100001100101110000110111000000000000110101010110101001111100100100110101100101111010110011010001011100100010010010100101010010110110001010000110001000100010011101001110011101110000001101100000001110101111110011001111100101101110110110110010010111101110010000000011101010101001111010100000110001010110101110001001001111100101111110001100100100010111000111111001000110001101101011010100011000010000110110110011010010110010110000000111111111100010101011011011111101110111010110101010000111000100101001111111000110010011000011101110000011101101110011001110010101001011011111000100101101100100001000101101010000000000101111110011100001111111011001100011100110110010111011000110110111101011101001010101100000000011010010000100111111000010100101110000000110000110111111111101000111000001101001010100010111010100010110101101011111100100001000110100100011010100000000100110001110001110111000101001010010010011011100111011101111101110001110110011110001100111010101000101110011000100111010101001001011000101110101000010100111110011110110010111011000100010010001111001100011010111011001110111100000100010010111011010110011101100111000111110111111101100011110011011000110111010011101101001110011010100000111011110111010010001110101011001000010110001111010111101001100100100111001011001011010010001011101110101101101100101010011111111010001101100011010010100001000001010010011011001011010011011100100101100100100000011101011110111001111011000100000111101011000100001101000011001000000101111110010110110000111011111101110111010011000010101010111001010001101110100110110001011001101101010101100101101001111010101000110011111011010100000000101101110111101000101110010101011110010111010010000101111001100100011101000000000110011101100000001000111011101110000000101010000011001111110000011001001110000010111100010111010011000000100011100010111001011100000000111111111010000111001100001000101100101000100110101111100111101011100001100010111011000100000111001010010010011001100111110010110010011011011101100100001001001100101000011110011100000001000111101011010100010001101110100111100011100110100010010001111110111101100110010001010010011000001100110111010000001010010111101000001001100110000110000111110010011100111110001011110100101011100011001100101010100001001000011110110011101001011111001111111110101011101000010100001011100011101011001011001010111001101001110010010010111010110011111010010011001100011000011101010000100110000110111000111100100101110010011111000101111000110100100011110010110001000010111010101010000111111001001000001010001111110100101111100111100010011101100001100110010001000110110110100111011010011000100111110100111001101100111001110001010000000000000110010010111001111001110111111110101101101100100010011101111000010110000011011000101010100111001011011011110110001011010110011010110011010000111001001000011000000100100101111010110001000010101011010101001010001101000000011001101100111011100110000111101011000001000100101010100111010111101100100001100111100111000001110110101010011110111110100010111001011111100110000011000000011100000111100111100111000000011001000010100000011111111001010110100101101010010110111010100111101101010001101011001101100010110011001000101110011011101010010010100001010001010000001010110101010101110100010100100100111001111010011000100101011000110000100011010001000100101000110001110011110'
int_list = [int(c_bin[i:i+8], 2) for i in range(0, len(c_bin), 8)] # 将二进制字符串转换为整数列表
print(int_list)
c_bytes = bytes(int_list) # 将整数列表转换为字节串对象 amazing!
cipher = [c_bytes[i:i+32] for i in range(0,len(c_bytes),32)]
for i in range(1,len(cipher)):
    key = cipher[i-1]
    mm = AES.new(key,AES.MODE_ECB,)
    m += mm.decrypt(cipher[i])
print(m)

收获:

知道了如何将2进制转化为字节形式:

bin_str = '0110100001100101011011000110110001101111' # 二进制字符串
int_list = [int(bin_str[i:i+8], 2) for i in range(0, len(bin_str), 8)] # 将二进制字符串转换为整数列表
byte_data = bytes(int_list) # 将整数列表转换为字节串对象

print(byte_data)  # b'hello'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/551372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

lwIP更新记03:IPv6

从 lwIP-2.0.0 开始,lwIP 终于有可用的 IPv6 协议栈了!IPv6 支持 双栈(IPv4 和 IPv6 同时使用) 或 IPv4/IPv6 二选一 模式。 lwIP-1.4.1 版本也有 IPv6,但那是实验性质的(见…\lwip-1.4.1\src\core\ipv6目…

linux专题:嵌入式linux系统启动流程基础分析

目录 第一:linux内核源码基本简介 第二:uboot启动分析 第三:内核源码分析 第一:linux内核源码基本简介 下载 Linux 内核网址: https://www.kernel.org/ 最新 Linux 内核是 5.15 版本。现在常用 Linux 内核源码为4…

八大排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序、基数排序

目录 前言 直接插入排序(Insertion Sort) 一、概念及其介绍 二、过程图示 三、代码 四、复杂度 希尔排序(Shell Sort) 一、概念 二、实现思路 三、图示过程 四、代码 4.1代码 4.2运行结果 4.3解释 五、复杂度 堆排…

路径规划算法:基于蝙蝠算法的路径规划算法- 附代码

路径规划算法:基于蝙蝠的路径规划算法- 附代码 文章目录 路径规划算法:基于蝙蝠的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法蝙蝠算法来进…

Swift 如何闪电般异步读取大文件?

功能需求 Apple 系统中(iOS、MacOS、WatchOS等等)读取文件是一个平常的不能再平常的需求,不过当文件很大时,同步读取文件会导致 UI 的挂起,这是不能让用户接受的。 所以,要想读取文件内容的同时保持界面操…

KMP算法及其改进图文详解

文章目录 KMP算法详解什么是KMP算法KMP算法的应用场景KMP算法和暴力求解的比较字符串的前缀、后缀和最长相等前后缀KMP算法实现字符串匹配的具体过程(图解)从串与主串的下标变化j回退的位置(从串的下标变化)主串的下标变化 Next数组如何运用代码逻辑计算…

[CTF/网络安全] 攻防世界 xff_referer 解题详析

[CTF/网络安全] 攻防世界 xff_referer 解题详析 XFF及refererXFF格式referer格式姿势总结 题目描述:X老师告诉小宁其实xff和referer是可以伪造的。 XFF及referer X-Forwarded-For(简称 XFF)是一个 HTTP 请求头部字段,它用于表示 …

深入理解计算机系统第七章知识点总结

文章目录 详解ELF文件-> main.o前十六个字节的含义推测elf的大小查看节头部表推断每个section在elf中的具体位置查看.text的内容查看.data的内容关于.bss查看.rodata的内容关于其他的节表示的信息 详解符号表符号编译器如何解析多重定义的全局符号静态库与静态链接构造和使用…

seata的部署和集成

seata的部署和集成 一、部署Seata的tc-server 1.下载 首先我们要下载seata-server包,地址在http://seata.io/zh-cn/blog/download.html 2.解压 在非中文目录解压缩这个zip包,其目录结构如下: 3.修改配置 修改conf目录下的registry.conf文…

开源大模型资料总结

基本只关注开源大模型资料,非开源就不关注了,意义也不大。 基座大模型: LLaMA:7/13/33/65B,1.4T token LLaMA及其子孙模型概述 - 知乎 GLM:6/130B, ChatGLM基座:GLM&#xff08…

【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 网际协议IP

目录 一、概述 二、初步了解网际协议 IP  👉2.1 与数据链路层的区别  👉2.2 网际协议 IP 概览  👉2.3 分层的意义 三、IP协议基础知识  👉3.1 IP地址属于网络层地址  👉3.2 路由控制  👉3.3 IP分包与…

solr快速上手:核心概念及solr-admin界面介绍(二)

0. 引言 上一节,我们简单介绍了solr并演示了单节点solr的安装流程,本章,我们继续讲解solr的核心概念 solr快速上手:solr简介及安装(一) 1. 核心概念 核心(索引/表) 在es中有索引…

【软件测试】5年测试老鸟总结,自动化测试成功实施,你应该知道的...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 自动化测试 Pytho…

基于html+css的图展示82

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

chatgpt赋能Python-pythonage

Pythonage - 一款优秀的Python SEO工具 无论是个人博客还是商业网站,SEO(搜索引擎优化)都是最重要的。Pythonage是一款优秀的Python SEO工具,可以帮助你优化你的网站并提高搜索引擎排名。在这篇文章中,我们将详细介绍…

ChatGPT 使用 拓展资料:开始构建你的优质Prompt

ChatGPT 使用 拓展资料:开始构建你的优质Prompt

【JavaEE】阻塞队列、定时器和线程池

目录 1、阻塞队列 1.1、概念 1.2、生产者消费者模型 1.3、阻塞队列的模拟实现 2、定时器 2.1、使用标准库中的定时器 2.2、模拟实现定时器 3、线程池 3.1、标准库中的线程池 3.1.1、ThreadPoolExecutor类的构造方法 3.1.2、Java标准库的4种拒绝策略【经典面试题】…

Canal内存队列的设计

1、背景 笔者的公司内部使用了开源的Canal数据库中间件来接受binlog数据,并基于此进行数据的订阅和同步到各种同构和异构的数据源上,本文将对Canal内部使用的store模块进行分析。 2、Store模块概览 Canal的store模块用于存储binlog中的每一个event&am…

MySQL- 多表查询(上)

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️树高千尺,落叶归根人生不易&…

安卓基础巩固(一):布局、组件、动画、Activity、Fragment

文章目录 布局LinearLayoutRelativeLayoutTableLayoutFrameLayoutConstraintLayoutListView基于ArrayAdapter自定义Adaper提升ListView的运行效率 RecyclerView基本属性使用案例布局(显示方式)监听事件利用View.onClickListener 和 onLongClickListener …