Serwis został przeniesiony pod nową domenę: http://cpp0x.pl/
AutorWiadomość
Data: 2008-01-21 10:40:16

Pito
[Hackme] Misja 4

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


#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>



Data: 2008-01-21 12:37:54

Piotr Szawdyński
Błędy w kodzie C++

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++)
Data: 2008-01-21 14:30:32

Pito


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);"

Data: 2008-01-21 17:50:39

Piotr Szawdyński
Podstawy javascript

Informacje o javascript takie, jakich szukasz znajdziesz tutaj: http://ciekawe.info/blatek/javascript/ob_string.html.

Czy znalazłeś odpowiedzi na Twoje pytania?

Data: 2008-01-21 18:09:44

Pito


na pewno znajdę bo chyba się pouczę javy
dziękioczko

Data: 2008-01-21 18:14:21

Piotr Szawdyński
Zamykam temat

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 wesoły

Co do szyfrowania... to widzę, że jest to banalna funkcja wesoły Czytasz poprostu co drugą literę i masz hasło.

1



Panel Logowania
Login:
Hasło:
Wynajem Sopot - wakacje
Pokój 2 osobowy 130zł/doba;
Lokalizacja: Sopot

O portaluArchiwumHistoriaIndeksRegulaminWyszukiwarkaLinki
Kurs HTML - strona WWW za darmoRestauracja "ATOL" - SopotValid HTML 4.01 TransitionalValid CSS!HTML CSS JavaScript FLASH PHP MySQLC++