Topic de Cattardo :

J'ai fait un script BASH pour print tous mes pseudos qui sont BANNIS :rire:

Le 26 novembre 2023 à 10:22:41 PitiMinouPuant a écrit :

Le 26 novembre 2023 à 10:21:52 :

while IFS= read -r pseudo

https://image.noelshack.com/fichiers/2018/01/7/1515338826-risitasbloodeyes.png

for pseudo in $@ 

-évite de modifier l'ifs
-évite de devoir formater les paramètre avec des ,

je suis dev js/typescript en fait, c'est chatgpt qui m'a généré cette merde et ça me convient en sah https://image.noelshack.com/fichiers/2018/10/5/1520614662-1520614610133.png

Je veux aussi me mettre au typescript. Tu l'as appris via la doc ou via des contenus/site/youtube/... sympas ?

Le 26 novembre 2023 à 10:24:12 :

Le 26 novembre 2023 à 10:22:41 PitiMinouPuant a écrit :

Le 26 novembre 2023 à 10:21:52 :

while IFS= read -r pseudo

https://image.noelshack.com/fichiers/2018/01/7/1515338826-risitasbloodeyes.png

for pseudo in $@ 

-évite de modifier l'ifs
-évite de devoir formater les paramètre avec des ,

je suis dev js/typescript en fait, c'est chatgpt qui m'a généré cette merde et ça me convient en sah https://image.noelshack.com/fichiers/2018/10/5/1520614662-1520614610133.png

Je veux aussi me mettre au typescript. Tu l'as appris via la doc ou via des contenus/site/youtube/... sympas ?

j'ai appris au fil du temps, j'ai commencé typescript y a 5 ans, c'est très facile si on connait bien javascript, et encore plus facile si en plus tu connais déjà le principe du typage statique https://image.noelshack.com/fichiers/2018/10/5/1520614662-1520614610133.png

    local csv_file="${1:-/mnt/c/Users/ptibatar/OneDrive/Documents/Microsoft Edge Passwords.csv}"

    # Read and format usernames from the CSV file
    local usernames=$(awk -F, '$1 == "www.jeuxvideo.com" {print $3}' "$csv_file" | paste -sd, -)

    # If no usernames were found, exit the function
    if [ -z "$usernames" ]; then
        echo "No usernames found for www.jeuxvideo.com in the CSV file."
        return
    fi

https://image.noelshack.com/fichiers/2018/10/5/1520614662-1520614610133.png

Bravo ! :bravo:

Mais je n'en vois pas l'utilité :(

Le 26 novembre 2023 à 10:32:12 Linkpa a écrit :
Bravo ! :bravo:

Mais je n'en vois pas l'utilité :(

Admettons que tu te fasse ban là maintenant: avec ce genre de script, tu sais directement quels sont tes autres pseudos disponibles au lieu de les essayer un à un. Perso, je le faisais rapidement avec RespawnIRC mais là ça va être encore plus rapide. Et évidemment, je supprime de la liste les pseudos qui se font ban def.

Le 26 novembre 2023 à 10:36:16 Linuxien57 a écrit :

Le 26 novembre 2023 à 10:32:12 Linkpa a écrit :
Bravo ! :bravo:

Mais je n'en vois pas l'utilité :(

Admettons que tu te fasse ban là maintenant: avec ce genre de script, tu sais directement quels sont tes pseudos disponibles au lieu que de les essayer un à un. Perso, je le faisais rapidement avec RespawnIRC mais là ça va être encore plus rapide. Et évidemment, je supprime de la liste les pseudos qui se font ban def.

microsoft edge -> exporter passwords -> lancement du script qui parse le CSV, print tous les pseudos jvc enregistrés automatiquement avec leur status de ban -> suppression du CSV par le script https://image.noelshack.com/fichiers/2018/10/5/1520614662-1520614610133.png

Le 26 novembre 2023 à 10:37:11 PitiMinouPuant a écrit :

Le 26 novembre 2023 à 10:36:16 Linuxien57 a écrit :

Le 26 novembre 2023 à 10:32:12 Linkpa a écrit :
Bravo ! :bravo:

Mais je n'en vois pas l'utilité :(

Admettons que tu te fasse ban là maintenant: avec ce genre de script, tu sais directement quels sont tes pseudos disponibles au lieu que de les essayer un à un. Perso, je le faisais rapidement avec RespawnIRC mais là ça va être encore plus rapide. Et évidemment, je supprime de la liste les pseudos qui se font ban def.

microsoft edge -> exporter passwords -> lancement du script qui parse le CSV, print tous les pseudos jvc enregistrés automatiquement avec leur status de ban -> suppression du CSV par le script https://image.noelshack.com/fichiers/2018/10/5/1520614662-1520614610133.png

Cela insinue que tu t'es déjà connecté sur ce navigateur avec tous tes pseudos et sans avoir jamais effacé les données sauvegardées, ça ne sera pas adapté à tout le monde https://image.noelshack.com/fichiers/2017/39/3/1506524542-ruth-perplexev2.png

En powershell :


$ListePseudos = @("pulsionnel","Pulsionnel2","pulsionnel3","Pulsionnel4", "pulsionnel6")

foreach ($pseudo in $ListePseudos){
    try {
        if ((Invoke-WebRequest https://www.jeuxvideo.com/profil/$($pseudo.ToLower())?mode=infos).Content | Select-String "banni") {
            Write-Host "$pseudo : BANNI !" -ForegroundColor Red
        }
        Else {
            Write-Host "$pseudo : OK !" -ForegroundColor Green
        }
    }
    Catch {
        Write-Host "Le pseudo $pseudo : n'existe pas !" -ForegroundColor Gray
    }
}

Ca donne ça : https://image.noelshack.com/fichiers/2023/47/7/1700991692-capture.jpg

Le 26 novembre 2023 à 10:42:28 Pulsionnel4 a écrit :
En powershell :

Ca donne ça : https://image.noelshack.com/fichiers/2023/47/7/1700991692-capture.jpg

Powershell :malade:
Bash :ok:

Le 26 novembre 2023 à 10:41:41 Linuxien57 a écrit :

Le 26 novembre 2023 à 10:37:11 PitiMinouPuant a écrit :

Le 26 novembre 2023 à 10:36:16 Linuxien57 a écrit :

Le 26 novembre 2023 à 10:32:12 Linkpa a écrit :
Bravo ! :bravo:

Mais je n'en vois pas l'utilité :(

Admettons que tu te fasse ban là maintenant: avec ce genre de script, tu sais directement quels sont tes pseudos disponibles au lieu que de les essayer un à un. Perso, je le faisais rapidement avec RespawnIRC mais là ça va être encore plus rapide. Et évidemment, je supprime de la liste les pseudos qui se font ban def.

microsoft edge -> exporter passwords -> lancement du script qui parse le CSV, print tous les pseudos jvc enregistrés automatiquement avec leur status de ban -> suppression du CSV par le script https://image.noelshack.com/fichiers/2018/10/5/1520614662-1520614610133.png

Cela insinue que tu t'es déjà connecté sur ce navigateur avec tous tes pseudos et sans avoir jamais effacé les données sauvegardées, ça ne sera pas adapté à tout le monde https://image.noelshack.com/fichiers/2017/39/3/1506524542-ruth-perplexev2.png

perso je fais justement attention à synchroniser mes passwords sur tous mes device du coup c'est très adapté, si je créé un compte sur mon téléphone depuis Edge, il sera sur mon Edge desktop aussi https://image.noelshack.com/fichiers/2018/10/5/1520614662-1520614610133.png

Il ya encore des opti à faire mais bon, en assembleur :


section .data
    url db "https://www.jeuxvideo.com/profil/", 0
    mode db "?mode=infos", 0
    ban db " ban", 0
    pasban db " pasban", 0
    buffer db 256 dup(0)

section .text
    global main
    extern printf
    extern fgets
    extern system
    extern curl

main:
    push ebp
    mov ebp, esp

    ; Boucle while (read for p in $@)
    mov esi, [ebp + 12] ; Adresse du premier argument
    mov ebx, [esi] ; Premier argument
loop_start:
    cmp ebx, 0 ; Vérifier si l'argument est égal à zéro (fin de la liste)
    je loop_end

    ; Afficher le nom d'utilisateur
    push ebx
    push format_string
    call printf
    add esp, 8

    ; Construire l'URL
    push ebx
    push mode
    push url
    call strcat
    add esp, 12

    ; Appeler curl pour récupérer le contenu de l'URL
    push buffer
    push url
    call curl
    add esp, 8

    ; Rechercher " ban" dans le contenu
    push buffer
    push ban
    call strstr
    add esp, 8

    cmp eax, 0 ; Vérifier si " ban" a été trouvé
    je print_pasban
    jmp loop_next

print_ban:
    ; Afficher " ban"
    push ban
    call printf
    add esp, 4
    jmp loop_next

print_pasban:
    ; Afficher " pasban"
    push pasban
    call printf
    add esp, 4

loop_next:
    ; Incrémenter l'adresse de l'argument
    add esi, 4
    mov ebx, [esi]
    jmp loop_start

loop_end:
    mov esp, ebp
    pop ebp
    ret

; Fonction strcat
strcat:
    push ebp
    mov ebp, esp

    ; Récupérer les arguments
    mov edi, [ebp + 8] ; Destination
    mov esi, [ebp + 12] ; Source

    ; Trouver la fin de la chaîne de destination
    xor eax, eax
    mov ecx, -1
    repne scasb
    dec edi

    ; Copier la chaîne source à la fin de la chaîne destination
    mov ecx, 0xffffffff
    xor eax, eax
    repne scasb
    not ecx
    dec ecx
    rep movsb

    mov esp, ebp
    pop ebp
    ret

; Fonction strstr
strstr:
    push ebp
    mov ebp, esp

    ; Récupérer les arguments
    mov edi, [ebp + 8] ; Chaîne à rechercher
    mov esi, [ebp + 12] ; Chaîne dans laquelle rechercher

    ; Rechercher la première occurrence de la chaîne
    xor ecx, ecx
    mov al, [edi]
    or al, al
    jz needle_found
search_loop:
    mov bl, [esi + ecx]
    cmp al, bl
    jnz search_next
    inc ecx
    mov al, [edi + ecx]
    or al, al
    jnz search_loop

needle_found:
    ; Calculer l'offset de la première occurrence
    sub ecx, eax

    mov eax, ecx

    mov esp, ebp
    pop ebp
    ret

section .data
format_string db "%s", 0
$ ./banoupas lekhey leKhey kcdarling
lekhey ban
leKhey ban
kcdarling pasban

https://image.noelshack.com/fichiers/2016/41/1476132386-1.png

Le 26 novembre 2023 à 10:48:16 :
Il ya encore des opti à faire mais bon, en assembleur :

https://image.noelshack.com/fichiers/2018/34/4/1535040519-1529680164-risiboulbepetit.png

En Cobol ça peut être sympa aussi https://image.noelshack.com/fichiers/2022/11/1/1647264273-macron-clodo.png

       IDENTIFICATION DIVISION.
       PROGRAM-ID. CheckBanni.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  UserInput PIC X(100).
       01  PseudoList OCCURS 100 TIMES.
           05  Pseudo PIC X(100).
       01  LowercasePseudo PIC X(100).
       01  Response PIC X(1000).
       01  I PIC 9(3).
       01  J PIC 9(3).
       01  Comma CHAR VALUE ",".

       PROCEDURE DIVISION.

           DISPLAY "Entre les pseudos que tu veux vérifier (séparés par des virgules): ".
           ACCEPT UserInput.

           STRING UserInput DELIMITED BY Comma INTO PseudoList.

           PERFORM VARYING I FROM 1 BY 1 UNTIL PseudoList(I) = SPACES
               MOVE PseudoList(I) TO Pseudo
               MOVE FUNCTION LOWER-CASE(Pseudo) TO LowercasePseudo

               INSPECT LowercasePseudo TALLYING J FOR ALL "banni"

               IF J > 0
                   DISPLAY LowercasePseudo ": ❌ Banni"
               ELSE
                   DISPLAY LowercasePseudo ": ✅ Non Banni"
               END-IF

           END-PERFORM.

           STOP RUN.

En haskell https://image.noelshack.com/fichiers/2020/18/3/1588165687-3frzomm.jpg


import System.Environment
import Network.HTTP.Simple
import qualified Data.ByteString.Lazy.Char8 as LBS

main :: IO ()
main = do
    args <- getArgs
    mapM_ processUser args

processUser :: String -> IO ()
processUser username = do
    putStr username

    let url = "https://www.jeuxvideo.com/profil/" ++ map toLower username ++ "?mode=infos"
    response <- httpLBS $ parseRequest_ url
    let content = LBS.unpack $ getResponseBody response

    if " ban" `elem` words content
        then putStrLn " ban"
        else putStrLn " pasban"

Le 26 novembre 2023 à 09:12:44 :
Ça simplifie la vie nofake https://image.noelshack.com/fichiers/2019/33/7/1566153992-madsbiererire.png
Par contre impossible de savoir si le pseudo est ban def ou non, ce serait beaucoup plus compliqué car il faudrait trick recaptcha https://image.noelshack.com/fichiers/2019/33/7/1566153992-madsbiererire.png
Le SCRIPT
# Usage: check_banni "pseudo1,pseudo2,pseudo3" check_banni() { # Split the input string by comma and convert into an array # "pseudo1,pseudo2,pseudo3" -> ["pseudo1", "pseudo2", "pseudo3"] IFS=',' read -r -a pseudos <<< "$1" for pseudo in "${pseudos[@]}"; do # Convert to lowercase # "Pseudo" -> "pseudo" local lowercase_pseudo="${pseudo,,}" local response=$(curl -s "https://www.jeuxvideo.com/profil/${lowercase_pseudo}?mode=infos") if echo "$response" | grep -q "banni"; then # Pseudo is banned echo "${lowercase_pseudo}: ❌" else # Pseudo is not banned echo "${lowercase_pseudo}: ✅" fi done }

Utilisation :
https://image.noelshack.com/fichiers/2023/47/7/1700986309-image.png
Croix = banned, Check vert = not banned https://image.noelshack.com/fichiers/2019/33/7/1566153992-madsbiererire.png

petit curl et petit grep et on se sent ingénieur https://image.noelshack.com/fichiers/2023/45/4/1699566273-1611826579-selectionreligieusevelo.png

tu as fait ça comme un porcas en + si le pseudo n'existe pas

Le 26 novembre 2023 à 10:58:02 Champigarou a écrit :
En haskell https://image.noelshack.com/fichiers/2020/18/3/1588165687-3frzomm.jpg

Tu peux le faire en Brainfuck stp https://image.noelshack.com/fichiers/2021/42/4/1634844847-jesus-defonce.png ?

Le 26 novembre 2023 à 11:00:19 lebossleliteFFF a écrit :

Le 26 novembre 2023 à 09:12:44 :
Ça simplifie la vie nofake https://image.noelshack.com/fichiers/2019/33/7/1566153992-madsbiererire.png
Par contre impossible de savoir si le pseudo est ban def ou non, ce serait beaucoup plus compliqué car il faudrait trick recaptcha https://image.noelshack.com/fichiers/2019/33/7/1566153992-madsbiererire.png
Le SCRIPT
# Usage: check_banni "pseudo1,pseudo2,pseudo3" check_banni() { # Split the input string by comma and convert into an array # "pseudo1,pseudo2,pseudo3" -> ["pseudo1", "pseudo2", "pseudo3"] IFS=',' read -r -a pseudos <<< "$1" for pseudo in "${pseudos[@]}"; do # Convert to lowercase # "Pseudo" -> "pseudo" local lowercase_pseudo="${pseudo,,}" local response=$(curl -s "https://www.jeuxvideo.com/profil/${lowercase_pseudo}?mode=infos") if echo "$response" | grep -q "banni"; then # Pseudo is banned echo "${lowercase_pseudo}: ❌" else # Pseudo is not banned echo "${lowercase_pseudo}: ✅" fi done }

Utilisation :
https://image.noelshack.com/fichiers/2023/47/7/1700986309-image.png
Croix = banned, Check vert = not banned https://image.noelshack.com/fichiers/2019/33/7/1566153992-madsbiererire.png

petit curl et petit grep et on se sent ingénieur https://image.noelshack.com/fichiers/2023/45/4/1699566273-1611826579-selectionreligieusevelo.png

petit prompt chatgpt et on se sent CEO de Facebook :oui:

Le 26 novembre 2023 à 10:42:28 :
En powershell :


$ListePseudos = @("pulsionnel","Pulsionnel2","pulsionnel3","Pulsionnel4", "pulsionnel6")

foreach ($pseudo in $ListePseudos){
    try {
        if ((Invoke-WebRequest https://www.jeuxvideo.com/profil/$($pseudo.ToLower())?mode=infos).Content | Select-String "banni") {
            Write-Host "$pseudo : BANNI !" -ForegroundColor Red
        }
        Else {
            Write-Host "$pseudo : OK !" -ForegroundColor Green
        }
    }
    Catch {
        Write-Host "Le pseudo $pseudo : n'existe pas !" -ForegroundColor Gray
    }
}

Ca donne ça : https://image.noelshack.com/fichiers/2023/47/7/1700991692-capture.jpg

Avec une GUI en WPF https://image.noelshack.com/fichiers/2021/04/4/1611841177-ahiahiahi.png


Add-Type -AssemblyName PresentationFramework
Add-Type -AssemblyName System.Windows.Forms

[xml]$xamlmain = @"
<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="Trouve le Pseudo JVC" Height="100" Width="339" WindowStartupLocation="CenterScreen">
    <Grid>
        <StackPanel Orientation="Vertical" HorizontalAlignment="Center">
            <StackPanel Orientation="Horizontal" FlowDirection="LeftToRight">
                <Label Content="Pseudo"/>
                <TextBox Name="TextBoxUser" HorizontalAlignment="Left" Margin="10,10,0,0" Width="150" VerticalAlignment="Top"/>
                <Button IsDefault="True" Name="BoutonSearch" Content="Recherche" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top"/>
            </StackPanel>
        </StackPanel>
    </Grid>
</Window>

"@


# Construction Main
$Global:syncHashMain = [hashtable]::Synchronized(@{})
$readermain = (New-Object System.Xml.XmlNodeReader $xamlmain)
$syncHashMain.Window = [Windows.Markup.XamlReader]::Load( $readermain )
$syncHashMain.Host = $Host

$xamlmain.SelectNodes("//*[@Name]") | ForEach-Object { $syncHashMain.($_.Name) = $syncHashMain.Window.FindName($_.Name) }

$speak = New-Object System.Speech.Synthesis.SpeechSynthesizer


Function CherchePseudo ($pseudo) {
    try {
        if ((Invoke-WebRequest https://www.jeuxvideo.com/profil/$($pseudo.ToLower())?mode=infos).Content | Select-String "banni") {
            Return "$pseudo : BANNI !"
        }
        Else {
            Return "$pseudo : Actif !"
        }
    }
    Catch {
        return "Le pseudo $pseudo : n'existe pas !"
    }
}

$syncHashMain.BoutonSearch.Add_Click({
    if (!$syncHashMain.TextBoxUser.Text) {
        [System.Windows.Forms.MessageBox]::Show("Vous n'avez rien saisi !", "Erreur - Données manquantes", 0, 16)
    }
    else {
        $Global:Utilisateur = CherchePseudo $syncHashMain.TextBoxUser.Text
        if ($Utilisateur -match "BANNI") {
            [System.Windows.Forms.MessageBox]::Show($Utilisateur, "Issou", 0, "warning")
        }
        elseif ($Utilisateur -match "Actif") {
            [System.Windows.Forms.MessageBox]::Show($Utilisateur, "Issou", 0, "Information")
        }
        else {
            [System.Windows.Forms.MessageBox]::Show($Utilisateur, "Issou", 0, "Error")
        }
    }
})


# lancement fenêtre principale
$syncHashMain.Window.ShowDialog() | Out-Null

https://image.noelshack.com/fichiers/2023/47/7/1700995397-capture.jpg
https://image.noelshack.com/fichiers/2023/47/7/1700995453-capture.jpg
https://image.noelshack.com/fichiers/2023/47/7/1700995495-capture.jpg
https://image.noelshack.com/fichiers/2022/37/1/1663014384-ahi-pince-mais.png

Le 26 novembre 2023 à 11:45:30 :

Le 26 novembre 2023 à 10:42:28 :
En powershell :

<code>
$ListePseudos = @("pulsionnel","Pulsionnel2","pulsionnel3","Pulsionnel4", "pulsionnel6")

foreach ($pseudo in $ListePseudos){

  1. lancement fenêtre principale

$syncHashMain.Window.ShowDialog() | Out-Null
</code>

https://image.noelshack.com/fichiers/2023/47/7/1700995397-capture.jpg
https://image.noelshack.com/fichiers/2023/47/7/1700995453-capture.jpg
https://image.noelshack.com/fichiers/2023/47/7/1700995495-capture.jpg
https://image.noelshack.com/fichiers/2022/37/1/1663014384-ahi-pince-mais.png

Le topax qui devient un repo avec gestionnaire de version https://image.noelshack.com/fichiers/2021/04/4/1611841177-ahiahiahi.png

Données du topic

Auteur
Cattardo
Date de création
26 novembre 2023 à 09:12:44
Nb. messages archivés
113
Nb. messages JVC
109
En ligne sur JvArchive 304