[LINUX] J'ai essayé de résumer Cpaw Level1 & Level2 Write Up d'une manière facile à comprendre

introduction

Ravi de vous rencontrer, je m'appelle Yuuta Yuyu. Je suis un étudiant assidu qui n'a aucun intérêt pour la musique de codage en direct, le vvvv et le développement de jeux. Jusqu'à présent, il a travaillé sur le développement de jeux, le CTF, le codage en direct et la programmation compétitive.

Dans cette publicité, je voulais parler du jeu que j'ai fait auparavant, mais comme le montant allait être trop énorme, j'ai changé le contenu à la hâte aujourd'hui, appelé Time Attack et fait CTF avec Cpaw et ils Le contenu est d'écrire WriteUp.

(~~ Non, WriteUp de Cpaw est trop satisfaisant, et la nième décoction est déjà bonne ~~) J'espère que cet article peut abaisser votre seuil pour le FCT. Je veux surtout que les membres le voient.

Qu'est-ce que le CTF

CTF est l'un des concours de sécurité appelé Capture the flag, et est un concours pour concourir pour la technologie et les connaissances informatiques. Il y a 11 genres chacun, qui sont classés comme suit. Je ne vais pas vous donner une explication détaillée, mais je ne laisserai que les mots-clés, donc si vous êtes curieux, veuillez google.

Crypto Web (rendre les vulnérabilités du site Web cahoteuses) Inversion Pwn (attaque de vulnérabilité) Forensic (recherche de données cachées) Réseau (analyse de paquets / percée d'authentification) PPC (quelque chose comme une programmation compétitive) Stéganographie (analyse d'images / données audio) Recon (harceleur de filet) Trivia (trivia) Divers (Autre) (Ce sont tous les problèmes qui ne peuvent pas être classés dans les genres ci-dessus)

Site de la FCE ciblé cette fois

Cette fois, je voudrais résoudre le problème fourni par CpawCTF. Il existe de nombreux types de problèmes qui sont amusants à résoudre pour les débutants, il est donc recommandé d'essayer le problème une fois sans regarder ce WriteUp.

Environnement d'exécution

OS:Windows10 Tous les programmes sont supposés s'exécuter dans un environnement WSL. De plus, nous supposerons que les commandes Linux générales ont été installées et sont dans le chemin.

(Pour la configuration WSL, voir ici](https://qiita.com/Aruneko/items/c79810b0b015bebf30bb))

(Ajout: À propos de CTF sous MacOS) Bien qu'il s'agisse d'un MacOS, il existe des cas où les fichiers ELF ne peuvent pas être exécutés ou certains outils ne peuvent pas être utilisés, je pense donc que les problèmes ne se produiront pas si l'environnement ci-dessus est préparé autant que possible. Si vous voulez vraiment le faire sur MacOS, utilisez VMWare ou VirtualBox pour créer un environnement virtuel Linux. Cependant, cela n'est pas non plus recommandé car certaines commandes et touches de raccourci peuvent ne pas être disponibles en fonction de l'environnement.

Avant d'entrer WriteUp

Veuillez lire les sites suivants. (Pour raccourcir la solution)

Liste des commandes Linux

WriteUp

Level1

Q1.[Misc] Test Problem Veuillez résoudre ce problème comme prévu. S'il vous plaît. L'explication est également omise. Cependant, j'ai été rejeté plusieurs fois par copypémis ou quelque chose du genre, alors je devrais peut-être le faire à la main.


Q6.[Crypto] Classical Cipher Ceci est un code César typique. Le code César est l'un des codes de type de translittération unique qui décale l'alphabet simple de plusieurs caractères pour créer des phrases différentes. Mais hélas, ce code César n'est rien de plus qu'un code classique, un petit poisson pour nous les gens modernes. De plus, dès que je recherche "Caesar code conversion" ou Google, l'outil Web de déchiffrement du code César (restauration du texte crypté) sort. Quelque chose comme ça Copions et collons le texte crypté sur ce site et convertissons-le. Vous pouvez maintenant obtenir le drapeau. (Soyez prudent s'il est supérieur ou inférieur) コメント 2019-12-17 222153.png


Q7.[Reversing] Can you execute ? Téléchargez des fichiers sans extensions. Normalement, chaque fichier a une extension (indiquant de quel type de fichier il s'agit) telle que "txt" ou "exe", mais ce fichier ne l'a pas. Donc, quand j'essaye de découvrir à quoi ressemble ce fichier en utilisant la commande Linux "file",

 file exec_me
exec_me: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l,
for GNU/Linux 2.6.24, BuildID[sha1]=663a3e0e5a079fddd0de92474688cd6812d3b550, not stripped

Eh bien, vous pouvez voir que ce fichier semble être un fichier ELF. Étant donné que le fichier ELF est un fichier exécutable qui fonctionne principalement dans l'environnement Linux, il fonctionne tel quel sur WSL. Vous pouvez donc obtenir le drapeau en exécutant la commande suivante.

./exec_me

Q8: [Misc] Can you open this file ? Si vous utilisez la commande de fichier comme dans le numéro précédent,

file open_me
open_me: Composite Document File V2 Document, 
Little Endian, Os: Windows, Version 10.0, Code page: 932, Author: v, Template: Normal.dotm, 
Last Saved By: v, Revision Number: 1, Name of Creating Application: Microsoft Office Word, 
Total Editing Time: 28:00, Create Time/Date: Mon Oct 12 04:27:00 2015,
Last Saved Time/Date: Mon Oct 12 04:55:00 2015,
Number of Pages: 1, Number of Words: 3, Number of Characters: 23, Security: 0

Le mot «Document» semble indiquer que ce fichier est un fichier document. Cette fois, afin de laisser Word le lire, vous pouvez obtenir l'indicateur en ouvrant ce fichier dans Word avec l'extension par défaut "doc". コメント 2019-12-17 225622.png

(Ajout) Pourquoi définir l'extension L'extension a pour but de montrer clairement «quel format suit le fichier», mais elle a aussi un autre rôle de «rendre reconnaissable du côté de l'application». En fait, même s'il s'agit d'un fichier document, il n'est souvent pas reconnu comme un fichier document sans une extension telle que ".doc". Un bon exemple est que si vous modifiez l'extension du fichier audio, vous ne pourrez pas entendre le son. Une lecture forcée peut entraîner une perte de données ou des erreurs, et peut devenir un foyer pour divers problèmes. (Cela peut amener la réponse à entrer dans un labyrinthe ...) Pour résoudre ces problèmes, essayez d'éviter de créer des fichiers sans extensions à moins qu'il ne s'agisse de fichiers binaires.


Q9.[Web] HTML Page

Il s'agit maintenant d'obtenir le drapeau de la page Web. Lorsque vous résolvez des problèmes Web, assurez-vous d'appuyer sur la touche F12 de votre clavier pour afficher les outils de développement et essayez de parcourir la page d'un coin à l'autre. コメント 2019-12-17 230546.png

À propos, si vous adhérez aux deux attitudes ci-dessus,

Do you read description of this page?

D'une manière ou d'une autre, une phrase clairement suspecte est sortie. Si vous recherchez le mot «description» en anglais, vous constaterez que ce sont des informations textuelles qui sont écrites dans le fichier html et qui donnent un aperçu (résumé) de la page Web. Ainsi, si vous recherchez partout dans la source html dans l'onglet Éléments des outils de développement que vous avez ouverts précédemment, l'indicateur est écrit quelque part. Vous pouvez maintenant obtenir le drapeau.


Q10.[Forensics] River Il semble que diverses métadonnées telles que les informations Exif soient attachées à l'image transmise. Donc, si vous lancez ce jpg sur ce site, il ressemblera à ceci.

コメント 2019-12-17 231806.png

Lisez le nom de la rivière sur la carte et récupérez le drapeau. Non, les progrès de la civilisation sont vraiment effrayants. Veuillez faire attention aux métadonnées des photos.


Q11.[Network]pcap Cette fois, c'est le problème de l'analyse des paquets réseau. Alors [installons] WireShark (https://2.na.dl.wireshark.org/win64/Wireshark-win64-3.0.7.exe), le tigre de l'analyse des paquets. L'histoire commence à partir de là.

À propos, si vous ouvrez le fichier téléchargé avec WireShark, vous verrez un écran comme celui-ci. コメント 2019-12-17 233219.png

Comme vous pouvez le voir, le drapeau est sorti. Le Japon prendra fin si ces données sont échangées en texte brut.


Q12.[Crypto]HashHashHash! Cette fois, nous casserons le code conçu par la NSA tel que SHA1. Cela peut sembler difficile à première vue, mais si vous le recherchez vraiment sur Google, c'est plutôt bien. Cherchons donc le code en question tel quel. Ensuite, vous pouvez facilement obtenir le drapeau à un niveau surprenant. (Ceci n'est possible qu'avec [Rainbow Table](https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%A4%E3%83%B3%E3%83%9C % E3% 83% BC% E3% 83% 86% E3% 83% BC% E3% 83% 96% E3% 83% AB) Merci à la technique. Rainbow table hourra.)


Q14. [PPC] Sort!

Soudain, quelque chose comme une programmation compétitive est arrivé. Eh bien, c'est pour cela que j'écris du code. écrivons. Tout d'abord, modélisez les données comme ceci,

15
1
93
52
66
31
87
0
42
77
46
24
99
10
19
(réduction)

Lisez-le sous forme de fichier texte, écrivez le code rapidement et vous avez terminé. Vous pouvez maintenant obtenir le drapeau.

sort.c


#include<stdio.h>
#include<stdlib.h>

int main(){
    FILE *fp;
    int i, j,n=0, tmp;
    int array[100];
    char filename[] = "test.txt";
    char str[100];

    fp = fopen(filename,"r");
    if(fp == NULL) {
		printf("%s file not open!\n", filename);
		return -1;
	}

    while(fgets(str,100, fp) != NULL){
        array[n] = atoi(str);
        n++;
    }

    fclose(fp); 

   for (i=0; i<n; ++i) {
        for (j=i+1; j<n; ++j) {
            if (array[i] < array[j]) {
                tmp =  array[i];
                array[i] = array[j];
                array[j] = tmp;
            }
        }
      }
 
      for (i=0; i<n; ++i){
        printf("%d", array[i]);
    }

    return 0;
}

Level2

Q13. [Stego] Drapeaux cachés

Si vous regardez les images distribuées, vous pouvez voir que les points sont dessinés. Puisqu'il s'agit d'un signal Morse par tous les moyens, j'obtiendrai le drapeau en le traduisant. Cependant, uniquement pour ce problème, la sortie peut différer légèrement d'un site à l'autre. Je publierai quelques sites de traduction, donc si le drapeau souhaité n'est pas affiché, veuillez essayer différentes choses. https://l08084.github.io/morse-code-translate-website/ http://www.inv.co.jp/~ike/mores-chg.html https://morsecode.doratool.com/


Q15.[Web] Redirect Si le site fc2 disparaît, une page du type "Retour à l'accueil dans n secondes" peut apparaître. C'est exactement la redirection. Si vous démarrez les outils de développement et appuyez sur le lien de la même manière que le problème Web ci-dessus, vous constaterez qu'il ne passe pas à la page spécifiée. Par conséquent, modifiez les éléments affichés dans les outils de développement des éléments au réseau. コメント 2019-12-18 001130.png

Ensuite, vous pouvez voir que les informations de la page d'origine qui n'ont pas pu être affichées en raison d'un type de programme défectueux sont affichées. Vous pouvez obtenir le drapeau en double-cliquant sur ces données.


Q16.[Network+Forensic]HTTP Traffic Je fais une analyse des paquets comme d'habitude, mais si vous regardez le contenu du paquet, vous pouvez voir que beaucoup de données sont cachées dans le paquet. Commentaire 2019-12-18 001538.png

Par conséquent, exportons ces données ensemble en sélectionnant [Fichier] → [Exporter l'objet] → [HTML]. コメント 2019-12-18 001608.png

Créez un dossier, divisez les fichiers js et css dans des dossiers comme celui-ci, et ajoutez correctement l'extension au fichier html sans l'extension. (Il est absolument nécessaire de faire en sorte que l'application du navigateur le reconnaisse comme une page html.)

コメント 2019-12-18 001839.png

Lorsque vous ouvrez le fichier html, un bouton apparaît, vous pouvez donc obtenir le drapeau en appuyant sur ce bouton.


Q17.[Recon]Who am I ? C'est un problème de harceleur net. Vous pouvez obtenir le drapeau en recherchant l'identifiant Twitter et le nom du jeu souvent joué. Ne montrons pas facilement l'ID du jeu, etc.


Q18.[Forensic]leaf in forest

Lorsque j'ouvre ce fichier en tant que fichier texte,

コメント 2019-12-18 002839.png

J'ai trouvé quelque chose qui semble sortir de mes rêves. J'ai peur, donc si vous continuez à remplacer la chaîne de caractères "love live!" Avec un caractère, vous pouvez obtenir le drapeau naturellement.


Q19.[Misc]Image! Cette fois, un fichier zip sera passé, alors décompressons-le.

コメント 2019-12-18 004334.png

J'ai pensé, je naviguerais depuis le début, mais je n'ai pas obtenu beaucoup d'informations. Cependant, lorsque je parcours le fichier image qui n'en était qu'un, je vois une image comme celle-ci.

thumbnail.png

Je me suis demandé s'il y avait des données quelque part, et à la suite de la navigation dans divers fichiers, lorsque j'ai parcouru meta.xml,

<?xml version="1.0" encoding="UTF-8"?>
<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" office:version="1.2"><office:meta><meta:creation-date>2015-10-16T09:50:35.362650845</meta:creation-date><dc:date>2015-10-16T10:06:25.173018557</dc:date><meta:editing-duration>PT1M11S</meta:editing-duration><meta:editing-cycles>4</meta:editing-cycles><meta:generator>LibreOffice/4.2.8.2$Linux_X86_64 LibreOffice_project/420m0$Build-2</meta:generator><meta:document-statistic meta:object-count="17"/></office:meta></office:document-meta>

En se concentrant sur OpenDocument dans ce domaine, il semble qu'OpenDocument est un fichier compressé au format zip. Puisqu'il s'agit d'un document, j'ai pu obtenir le drapeau en ouvrant le dossier zip avec word. Sans connaissances préalables, beaucoup d'inspiration est nécessaire.


Q20.[Crypto]Block Cipher c Le fichier source est passé, le problème est donc de lire la source et d'obtenir l'indicateur.

crypto100.c


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[]){
  int i = 0;
  int j = 0;
  int key = atoi(argv[2]);
  const char* flag = argv[1];
  printf("cpaw{");
  for(i = key - 1; i <= strlen(flag); i+=key){
     for(j = i; j>= i - key + 1; j--){
        printf("%c", flag[j]);
     }
  }
  printf("}");
  return 0;
}

Vous pouvez obtenir l'indicateur en plaçant l'instruction avant le déchiffrement et le nombre de caractères à déplacer dans l'argument de ligne de commande et en l'exécutant. Dans mon cas, je ne comprenais pas bien les spécifications des arguments de ligne de commande, donc je ne causais que des vidages de mémoire. Réflexion.


Q21.[Reversing]reversing easy! Cette fois, j'ai résolu le problème en utilisant un assemblage inversé appelé IDA. Installer IDA

Lorsque j'ouvre le fichier binaire en question avec IDA, j'obtiens un écran comme celui-ci. コメント 2019-12-18 010618.png IDA est un logiciel très performant, et bien qu'il soit gratuit, il affiche le type de fonction appelée à quel moment d'une manière facile à comprendre.

Il existe des onglets en plus de la vue texte, alors parcourons-les. Ensuite, lorsque je suis passé à l'onglet Hex-view (vidage hexadécimal binaire), コメント 2019-12-18 010704.png

Une très bonne chaîne de caractères est sortie. Vous pouvez obtenir le drapeau en le connectant à l'exception des symboles qui peuvent ne pas être liés au drapeau. À première vue, je pensais que c'était facile parce que des caractères étranges étaient mélangés à l'assemblage inversé de sorte que je ne pouvais pas dire à quelle chaîne de caractères correspondait.


Q22.[Web]Baby's SQLi - Stage 1- Il s'agit d'un problème d'injection SQL qui exploite une vulnérabilité de site Web. Apparemment, si vous faites référence aux données de la table, vous pouvez obtenir l'indicateur, alors tapez l'instruction SQL suivante dans le formulaire.

SELECT * FROM palloc_home

Ensuite, la table que vous recherchez apparaîtra et vous pourrez obtenir le drapeau.

Si vous décryptez facilement cette instruction SQL SELECT ... Obtenez des données.


Q28.[Network] Can you login? En regardant le paquet avec Wireshark![Commentaire 2019-12-18 013520.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338549/6fdd979b- d652-cbe8-8210-aacc1f1301a4.png "(Akan)") Vous pouvez voir que vous pouvez voir les informations d'identification qui ne devraient pas être clairement visibles. En effet, le protocole FTP lui-même ne crypte pas le nom d'utilisateur / mot de passe pour l'authentification et le transfert des données, mais les échange en texte brut. Le monde se termine lorsque ce protocole est utilisé au quotidien lors de l'envoi de données critiques. C'est un protocole qui n'est manifestement pas adapté à l'âge actuel. (Bien sûr, FTP est toujours utilisé à des fins limitées.)

Comme ip est également complètement visible, cette fois, nous utiliserons FileZilla pour obtenir le fichier. Installer FileZilla Veuillez installer FileZilla for Client.

Connectez-vous au serveur FTP en utilisant les informations ci-dessus avec FileZilla. (C'est pourquoi vous devez télécharger le client) De plus, avant de vous connecter, définissez les paramètres pour afficher de force les fichiers cachés. (Parce que CTF peut contenir des informations importantes dans des fichiers cachés) Le réglage peut être facilement effectué en sélectionnant [Serveur] → [Affichage forcé des fichiers cachés]. コメント 2019-12-18 014527.png

Si la connexion réussit, téléchargez le fichier .hidden_flag_file à partir du serveur FTP et parcourez avec la commande strings ou l'éditeur de texte pour obtenir l'indicateur. Bien entendu, vous pouvez également vous connecter et télécharger des fichiers en tapant la commande suivante dans le terminal.

$ ftp
ftp> open
(to) 157.7.52.186
Connected to 157.7.52.186.
220 Welcome to Cpaw CTF FTP service.
Name (157.7.52.186:user): cpaw_user
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls -l
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 ftp      ftp            36 Sep 01  2017 dummy
226 Directory send OK.
ftp> ls -la
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    2 ftp      ftp            42 Jun 18  2019 .
drwxr-xr-x    2 ftp      ftp            42 Jun 18  2019 ..
-rw-r--r--    1 ftp      ftp            39 Sep 01  2017 .hidden_flag_file
-rw-r--r--    1 ftp      ftp            36 Sep 01  2017 dummy
226 Directory send OK.
ftp> get .hidden_flag_file
local: .hidden_flag_file remote: .hidden_flag_file
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for .hidden_flag_file (39 bytes).
226 Transfer complete.
39 bytes received in 0.00 secs (8.2742 kB/s)

À la fin

Merci d'avoir parcouru jusqu'à présent. Si vous trouvez quelque chose de difficile à comprendre, veuillez nous le faire savoir dans les commentaires.

Au fait, si vous avez déjà vu WriteUp, vous comprendrez que n'importe qui peut résoudre ces problèmes avec un peu d'inspiration. Je ne fais pas tellement de spécialisation. (Je veux croire ça) Si vous pensez que oui, essayez de résoudre ce problème vous-même dès maintenant. Je pense que vous pouvez faire différentes découvertes en le résolvant vous-même.

Cette fois, je n'ai posté que WriteUp jusqu'au Level2, mais si j'ai une chance, je vais essayer WriteUp de Level3 et poster WriteUp. Rendez-vous dans le prochain article.


Écrivain: Yuyu Yuta Twitter Hatebu

Recommended Posts

J'ai essayé de résumer Cpaw Level1 & Level2 Write Up d'une manière facile à comprendre
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.
Je vais vous expliquer comment utiliser Pandas d'une manière facile à comprendre.
[Deep Learning from scratch] J'ai essayé d'expliquer la confirmation du gradient d'une manière facile à comprendre.
J'ai essayé de comprendre l'apprentissage supervisé de l'apprentissage automatique d'une manière facile à comprendre, même pour les ingénieurs serveurs 1
[Python] J'ai essayé d'expliquer des mots difficiles à comprendre pour les débutants d'une manière facile à comprendre.
J'ai essayé de comprendre l'apprentissage supervisé de l'apprentissage automatique d'une manière facile à comprendre, même pour les ingénieurs serveurs 2
J'ai essayé de résumer comment utiliser les pandas de python
J'ai essayé de résumer SparseMatrix
J'ai essayé d'expliquer comment obtenir le contenu de l'article avec l'API MediaWiki d'une manière facile à comprendre avec des exemples (Python 3)
[Apprentissage automatique] Résumons la forêt aléatoire de manière simple à comprendre
J'ai essayé de résumer le code souvent utilisé dans Pandas
J'ai essayé de résumer les commandes souvent utilisées en entreprise
J'ai essayé de créer un article dans Wiki.js avec SQL Alchemy
[Pour les débutants] Je souhaite expliquer le nombre d’apprentissage d’une manière facile à comprendre.
J'ai essayé de faire 5 modèles de base d'analyse en 3 ans
J'ai essayé de résumer la commande umask
J'ai essayé d'implémenter la permutation en Python
J'ai essayé d'implémenter PLSA dans Python 2
Entrée standard Python3 que j'ai essayé de résumer
J'ai essayé de résumer la modélisation graphique.
J'ai essayé d'implémenter ADALINE en Python
J'ai essayé d'implémenter PPO en Python
J'ai essayé de résumer les modules d'Ansible - l'édition Linux
J'ai essayé de résumer jusqu'à ce que je quitte la banque et devienne ingénieur
J'ai essayé de résumer moi-même le flux général jusqu'à la création de services.
Introduction au Deep Learning (1) --Chainer est expliqué d'une manière facile à comprendre pour les débutants-
J'ai essayé d'obtenir une image en grattant
J'ai essayé d'intégrer Keras dans TFv1.1
J'ai essayé d'implémenter TOPIC MODEL en Python
J'ai essayé de détecter un objet avec M2Det!
J'ai essayé d'implémenter le tri sélectif en python
Affichez les journaux d'une manière facile à comprendre avec Ansible
LeetCode j'ai essayé de résumer les plus simples
J'ai essayé de créer un environnement avec WSL + Ubuntu + VS Code dans un environnement Windows
[Série pour les gens occupés] J'ai essayé de résumer avec une analyse de syntaxe pour appeler les actualités en 30 secondes
Création d'une bibliothèque Python pour écrire des inclusions complexes et les réduire de manière facile à lire
J'ai essayé de résumer les nouvelles personnes infectées par le virus corona dans la ville d'Ichikawa, préfecture de Chiba
Je veux écrire en Python! (1) Vérification du format de code
J'ai essayé de représenter graphiquement les packages installés en Python
J'ai essayé de résumer comment utiliser matplotlib de python
Je veux écrire en Python! (2) Écrivons un test
J'ai essayé d'implémenter un pseudo pachislot en Python
J'ai essayé d'implémenter le poker de Drakue en Python
J'ai essayé d'implémenter GA (algorithme génétique) en Python
J'ai essayé d'obtenir une AMI en utilisant AWS Lambda
J'ai essayé de devenir un Ann Man en utilisant OpenCV
J'ai essayé de résumer quatre méthodes d'optimisation de réseau neuronal
Je veux écrire en Python! (3) Utiliser des simulacres
J'ai essayé de créer une application OCR avec PySimpleGUI
J'ai essayé de trouver la classe alternative avec tensorflow
J'ai essayé de résumer les opérations de chaîne de Python
J'ai essayé de déboguer.
J'ai essayé de résumer ce que l'homme fort de python fait dans le quartier des professionnels de la compétition
[Première API COTOHA] J'ai essayé de résumer l'ancienne histoire
J'ai essayé de créer une API list.csv avec Python à partir de swagger.yaml
J'ai essayé d'implémenter un automate cellulaire unidimensionnel en Python
J'ai essayé d'accélérer la création vidéo en traitant en parallèle