dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

Spēļu neuzlaušana
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
 
dev.gamez.lv Forum Index -> Programmēšana
View previous topic :: View next topic  
Author Message
Vecais_Dumais_Laacis
Guru
Guru


Joined: 29 Jan 2004
Posts: 800

PostPosted: Fri Dec 15, 2006 7:12 pm    Post subject:

[retry]ir vispirms kautkas jaauztaisa lai buutu ko aizsargaat[/retry]
_________________
...un ja bites buutu laachi...
Back to top
View user's profile
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Mon Dec 18, 2006 10:28 am    Post subject:

Tad nu krekojiet!
Sāksim ar vienkāršāko piemēru, kuru varēju izdomāt.
Parole uz arhīvu - tests.

http://yy.lv/download.php?f=15385

Uzdevums - atrast vajadzīgo simbolu virkni. Neko vairāk neteikšu, paši domājiet.
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
Vecais_Dumais_Laacis
Guru
Guru


Joined: 29 Jan 2004
Posts: 800

PostPosted: Mon Dec 18, 2006 11:19 am    Post subject:

ghhh
1) Microsoft Visual C++ 7.0 [Debug]
pats gadienaa neteici kauko par debugiem?
2) njerr - vieglaak ir
Code:
0040110F     74 07          JE SHORT CRACKIT3.00401118

modificeet Smile
Quote:
Sveiki!
Ievadi vajadzigo kombinaciju!

asdf
Tava kombinacija: asdf

Good, you win!

_________________
...un ja bites buutu laachi...
Back to top
View user's profile
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Mon Dec 18, 2006 12:14 pm    Post subject:

Es kā zaļais gurķis nekā nesapratu. :oops:

Tātad tu apgāji paroles ievadi?
Tagad pastāstiet, ko jūs darījāt.

P.S. Kā te var būt Debug, ja tas ir Release?
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday


Last edited by EDDY on Mon Dec 18, 2006 12:17 pm; edited 1 time in total
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Mon Dec 18, 2006 12:16 pm    Post subject:

Debug? Man gan tur nav nekāda debug versija.
Es gan pirms skatījos uz tavu postu, pamēģināju pats "uzhakot".
EDDY, īsti nesaprotu priekš kam man vajag atrast tavu stringu (kuru tu visdrīzāk pats atmņā salīdzini ar strcmp vai tamlīdzīgi), ja es izmanot vienu baitu programmā padaru to pieejamu pret jebkuru stringu kuru ievadu:
0000110F: 74 EB
Ja nemāki izlasīt augstāk esošo pierakstu, tad: offsetā=0000110F, pamainīju baitu, kurš tur ir 74, uz vērtību EB)

Ēd zemi EDDY: http://yy.lv/download.php?f=15392

Tu joprojām neesi sapratis, ka nevajadzēs lauzt tavu ūber algoritmu, bet vienkārši pamainot dažus ifus programmā es to padarīšu darbojoties spējīgu pret jebkādiem ieejas datiem.

Jā, un hidden uzinstalētie faili ir ļoti laba aizsardzība. Nu vienkārši ūber. Un tas, ka dll faili nemaz nav dll faili, gan ir atjautīgi, jā gan.
Back to top
View user's profile Send e-mail
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Mon Dec 18, 2006 12:22 pm    Post subject:

Nē, Bubu, es sapratu tevi. Tāpēc jau tas ir pirmais mēģinājums.
Runājot par *.dll failiem, tā nemaz nav kā saki - programma lasa no šiem *.dll failiem un veic aritmētiskas darbības.
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
Vecais_Dumais_Laacis
Guru
Guru


Joined: 29 Jan 2004
Posts: 800

PostPosted: Mon Dec 18, 2006 12:57 pm    Post subject:

EDDY wrote:
P.S. Kā te var būt Debug, ja tas ir Release?


sapratu perkee peid reporteeja kaa debug modi
pdb gjeneraacija ieksh kompilera settingiem nav atsleegta. tb debug infa tiek gjenereeta (protams liidzi pdb fails netiek dots Smile )

Quote:
n:\Programming\Crackit\CRACKIT.pdb

_________________
...un ja bites buutu laachi...
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Mon Dec 18, 2006 1:12 pm    Post subject:

Ok, vēlviens veids kā "uzlauzt" eddy programmu:
Ierakstam šajos failus: Goi.dll, Opy.dll, Rev.dll, Syl.dll apaļu 0. Tb izdzēšama kas tur ir iekšā, un ierakstam 0.
Palaižam programmu un ievadam jebko, tikai ne pareizu paroli. Un visa māksla.
Jo eddija čekošana atgriež skaitli 2*opy+3*syl-goi+rev, kuru salīdzina ar skaitli kuru maģiski izrēķina no lietotāja ievadītā stirnga. Ja tiek ievadīts nepareizs strings, tiek izrēķināts 0. Tāpēc arī pēc forumula 2*0+3*0-0+0 == 0 pārbaude nostrādā.
Elementāri, Vatson.

Quote:
Runājot par *.dll failiem, tā nemaz nav kā saki - programma lasa no šiem *.dll failiem un veic aritmētiskas darbības.

EDDY - saproti, ka rēķināt konstantu skaitli, kuru tu izrēķini atmiņā ir pilnīgi bezjēdzīgi (uzsvars uz keywordiem). Es tak elementāri varu apskatīties, kas stāv atmiņā, un šo skaitli iekodēt programmā par to kā vien gribu. Pat nemainot tavus .dll failus, bet vienkārši ieliekot programmas kodā konstantu skaitli. Un šis maģiskais skaitlis ir 24509. (atoi fju lietot nav labi).
Aptuvenais kods kas tev tur ir:
Code:

FILE* f;
int i, opy, syl, goi, rev;

f = fopen("Opy.dll", "r");
fscanf(f, "%d", &opy);

f = fopen("Syl.dll", "r");
fscanf(f, "%d", &syl);

f = fopen("Goi.dll", "r");
fscanf(f, "%d", &goi);

f = fopen("Rev.dll", "r");
fscanf(f, "%d", &rev);

if (atoi(user_ievadiitais_strings) == 2*opy+3*syl-goi+rev)
{
  // ok, you win
}
else
{
  // try again
}

(neaizvērt failus arī nav labi, EDDY)

Vecais_Dumais_Laacis wrote:
sapratu perkee peid reporteeja kaa debug modi

VC 2005 vismaz defaultā Release modei ir uzlikts Generate Debug Info = Yes zem Linkera settingiem.[/quote]
Back to top
View user's profile Send e-mail
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Mon Dec 18, 2006 2:10 pm    Post subject:

Ko nozīmē neaizvērt failus? Es failus noslēdzu ar fclose. Varbūt vēl uzlikt bezjēdzīgos ZeroMemory(a,b)?
Un vispār, kā tad programma rēķina key, ja to neizvadītu atmiņā?

Tās firmas, kas uztraucās par savu 28 simbolu kodu, parasti veic vairākas manipulācijas ar algoritmu. Taču redzams, ka arī tas ir itin viegli uzlaužāms.

Pilnais kods, ja kādu interesē:

Code:


#include "stdafx.h"
#include "LO.h"
#include <windows.h>

FILE * FM;
FILE * TW;
FILE * FT;
FILE * FF;
FILE * SS;

char LOK[80];
char Mon[80];
int P,O,T,C,PK,S;
int Gals;

void _tmain(int argc, _TCHAR* argv[])
{
   printf("Sveiki!\nIevadi vajadzigo kombinaciju!\n\n");
   gets(LOK);

   FM = fopen("Tas.dll", "r");
   fscanf(FM, "%d", &P);

   TW = fopen("Rev.dll", "r");
   fscanf(TW, "%d", &T);

   FT = fopen("Syl.dll", "r");
   fscanf(FT, "%d", &C);

   FF = fopen("Opy.dll", "r");
   fscanf(FF, "%d", &PK);

   SS = fopen("Goi.dll", "r");
   fscanf(SS, "%d", &S);

    printf( "Tava kombinacija: %s\n", LOK );

Gals = P + T + ((C-PK) - (P+S)) + (C*2) + (PK*3);

   if (Gals != atoi(LOK))
   printf("\n\nNepareizi!\nProve velreiz!\n\nApplication will now close!");

   else

   {

printf("\nGood, you win!\n");

}

    Sleep(3500);
   fclose(FM);
   fclose(TW);
   fclose(FT);
   fclose(FF);
   fclose(SS);
}



Kā redzams, daudz neatšķirās no bubu piedāvātā. Embarassed
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Mon Dec 18, 2006 2:32 pm    Post subject:

Ok, tālāk kodā nebiju skatījies, tāpēc neredzēju, ka aizver failus. Parasti jau failus netur lieki vaļā, tb ilgāk nekā vajadzīgs.

Btw pamatskolā aritmētiku neesi mācījies? :)
Ka nezini elementārus matemātikas likumus:
P + T + ((C-PK) - (P+S)) + (C*2) + (PK*3) == T + 3*C + 2*PK - S
P vispār noīsinās nost, tb netiek izmantots. PK, kā arī C, savelkās kopā.
Kompilētaji taču īsina visu nost, kas īsinās, lai kods sanāk ātrāks. Un ne tikai šādas elementāras izteiksmes, bet arī daudz daudz sarežģītakas (fju izsaukumi, if/switch, while/for cikli un tml).

Vēl viena tipiska programmētāju kļūda:
Code:
char LOK[80];
...
   gets(LOK);

Kas notiks, ja es ievadīšu vairak kā 79 simbolus? Atbilde - buffer overflow. Tiks pārrakstīts steks ar patvaļīgu kodu (kuru es varu ģenerēt pēc patikas). Uz šādu kļūdu parasti lauž sistēmas. Ne jau aizsardzību, bet tieši pašu sistēmu - izpilda shellcode un iesūta sistēmā savas, kādas vien gribās, programmas.
Back to top
View user's profile Send e-mail
AnetiX
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 05 Jun 2003
Posts: 573

PostPosted: Mon Dec 18, 2006 2:37 pm    Post subject:

Man ir baigi nelāga aizdoma, ka EDDY patentētais spider algoritms neapturēs pasauli no pirātisma. :(
_________________
Miljons iemeslu, kāpēc Latvija ir labākā valsts pasaulē
http://www.millionreasonswhylatviaisthebestcountryintheworld.com
Back to top
View user's profile Visit poster's website
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Mon Dec 18, 2006 3:01 pm    Post subject:

Nu, come-on, Anetix! Wink
Tas taču ir tikai sākums.
bubu:

3 jautājumi:

1. Kā lai uzliek noņem no debug modes?
2. Un kā lai programma rēķina nevadot neko atmiņā?
Tu domā - tikko izrēķina tā iečeko kādā failā?
3. Kāds ir labākais Disassembler? Vai visi derēs?
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Mon Dec 18, 2006 3:28 pm    Post subject:

1. Zem Linker settingiem apskaties vienā sadaļā bija Debuggin info=Yes (vai kautkā līdzīgi.
2. Tas nav iespējams.
3. imho IDA ir labākais. Bet tas ir diezgan advancēts pat priekš manis :) Es ikdienā izmantoju Hiew32.
Back to top
View user's profile Send e-mail
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Tue Dec 19, 2006 8:18 am    Post subject:

Ja jau bez ievades atmiņā nav iespējams, tad arī kaut ko neuzlauzt arī nav iespējams.
Un kā ar checksummām? Ir ideja ieveidot otru *.exe failu, kuru izsauc pirmais (palaistais *.exe fails) un pārbauda to pašu pirmo failu pēc checksummas. Un atkal, var taču modificēt visus failus. Un noslēpt, kā es noslēpu *.dll failus laikam nav iespējams.
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
Vecais_Dumais_Laacis
Guru
Guru


Joined: 29 Jan 2004
Posts: 800

PostPosted: Tue Dec 19, 2006 8:47 am    Post subject:

anuber par ko gaaja runa - uztaisiit neuzlauzhamu softu praktiski nevar - viss atkariigs no laika un veelmes uzlauzt. jo jebko var dekompileet un leenaa garaa iziet cauri.
_________________
...un ja bites buutu laachi...
Back to top
View user's profile
Display posts from previous:   
dev.gamez.lv Forum Index -> Programmēšana All times are GMT + 2 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Page 4 of 8

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group