🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
4 messages
4 total messages Started by konsul41 Tue, 09 May 2017 08:16
hasło płatnika
#345800
Author: konsul41
Date: Tue, 09 May 2017 08:16
10 lines
1274 bytes
Czy ktoś już dekodował hasło płatnika w delphi?

https://platnik.fork.pl//index.php
tutaj jest skrypt w perlu ale Ja z perla noga.
Może ktoś ma i chciałby się podzielić.


---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Re: hasło płatnika
#345801
Author: konsul41
Date: Thu, 11 May 2017 07:06
33 lines
1829 bytes
W dniu 09-05-2017 o 10:16, konsul41@wp.pl pisze:
> Czy ktoś już dekodował hasło płatnika w delphi?
>
> https://platnik.fork.pl//index.php
> tutaj jest skrypt w perlu ale Ja z perla noga.
> Może ktoś ma i chciałby się podzielić.
>
>
> ---
> Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie
> antywirusowe Avast.
> https://www.avast.com/antivirus
>
Jak to przepisać na Delphi
JavaScript
function swap(keys,index,a)
{
   var arr,i,s,tmp;
   arr=keys[index].split('');
   for (s=0;s<16;s+=a<<1)
     for (i=s+a;i-->s;)
     {
       tmp=arr[i];
	  arr[i]=arr[i+a];
	  arr[i+a]=tmp;
	}
   keys[index]=arr.join('');
}


---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Re: hasło płatnika
#345802
Author: konsul41
Date: Thu, 11 May 2017 09:37
64 lines
2185 bytes
Czy dobrze je przerabiam

void swap(char in[],int a) {
   int j=0,i,s;
   char temp;

   for (s=0;s<16;s=(++j)*2*a){
     for (i=0;i<a;i++) {
       temp=in[i+s];
       in[i+s]=in[i+s+a];
       in[i+s+a]=temp;
     }
   }
}

procedure swap(var ain : String; a : Integer);
var j,i,s : Integer;
     temp  : Char;
begin
   j:=0;
   s:=0;
   while s<16 do
   begin
     for i := 0 to a do
     begin
       temp:=ain[i+s];
       ain[i+s]:=ain[i+s+a];
       ain[i+s+a]:=temp;
     end;
     inc(j);
     s:= j*2*a;
   end;
end;







int find(char x[] ,char y) {
   int i;
   for (i=0;i<(int)strlen(x);i++) if (x[i]==y) return i;
   return -1;
}


function find(x : String; y : Char):integer;
var i : integer;
begin
   for i := 0 to Length(x) do
   begin
     if (x[i]=y)then
     begin
       result:=i;
       break;
     end else result := -1;
   end;
end;


---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Re: hasło płatnika
#345803
Author: konsul41
Date: Fri, 12 May 2017 06:26
66 lines
2924 bytes
Ponieważ nikt nie napisał sam podam rozwiązanie.

Cały myk polega na wytworzeniu 8 tablic i pobraniu z niego odpowiednich 
pozycji liter.

W skrypcie perla cytowanym przeze mnie tworzone są przez zamienianie 
miejscami.
Niestety u mnie nie działało i dlatego uruchomiłem ten zmodyfikowany 
skrypt, który wyświetlał wygenerowane prawidłowe tablice i dopiero je 
użyłem u siebie.

kod

function DekodujHasloPlatnika(ciag : String):String;
type TCiag = array[0..15] of char;
CONST kk='lmnopqrstuvwxyz{';
       order : array[0..23] of integer 
=(0,1,2,3,4,0,3,5,2,1,5,4,3,6,6,2,4,2,2,4,3,2,7,7);
var a,b,i,j : Integer;    //var i,code,output,keys=[];
     code : Integer;//String;
     pkey  : array[0..7] of TCiag;
     haslo : array of char;

function find(x : String; y : Char):integer;
var i : integer;
begin
   for i := 1 to Length(x) do
   begin
     if (x[i]=y)then
     begin
       result:=i-1;
       break;
     end else result := -1;
   end;
end;
begin
   SetLength(haslo,Length(ciag));
   strcopy(PChar(haslo),PChar(ciag));
   for i := 0 to 7 do pkey[i]:=kk;
   pkey[0]:='tuvwxyz{lmnopqrs';
   pkey[1]:='qpsrmlonyx{zutwv';
   pkey[2]:='utwvyx{zmlonqpsr';
   pkey[3]:='mlonqpsrutwvyx{z';
   pkey[4]:='pqrslmnoxyz{tuvw';
   pkey[5]:='nolmrspqvwtuz{xy';
   pkey[6]:='onmlsrqpwvut{zyx';
   pkey[7]:='srqponml{zyxwvut';
   i:=0;
   j:=0;
   while i<Length(ciag) do
   begin
     a:=find(pkey[order[j]],haslo[i]);
     b:=find(pkey[order[j]],haslo[i+1]);
     result:=result+char(a+16*b);
     inc(j);
     i:=j*2;
     //http://www.manobit.com/platnik-haslo/
   end;
end;

kod prawidłowo dekoduje hasło płatnika 10.


---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads