Z okazji rocznicy, okrągłej oczywiście — odkodowania 133541 (tak — stu trzydziestu trzech tysięcy pięciuset czterdziestu jeden) haseł przez mój dekoder online, publikuję kody źródłowe algorytmu dekodowania haseł FTP Total Commandera w formie paczek dla popularnych języków programowania.
Dostępne są paczki dla PHP, Pythona, JS i waszego ukochanego Rust. Kody źródłowe wszystkich paczek są dostępne na moim GitHubie.
###############################################################################
#
# Steganography Online Codec WebApi interface usage example.
#
# This example shows how to hide an encrypted secret message in an image file.
#
# Version : v1.00
# Language : Python
# Author : Bartosz Wójcik
# Project : https://www.pelock.com/products/steganography-online-codec
# Homepage : https://www.pelock.com
#
###############################################################################
#
# include Steganography Online Codec module
#
from steganography_online_codec import *
#
# create Steganography Online Codec class instance (we are using our activation key)
#
mySteganographyOnlineCodec = SteganographyOnlineCodec("YOUR-CODE-GOES-HERE")
#
# encode a hidden message (encrypted with your password) within an image file
#
result = mySteganographyOnlineCodec.encode("input_file.jpg", "Secret message", "Pa$$word", "output_file_with_hidden_secret_message.png")
#
# result[] array holds the encoding results as well as other information
#
if result and "error" in result:
if result["error"] == Errors.SUCCESS:
print(f'Secret messaged encoded and saved to the output PNG file.')
else:
print(f'Error code {result["error"]}')
else:
print("Something unexpected happen while trying to encode the message.")
Dla osób, które chciałby masowo generować kody radiowe i sprzedawać je np. na Allegro czy OLX mam do zaoferowania SDK pozwalające generować nielimitowaną ilość kodów, w takich językach programowania jak JavaScript, Python i PHP.
Przykładowe użycie z poziomu JS:
"use strict";
/******************************************************************************
*
* Radio Code Calculator API - WebApi interface usage example
*
* In this example, we will demonstrate how to generate a code for a specific
* type of car radio.
*
* Version : v1.1.0
* JS : ES6
* Dependencies : radio-code-calculator
* Author : Bartosz Wójcik ([email protected])
* Project : https://www.pelock.com/products/radio-code-calculator
* Homepage : https://www.pelock.com
*
* @link https://www.pelock.com/products/radio-code-calculator
* @copyright Copyright (c) 2021-2023 PELock LLC
* @license Apache-2.0
*
/*****************************************************************************/
//
// include Radio Code Calculator API module
//
import { RadioCodeCalculator, RadioErrors, RadioModel, RadioModels } from "radio-code-calculator";
//
// create Radio Code Calculator API class instance (we are using our activation key)
//
let myRadioCodeCalculator = new RadioCodeCalculator("ABCD-ABCD-ABCD-ABCD");
//
// generate radio code (using Web API)
//
myRadioCodeCalculator.calc(RadioModels.FORD_M_SERIES, "123456").then((result) => {
console.log("Radio code is " + result["code"]);
}).catch((error) => {
switch(error["error"])
{
case RadioErrors.INVALID_RADIO_MODEL: console.log("Invalid radio model (not supported)"); break;
case RadioErrors.INVALID_SERIAL_LENGTH: console.log("Invalid serial number length (expected " + result["serialMaxLen"] + " characters)"); break;
case RadioErrors.INVALID_SERIAL_PATTERN: console.log("Invalid serial number regular expression pattern (expected " + result["serialRegexPattern"]["php"] + " regex pattern)"); break;
case RadioErrors.INVALID_SERIAL_NOT_SUPPORTED: console.log("This serial number is not supported"); break;
case RadioErrors.INVALID_EXTRA_LENGTH: console.log("Invalid extra data length (expected " + result["extraMaxLen"] + " characters)"); break;
case RadioErrors.INVALID_EXTRA_PATTERN: console.log("Invalid extra data regular expression pattern (expected " + result["extraRegexPattern"]["php"] + " regex pattern"); break;
case RadioErrors.INVALID_INPUT: console.log("Invalid input data"); break;
case RadioErrors.INVALID_COMMAND: console.log("Invalid command sent to the Web API interface"); break;
case RadioErrors.INVALID_LICENSE: console.log("Invalid license key!"); break;
default: console.log(`Something unexpected happen while trying to login to the service (error code ${error}).`); break;
}
});
Kolejny generator kodów radiowych, tym razem w wersji dla języka PHP. Generuj kody radiowe i nawigacyjne dla popularnych modeli aut, sprzedawaj je i zarabiaj ile wlezie 🙂
<?php declare(strict_types=1);
/******************************************************************************
*
* Radio Code Calculator API - WebApi interface usage example
*
* In this example, we will demonstrate how to generate a code for a specific
* type of car radio.
*
* Version : v1.00
* PHP : >= 8
* Dependencies : cURL
* Author : Bartosz Wójcik ([email protected])
* Project : https://www.pelock.com/products/radio-code-calculator
* Homepage : https://www.pelock.com
*
* @link https://www.pelock.com/products/radio-code-calculator
* @copyright Copyright (c) 2021-2023 PELock LLC
* @license Apache-2.0
*
/*****************************************************************************/
//
// include Radio Code Calculator API module
//
use PELock\RadioCodeCalculator\RadioCodeCalculator;
use PELock\RadioCodeCalculator\RadioErrors;
use PELock\RadioCodeCalculator\RadioModels;
//
// create Radio Code Calculator API class instance (we are using our activation key)
//
$myRadioCodeCalculator = new RadioCodeCalculator("ABCD-ABCD-ABCD-ABCD");
//
// generate radio code (using Web API)
//
list($error, $result) = $myRadioCodeCalculator->calc(RadioModels::get(RadioModels::FORD_M_SERIES), "123456");
switch($error)
{
case RadioErrors::SUCCESS: echo "Radio code is " . $result["code"]; break;
case RadioErrors::INVALID_RADIO_MODEL: echo "Invalid radio model (not supported)"; break;
case RadioErrors::INVALID_SERIAL_LENGTH: echo "Invalid serial number length (expected " . $result["serialMaxLen"] . " characters)"; break;
case RadioErrors::INVALID_SERIAL_PATTERN: echo "Invalid serial number regular expression pattern (expected " . $result["serialRegexPattern"]["php"] . " regex pattern)"; break;
case RadioErrors::INVALID_SERIAL_NOT_SUPPORTED: echo "This serial number is not supported"; break;
case RadioErrors::INVALID_EXTRA_LENGTH: echo "Invalid extra data length (expected " . $result["extraMaxLen"] . " characters)"; break;
case RadioErrors::INVALID_EXTRA_PATTERN: echo "Invalid extra data regular expression pattern (expected " . $result["extraRegexPattern"]["php"] . " regex pattern"; break;
case RadioErrors::INVALID_INPUT: echo "Invalid input data"; break;
case RadioErrors::INVALID_COMMAND: echo "Invalid command sent to the Web API interface"; break;
case RadioErrors::INVALID_LICENSE: echo "Invalid license key!"; break;
default: echo "Something unexpected happen while trying to login to the service (error code {error})."; break;
}
SDK dla Pythona i więcej przykładów
Więcej przykładów oraz wersje przykładów dla Pythona na:
Kalkulator Kodów Do Radia samochodowego to usługa Web API umożliwiająca generowanie kodów odblokowujących radioodtwarzacze i nawigację w samochodach. Jest dostępna poprzez prosty interfejs online oraz API i wiele bibliotek SDK dla popularnych języków programowania, takich jak np. Python.
Prościej się chyba nie da, obsługa wszelkich możliwych wyjątków:
#!/usr/bin/env python
###############################################################################
#
# Radio Code Calculator API - WebApi interface usage example
#
# In this example, we will demonstrate how to generate a code for a specific
# type of car radio.
#
# Version : v1.00
# Language : Python
# Author : Bartosz Wójcik
# Project : https://www.pelock.com/products/radio-code-calculator
# Homepage : https://www.pelock.com
#
###############################################################################
#
# include Radio Code Calculator API module
#
from radio_code_calculator import *
#
# create Radio Code Calculator API class instance (we are using our activation key)
#
myRadioCodeCalculator = RadioCodeCalculator("ABCD-ABCD-ABCD-ABCD")
#
# generate radio code (using Web API)
#
error, result = myRadioCodeCalculator.calc(RadioModels.FORD_M_SERIES, "123456")
if error == RadioErrors.SUCCESS:
print(f'Radio code is {result["code"]}')
elif error == RadioErrors.INVALID_RADIO_MODEL:
print("Invalid radio model (not supported)")
elif error == RadioErrors.INVALID_SERIAL_LENGTH:
print(f'Invalid serial number length (expected {result["serialMaxLen"]} characters)')
elif error == RadioErrors.INVALID_SERIAL_PATTERN:
print(f'Invalid serial number regular expression pattern (expected {result["serialRegexPattern"]["python"]} regex pattern)')
elif error == RadioErrors.INVALID_SERIAL_NOT_SUPPORTED:
print("This serial number is not supported")
elif error == RadioErrors.INVALID_EXTRA_LENGTH:
print(f'Invalid extra data length (expected {result["extraMaxLen"]} characters)')
elif error == RadioErrors.INVALID_EXTRA_PATTERN:
print(f'Invalid extra data regular expression pattern (expected {result["extraRegexPattern"]["python"]} regex pattern)')
elif error == RadioErrors.INVALID_INPUT:
print("Invalid input data")
elif error == RadioErrors.INVALID_COMMAND:
print("Invalid command sent to the Web API interface")
elif error == RadioErrors.INVALID_LICENSE:
print("Invalid license key")
elif error == RadioErrors.ERROR_CONNECTION:
print("Something unexpected happen while trying to login to the service.")
else:
print(f'Unknown error {error}')
Dzięki temu rozwiązaniu możesz tworzyć aplikacje mobilne lub internetowe umożliwiające łatwe generowanie kodów radia i samemu zarabiać na generowaniu kodów radiowych. Przykładowej projekcje zarobków w zależności od cen na stronie projektu.
Upubliczniłem na GitHubie repozytorium z SDK dla swojego systemu ochrony i licencjonowania oprogramowania PELock v2.0.
SDK i setki przykładów użycia są dostępne w wersji dla C/C++, D, Delphi/Pascal, PureBasic, PowerBASIC oraz MASM.
Jeśli interesujesz się metodami ochrony oprogramowania przed złamaniem być może znajdziesz także coś dla siebie, ponieważ PELock v2.0 oferuje wiele nowych, niespotykanych metod pozwalających zabezpieczyć oprogramowanie przed crackingiem i reverse engineeringiem.