10 October, 2023 - 05:07 PM
J’ai essayé avec un flipper zéro et un proxmark3 mais sans succès. Je vous joins l’intérieur du fichier que j’ai réussis à obtenir si vous pouvez m’aider merci beaucoup
local getopt = require('getopt')
--local utils = require('utils')
local ansicolors = require('ansicolors')
copyright = ''
author = "Abou"
version = 'v1.1.0'
desc = [[
Ce script permet de lancer une boucle pour les clefs elephant bleu difficile a detecter
]]
example = [[
-- dump d'une cle
script run 1 -dump
-- affichage de l'aide
script run 1 -h
-- credit de 50 euros
script run 1 -S 50
-- recherche de badge LF
script run 1 -c
-- scan en changeant la frequence LF de 100khz à 150khz
script run 1 -scan
]]
usage = [[
script run Abou_ElephantBleu [-dump] [-h] [-S 'somme'] [-c]
]]
arguments = [[
-h : this help
-dump : lecture du dump
-S .. : ecriture de ..euros
-c : recherche de badge LF
-b : lance un code au choix en boucle
-scan : scan de 100khz a 150khz
]]
local DEBUG = false
local bxor = bit32.bxor
---
-- A debug printout-function
local function dbg(args)
if not DEBUG then return end
if type(args) == 'table' then
local i = 1
while args do
dbg(args)
i = i+1
end
else
print('###', args)
end
end
---
-- This is only meant to be used when errors occur
local function oops(err)
print('ERROR:', err)
core.clearCommandBuffer()
return nil, err
end
------------------------------------------------------------------------------------------------
-- Usage help
local function help()
print(copyright)
print(author)
print(version)
print(desc)
print(ansicolors.cyan..'Usage'..ansicolors.reset)
print(usage)
print(ansicolors.cyan..'Arguments'..ansicolors.reset)
print(arguments)
print(ansicolors.cyan..'Example usage'..ansicolors.reset)
print(example)
end
---raccourci
local acgreen = ansicolors.bright..ansicolors.green
local accyan = ansicolors.bright..ansicolors.cyan
local acred = ansicolors.red
local acyellow = ansicolors.bright..ansicolors.yellow
local acblue = ansicolors.bright..ansicolors.blue
local acmagenta = ansicolors.bright..ansicolors.magenta
local acoff = ansicolors.reset
--- COMMANDE
local function commande(nb,a)
if nb == 1 then core.console('lf search') end
if nb == 2 then core.console(string.format('lf config -f %s',a)) end
if nb == 3 then core.console('lf config --125')end
if nb == 4 then core.console('lf em 4x50 dump')end
if nb == 5 then core.console(string.format('Lf em 4x50 wrbl -b 5 -d %s',a))end
if nb == 6 then core.console(string.format('Lf em 4x50 wrbl -b 9 -d %s',s))end
end
--- fonction wait
function wait(time)
local duration = os.time() + time
while os.time() < duration do end
end
--- forcage nb de caractere
local function zfill(nb, val)
val = '00000000'..val
val = string.sub(val, nb)
return val
end
--- conversion
local function credit(a)
s = zfill(-8,string.format("%x", (a*10)),16)
end
--- recherche de badge LF
local function search(rep)
print(acgreen..'recherche de badge LF'..acoff)
for i=1,rep do
commande(1)
end
end
--- boucle au choix
local function code(rep)
print(acgreen..'Quelle boucle souhaitez vous lancer?'..acoff)
a = io.read()
for i=1,rep do
core.console(a)
wait(0.01)
end
end
--- scanne les frequences basses
local function scan()
print(acgreen..'scanne en cours'..acoff)
for i=100,150 do
commande(2,i)
commande(1)
end
print(acgreen..'parametre remis a 125Khz'..acoff)
commande(3)
end
--- lecture de cle
local function dump()
print(acgreen..'lecture du dump en cours'..acoff)
for i=1,rep do
commande(4)
end
end
--- ecriture sur cle
local function write(a, s, rep)
print(string.format(acgreen..'ecriture de %s euros sur bloc 5 et 9',a)..acoff)
print(acyellow..('bloc='..s)..acoff)
for i=1,rep do
commande(5,s)
commande(6,s)
end
end
-- choix nomnre de boucle
local function boucle()
print(acblue..' nombre de boucle?'..acoff)
rep = 1
end
-- depart du programme Main
function main(args)
for o, a in getopt.getopt(args, 'S:') do
if o == 'S' then boucle();credit(a);write(a, s,rep) end
end
if args == '-h' or args == '' or args == '-help' then return help() end
if args == '-dump' then boucle();dump(rep) end
if args == '-c' then boucle();search(rep) end
if args == '-b' then boucle();code(rep) end
if args == '-scan' then scan() end
end
main(args)
local getopt = require('getopt')
--local utils = require('utils')
local ansicolors = require('ansicolors')
copyright = ''
author = "Abou"
version = 'v1.1.0'
desc = [[
Ce script permet de lancer une boucle pour les clefs elephant bleu difficile a detecter
]]
example = [[
-- dump d'une cle
script run 1 -dump
-- affichage de l'aide
script run 1 -h
-- credit de 50 euros
script run 1 -S 50
-- recherche de badge LF
script run 1 -c
-- scan en changeant la frequence LF de 100khz à 150khz
script run 1 -scan
]]
usage = [[
script run Abou_ElephantBleu [-dump] [-h] [-S 'somme'] [-c]
]]
arguments = [[
-h : this help
-dump : lecture du dump
-S .. : ecriture de ..euros
-c : recherche de badge LF
-b : lance un code au choix en boucle
-scan : scan de 100khz a 150khz
]]
local DEBUG = false
local bxor = bit32.bxor
---
-- A debug printout-function
local function dbg(args)
if not DEBUG then return end
if type(args) == 'table' then
local i = 1
while args do
dbg(args)
i = i+1
end
else
print('###', args)
end
end
---
-- This is only meant to be used when errors occur
local function oops(err)
print('ERROR:', err)
core.clearCommandBuffer()
return nil, err
end
------------------------------------------------------------------------------------------------
-- Usage help
local function help()
print(copyright)
print(author)
print(version)
print(desc)
print(ansicolors.cyan..'Usage'..ansicolors.reset)
print(usage)
print(ansicolors.cyan..'Arguments'..ansicolors.reset)
print(arguments)
print(ansicolors.cyan..'Example usage'..ansicolors.reset)
print(example)
end
---raccourci
local acgreen = ansicolors.bright..ansicolors.green
local accyan = ansicolors.bright..ansicolors.cyan
local acred = ansicolors.red
local acyellow = ansicolors.bright..ansicolors.yellow
local acblue = ansicolors.bright..ansicolors.blue
local acmagenta = ansicolors.bright..ansicolors.magenta
local acoff = ansicolors.reset
--- COMMANDE
local function commande(nb,a)
if nb == 1 then core.console('lf search') end
if nb == 2 then core.console(string.format('lf config -f %s',a)) end
if nb == 3 then core.console('lf config --125')end
if nb == 4 then core.console('lf em 4x50 dump')end
if nb == 5 then core.console(string.format('Lf em 4x50 wrbl -b 5 -d %s',a))end
if nb == 6 then core.console(string.format('Lf em 4x50 wrbl -b 9 -d %s',s))end
end
--- fonction wait
function wait(time)
local duration = os.time() + time
while os.time() < duration do end
end
--- forcage nb de caractere
local function zfill(nb, val)
val = '00000000'..val
val = string.sub(val, nb)
return val
end
--- conversion
local function credit(a)
s = zfill(-8,string.format("%x", (a*10)),16)
end
--- recherche de badge LF
local function search(rep)
print(acgreen..'recherche de badge LF'..acoff)
for i=1,rep do
commande(1)
end
end
--- boucle au choix
local function code(rep)
print(acgreen..'Quelle boucle souhaitez vous lancer?'..acoff)
a = io.read()
for i=1,rep do
core.console(a)
wait(0.01)
end
end
--- scanne les frequences basses
local function scan()
print(acgreen..'scanne en cours'..acoff)
for i=100,150 do
commande(2,i)
commande(1)
end
print(acgreen..'parametre remis a 125Khz'..acoff)
commande(3)
end
--- lecture de cle
local function dump()
print(acgreen..'lecture du dump en cours'..acoff)
for i=1,rep do
commande(4)
end
end
--- ecriture sur cle
local function write(a, s, rep)
print(string.format(acgreen..'ecriture de %s euros sur bloc 5 et 9',a)..acoff)
print(acyellow..('bloc='..s)..acoff)
for i=1,rep do
commande(5,s)
commande(6,s)
end
end
-- choix nomnre de boucle
local function boucle()
print(acblue..' nombre de boucle?'..acoff)
rep = 1
end
-- depart du programme Main
function main(args)
for o, a in getopt.getopt(args, 'S:') do
if o == 'S' then boucle();credit(a);write(a, s,rep) end
end
if args == '-h' or args == '' or args == '-help' then return help() end
if args == '-dump' then boucle();dump(rep) end
if args == '-c' then boucle();search(rep) end
if args == '-b' then boucle();code(rep) end
if args == '-scan' then scan() end
end
main(args)