Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Guides & Templates
You last visited: Today at 11:22

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



*HOT* How to decrypt the itemtype.dat

Discussion on *HOT* How to decrypt the itemtype.dat within the CO2 Guides & Templates forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2004
Posts: 1,325
Received Thanks: 109
Start ollydbg and choose the conquer.exe to open.

after it started and it is in pauses mode right click on the debug window and choose "Search for"->"Alle referenced text strings"

search in that window for "itemtype.dat"

you will find

Code:
Text strings referenced in Conquer:.text, item 1736
 Address=00495511
 Disassembly=PUSH Conquer.0050F470
 Text string=ASCII "ini/ItemType.dat"
so at adress 00495511 the file will be overgiven to a function as paramter so just doubleclick on that entry and you directly jumps to that offset.

press "F2" to set a breakpoint on it and press "F9" to continue the execution of the program.

now use "F7" to step into do that for all calls to conquer function, if there is a function call to outside function like
Code:
004A1D77 *|. FF15 84AD5100 *CALL DWORD PTR DS:[<&MSVCRT._fileno>] *&#59; \_fileno
use "F8" to step over its not from interest what it does in detail.

after seeing some function that opens the file, read the content to memory after the closing function it will call the decryption routine.

Code:
file getting close
004A1DCF *|> FF15 C0AC5100 *CALL DWORD PTR DS:[<&MSVCRT.fclose>] * *; \fclose
decrypt function call
004A1DE2 *|. E8 C9000000 * *CALL Conquer.004A1EB0
the decrypt function starts at 4A1EB0, when we step a bit more over we see that at "4A1ECF" starts a loop and goes till "4A1F17" thats the interesting thing it does the whole decryption.


charposition is set to eax
004A1ECF |> 8BC6 /MOV EAX,ESI
logical and done to get a number from 0-7f (7f is the keysize)
004A1ED1 |. 25 7F000080 |AND EAX,8000007F
jump to 04a1edd if the result is >=0
004A1ED6 |. 79 05 |JNS SHORT Conquer.004A1EDD
if the result is negative decrase it by 1
004A1ED8 |. 48 |DEC EAX
do a or on the result to get a positive number
004A1ED9 |. 83C8 80 |OR EAX,FFFFFF80
increase it by 1
004A1EDC |. 40 |INC EAX
(the steps above upto jns dont happen because to go into negativ the count must be >=80000000 (in hex) that are 2147483648 in bytes so the file should be 2 GB big before it happens :P)
here get the value from counter1 set to ecx (if you do some runs you see it counts from 0-7 in a loop)

004A1EDD |> 8B4C24 10 |MOV ECX,DWORD PTR SS:[ESP+10]
this is again charposition this time gets sets to edx
004A1EE1 |. 8BD6 |MOV EDX,ESI
here the byte value of the key is set eax is the actual keyposition ecx is the baseadress of the key and it always add 10 to it so the first 16 bytes of the key are unused
004A1EE3 |. 8A4408 10 |MOV AL,BYTE PTR DS:[EAX+ECX+10]
the char which is going to decrypt is set
004A1EE7 |. 8A0C3E |MOV CL,BYTE PTR DS:[ESI+EDI]
a xor is done on the char from the key and the char to decrypt
004A1EEA |. 32C1 |XOR AL,CL
it just do the same as at "004A1ED1" out of this time with a number from 0-7
004A1EEC |. 81E2 07000080 |AND EDX,80000007
004A1EF2 |. 79 05 |JNS SHORT Conquer.004A1EF9
004A1EF4 |. 4A |DEC EDX
004A1EF5 |. 83CA F8 |OR EDX,FFFFFFF8
004A1EF8 |. 42 |INC EDX

ecx gets 8 as value
004A1EF9 |> B9 08000000 |MOV ECX,8
the result of the xor which is saved in al get moved to bl
004A1EFE |. 8AD8 |MOV BL,AL
the 8 which was saved into ecx gets subtrace by edx this is what i call "counter2"
004A1F00 |. 2BCA |SUB ECX,EDX
now a shift left is done on the xor result which we got at "004A1EEA" with "counter2" value
004A1F02 |. D2E3 |SHL BL,CL
the "counter1" value gets set to cl
004A1F04 |. 8ACA |MOV CL,DL
a shift right is done on the xor result which we got at "004A1EEA" with "counter1" value
004A1F06 |. D2E8 |SHR AL,CL
the result of both shift operations is added together the result of that is the byte value of the decrypted char
004A1F08 |. 02D8 |ADD BL,AL
here the encrypted char gets overwritten with the decrypted
004A1F0A |. 881C3E |MOV BYTE PTR DS:[ESI+EDI],BL
esi get increase by 1 to step to the next char
004A1F0D |. 46 |INC ESI
check if there is a next char it compares actual char with maxchars
004A1F0E |. 3BF5 |CMP ESI,EBP
if lower jump to the beginning of the loop otherwise exit
004A1F10 |.^7C BD \JL SHORT Conquer.004A1ECF



example tool with source which does the decryption and also encryption at:
NoName is offline  
Thanks
5 Users
Old 02/01/2007, 21:25   #2
 
elite*gold: 0
Join Date: Dec 2006
Posts: 34
Received Thanks: 0
nerd
duskminfar is offline  
Old 02/01/2007, 21:49   #3
 
giacometti's Avatar
 
elite*gold: 0
Join Date: May 2006
Posts: 319
Received Thanks: 49
woow, awesome! this should be a great start learning how to trace functions that decrypt things... i think if someone understand this they could decrypt packets in no time.

thnx coder for sharing a little of your knowledge!
giacometti is offline  
Old 03/20/2007, 06:43   #4
 
elite*gold: 0
Join Date: Nov 2006
Posts: 5
Received Thanks: 0
Nice explanation espeically the assembly part. I'm sure that those who have basic knowledge in assembly would understand.
SyndyMRA is offline  
Old 04/11/2007, 20:57   #5
 
DM2000's Avatar
 
elite*gold: 0
Join Date: Jan 2006
Posts: 1,919
Received Thanks: 178
#un-pinned - included into linklist
DM2000 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
ItemType.dat (Customize Your Own ItemType File In 3 Steps)
02/06/2016 - CO2 Exploits, Hacks & Tools - 463 Replies
THIS WILL NEVER AND CAN NEVER WORK ON NORMAL EQUIPMENT EXCEPT WEAPONS AND TALISMANS! IT'S IMPOSSIBLE SO STOP ASKING FOR IT! WORKS ON ALL PATCHES Create your own itemtype.dat file in 3 easy steps: choose file, choose settings, generate. Features: Choose prefixes for fixed, refined, unique, elite or super items. Choose prefixes for normal, refined or super gems. Choose names for command tokens.
Decrypt This!
07/21/2014 - Rappelz - 3 Replies
I'm trying to decrypt the contents of the attached file. Anyone want to give a helping hand? :)
ItemType.dat and itemtype.txt 5018 AnD Change Font Size :D
09/27/2009 - CO2 Exploits, Hacks & Tools - 14 Replies
itemType.dat 1. See the Quality of Items on the ground before you pick them up. 2. See CommandTokens, so you know which ones you have already. 3. See where the WindSpells will take you at a glance.
Itemtype.DAT Encrypt/Decrypt
06/07/2007 - CO2 Exploits, Hacks & Tools - 1 Replies
I don't know who made this tool i found it in my C:\ folder named Project1.exe it has no company name nor does it have an about section. So i cannot take credit for this tool. It Encrypts and Decrypts the itemtype.dat file with a few clicks of the mouse, without having to be in the Conquer 2.0\ini folder unlike the DeEn tool that was used for decrypting the Monster.dat. This tool should work for the Monster.dat file too. Just found it on my comp and thought i'd share it since its a bit...



All times are GMT +1. The time now is 11:22.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.