Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Hackme] Misja 4

Ostatnio zmodyfikowano 2008-01-21 18:14
Autor Wiadomość
Pito
Temat założony przez niniejszego użytkownika
[Hackme] Misja 4
» 2008-01-21 10:40:16
Hej Piotrek
Zacząłem grac w grę hackme i przy 4 misji próbuję przerobić kod szyfrujący na cpp.
i program mi się kompiluje ale windows wyświetla błąd

oto raport windowsa

<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="Projekt1.exe" FILTER="GRABMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="Project1.exe" SIZE="10240"
CHECKSUM="0x5F6BD654"
 MODULE_TYPE="WIN32" PE_CHECKSUM="0x0"
LINKER_VERSION="0x0"
LINK_DATE="01/21/2008 09:27:14" UPTO_LINK_DATE="01/21/2008 09:27:14" />
    <MATCHING_FILE NAME="Projekt1.exe" SIZE="475129"
CHECKSUM="0x5D738181" MODULE_TYPE="WIN32"
PE_CHECKSUM="0x75459" LINKER_VERSION="0x10000"
LINK_DATE="01/21/2008 09:36:14" UPTO_LINK_DATE="01/21/2008 09:36:14" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll"
SIZE="1013248"
CHECKSUM="0xBE05D016"
BIN_FILE_VERSION="5.1.2600.3119"
BIN_PRODUCT_VERSION="5.1.2600.3119" PRODUCT_VERSION="5.1.2600.3119"
FILE_DESCRIPTION="Biblioteka DLL klienta Windows NT BASE API" COMPANY_NAME="Microsoft Corporation"
PRODUCT_NAME="System operacyjny Microsoft® Windows®"
FILE_VERSION="5.1.2600.3119 (xpsp_sp2_gdr.070416-1301)" ORIGINAL_FILENAME="kernel32"
INTERNAL_NAME="kernel32"
LEGAL_COPYRIGHT="© Microsoft Corporation. Wszelkie prawa zastrzeżone." VERFILEDATEHI="0x0"
VERFILEDATELO="0x0" VERFILEOS="0x40004"
VERFILETYPE="0x2" MODULE_TYPE="WIN32"
PE_CHECKSUM="0xFE7A8"
LINKER_VERSION="0x50001"
UPTO_BIN_FILE_VERSION="5.1.2600.3119"
UPTO_BIN_PRODUCT_VERSION="5.1.2600.3119"
LINK_DATE="04/16/2007 15:54:44"
UPTO_LINK_DATE="04/16/2007 15:54:44"
VER_LANGUAGE="Polski [0x415]" />
</EXE>
</DATABASE>
a program który kompiluje to

C/C++
#include <iostream.h>
#include <conio.h>
main()
{
    int haslo;
    int tab[ 25 ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 };
    for( int i = 0; i <= tab[ 25 ] - 1; i++ )
    {
        haslo = tab[ i + 1 ];
       
    }
    cout << haslo;
    getch();
   
}


a całość wygląda tak i nie mogę znaleźć zasady działania dlatego prubuje przerobić na cpp bo nie znam javy

<html>
<head>
<title>Hackme 3.0 - by Unknow</title>
</head>
<body text="white" bgcolor="black"
link="yellow" vlink="yellow" alink="yellow">

<script>

//-----------------------------

function koduj(co)
{
         var alfabet='abcdefghijklmnopqrstuwxyz';
         var haslo='';
         for (i=0; i<=co.length-1; i++)
         {
             haslo+=co.substring(i,i+1)+alfabet.substring(i,i+1);
         }
return haslo;
}

//-----------------------------

function spr()
{
         twoje=document.getElementById('haslo').value;
         if (koduj(twoje)=='aanbacndaesf')
            {
                   alert('Haselko poprawne!');
                   self.location=twoje+'q.htm';
            }
else
{
    alert('To nie do konca to haslo :/');
}
}

//-----------------------------

</script>
<h3>Hackme 3.0 - level #4</h3>
Podaj haslo: <input type="password" id="haslo"> <input type="button" onclick="spr()" value="Go!">
</body></html>

P-213
DejaVu
Błędy w kodzie C++
» 2008-01-21 12:37:54
W tej linijce masz conajmniej 2 błędy:
for( int i = 0; i <= tab[ 25 ] - 1; i++ )
1. element w tablicy tab[25] nie istnieje (naruszenie ochrony pamięci).
2. Nawet jeśli zadziała ten program, to kompilator będzie wykonywał pętlę losową ilość razy. Dlaczego? tab[25] - niezainicjowana wartość = program podczas kompilacji otrzyma przypadkową wartość np. 12411423 i tyle razy się wykona ta pętla, więc siłą rzeczy program się wywali.
Wydaje mi się, że Twoja pętla miała wyglądać tak:
for( int i = 0; i < 25 - 1; i++ )
P-214
Pito
Temat założony przez niniejszego użytkownika
» 2008-01-21 14:30:32
Dokładnie chciał bym napisać w cpp coś takiego

for (i=0; i<=co.length-1; i++)
  {
    haslo+=co.substring(i,i+1)+alfabet.substring(i,i+1);
  }

ale nie mam pojęcia co oznacza "co.length"
i jak można dodać te 2 obiekty które są literami
"substring(i,i+1)+alfabet.substring(i,i+1);"
P-215
DejaVu
Podstawy javascript
» 2008-01-21 17:50:39
Informacje o javascript takie, jakich szukasz znajdziesz tutaj: http://ciekawe.info/blatek/javascript/ob_string.html.

Czy znalazłeś odpowiedzi na Twoje pytania?
P-216
Pito
Temat założony przez niniejszego użytkownika
» 2008-01-21 18:09:44
na pewno znajdę bo chyba się pouczę javy
dzięki;)
P-217
DejaVu
Zamykam temat
» 2008-01-21 18:14:21
To jest Javascript a nie Java. To są dwa różne języki.

Zamykam temat. Jeśli jeszcze masz jakieś pytania związane z problemem tu poruszonym to otwórz temat :)

Co do szyfrowania... to widzę, że jest to banalna funkcja :) Czytasz poprostu co drugą literę i masz hasło.
P-218
« 1 »
  Strona 1 z 1