Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Item Filer AA -> inline asm and Array problem

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
gunminiho
Expert Cheater
Reputation: 0

Joined: 15 Dec 2008
Posts: 144
Location: peru

PostPosted: Wed May 12, 2010 11:14 am    Post subject: Item Filer AA -> inline asm and Array problem Reply with quote

OK guys i have this AA

Code:
[Enable]
Alloc(Filter,124)
Label(IFReject)
Label(End)
Label(Skip)
Alloc(IFTable,512)
Label(IFExit)

Filter:
push ebx
push esi
xor ebx, ebx
mov esi,IFTable

IFReject:
cmp eax,[esi]
je Skip
cmp [esi],ebx
je End
add esi,4
jmp IFReject

Skip:
mov eax,00

End:
pop esi
pop ebx
mov [edi+34], eax
mov edi, [ebp-14]
jmp IFExit

IFTable:
// F i l t e r e d   I t e m s
// == ' U s e '   I n v e n t o r y
// ==== Arrows
dd 1F6EE0 //Arrow for Bow
dd 1F72C8 //Arrow for Crossbow
dd 1F6EE1 //Bronze Arrow for Bow
dd 1F72C9 //Bronze Arrow for Crossbow

// ==== Potions       
dd 1E8483 //Blue Potion
dd 1ED2B7 //Dark Chocolate
dd 1E8C50 //Dexterity Potion
dd 1EAB99 //Green Apple
dd 1E8C52 //Magic Potion
dd 1E8480 //Red Potion
dd 1E8C55 //Sniper Potion
dd 1E8C51 //Speed Potion
dd 1E8C54 //Warrior Potion
dd 1ED2B6 //White Chocolate
dd 1E8C53 //Wizard Potion

// == ' S e t u p '   I n v e n t o r y
dd 3CF190 //A
dd 3CF191 //E
dd 3CF192 //I
dd 3CF193 //L
dd 3CF194 //N
dd 3CF195 //O

// == ' E t c ' e t e r a   I n v e n t o r y
dd 3D09E4 //Anesthetic Powder
dd 3D09F1 //Birk's Chewed Grass
dd 3D0E94 //Cupid's Lost Arrow
dd 3D091F //Cursed Doll
dd 3D8286 //Dark Chocolate
dd 3D09E5 //Dark Rash's Furball
dd 3D0990 //Free Spirit
dd 3D8618 //Jumper Cable
dd 3D09E8 //Kentaurus's Flame
dd 3D09E9 //Kentaurus's Marrow
dd 3D09EA //Kentaurus's Skull
dd 3D091D //Lupin's Banana
dd 3D0929 //Malady's Experimental Frog
dd 3D0E95 //Mardi Gras Bead Necklace
dd 3D7E3C //Monster Card
dd 3D0AF1 //Murukun's Furball
dd 3D0AF0 //Murumuru's Furball
dd 3D0AEF //Murupia's Furball
dd 3D0AEE //Murupa's Furball
dd 3D0AED //Muru's Furball
dd 3D7E39 //Omok Table
dd 3D7E3B //Omok Piece - Pig
dd 3D0911 //Pig's Head
dd 3D0902 //Pig's Ribbon
dd 3D0E3F //Pig Vein
dd 3D86B0 //Rascal Snowpiece
dd 3D09E2 //Rash's Furball
dd 3D092A //Stirge Wing
dd 3D14BC //Stiff Feather
dd 3F7E13 //Santa Encyclopedia No. 1
dd 3F7E0E //Santa Encyclopedia No. 2
dd 3F7E0F //Santa Encyclopedia No. 3
dd 3F7E10 //Santa Encyclopedia No. 4
dd 3F7E11 //Santa Encyclopedia No. 5
dd 3F7E12 //Santa Encyclopedia No. 6
dd 3D8617 //Sparkplug
dd 3D14BD //Soft Feather
dd 3D8619 //T-1 Socket Adapter
dd 3D097F //Toy Drum
dd 3D09E3 //Tree Fruit
dd 3D8775 //Tutorial Muru's Furball
dd 3D8285 //White Chocolate
dd 3D098F //Zombie Teddy Bear


// == ' E q u i p m e n t '   I n v e n t o r y
// ==== Tops
dd 0FE2BE //Black Jangoon Armor (female)
dd 0FDED6 //Blue Jangoon Armor
dd 0FE2BA //Brown Piettra
dd 0FDECA //Green Legolier Top (male)
dd 0FDED3 //Marine Shadow
dd 0FE289 //Red Bennis Chainmail (female)
dd 0FE2BF //Red Shouldermail (female)

// ==== Bottom
dd 103476 //Bennis Chain Pants
dd 102CA0 //Black Jangoon Pants
dd 102CD2 //Blue Knucklevest Pants
dd 1030D5 //Blue Moon Pants
dd 1030D9 //Brown Piettra Skirt
dd 102CDF //Green Legolier Pants (male)
dd 1030DE //Red Shouldermail Pants (female)

// ==== Gloves
dd 1082C5 //Black Lutia

// ==== Overalls
dd 0FE299 //Blue Steal
dd 10059B //Black Dragon Robe

// ==== Hats
dd 0F4AA0 //Brown Matty
dd 0F4AB8 //Green Distinction
dd 0F4AE9 //Orange Golden Circlet
dd 0F4A29 //Red Duke
dd 0F4C84 //Red Misty
dd 0F4A6C //Yellow Duke

// ==== Weapons
// dd 160101 //Blue Valentine Rose
dd 156498 //Broadsword
dd 16C424 //Cold Mind
dd 160100 //Red Valentine Rose
dd 160102 //White Valentine Rose
dd 13DE00 //Yellow Umbrella
dd 1600FF //Yellow Valentine Rose
dd 00
// E n d    o f   f i l t e r


005059CC: //Address under: E8 ? ? ? ? 89 47 ? 8b 7d ? 8b ce e8 ? ? ? ? 89 47 ? 8b 7d ? 8b ce e8 ? ? ? ? 0f
jmp Filter
nop
IFExit:

[Disable]
005059CC:
mov [edi+34], eax
mov edi, [ebp-14]
Dealloc(Filter,124)
Dealloc(IFTable,512)[Enable]
Alloc(Filter,124)
Label(IFReject)
Label(End)
Label(Skip)
Alloc(IFTable,512)
Label(IFExit)

Filter:
push ebx
push esi
xor ebx, ebx
mov esi,IFTable

IFReject:
cmp eax,[esi]
je Skip
cmp [esi],ebx
je End
add esi,4
jmp IFReject

Skip:
mov eax,00

End:
pop esi
pop ebx
mov [edi+34], eax
mov edi, [ebp-14]
jmp IFExit

IFTable:
// F i l t e r e d   I t e m s
// == ' U s e '   I n v e n t o r y
// ==== Arrows
dd 1F6EE0 //Arrow for Bow
dd 1F72C8 //Arrow for Crossbow
dd 1F6EE1 //Bronze Arrow for Bow
dd 1F72C9 //Bronze Arrow for Crossbow
.
.
.
dd 00
// E n d    o f   f i l t e r


005059CC: //Address under: E8 ? ? ? ? 89 47 ? 8b 7d ? 8b ce e8 ? ? ? ? 89 47 ? 8b 7d ? 8b ce e8 ? ? ? ? 0f
jmp Filter
nop
IFExit:

[Disable]
005059CC:
mov [edi+34], eax
mov edi, [ebp-14]
Dealloc(Filter,124)
Dealloc(IFTable,512)


and im trying to make it dynamicly i mean a form to add IFTable values, i coded everything but i got a huge problem:

Code:

procedure ItemFilterASM; assembler;stdcall;
begin
asm
@ItemFilter:
PUSH EBX
PUSH ESI
XOR EBX,EBX
MOV ESI,DWORD PTR[B] // <--- B is array of DWORDs


@ifreject:
CMP EAX,[ESI]
JE @skip
CMP [ESI],EBX
JE @end
ADD ESI,$4
JMP @ifreject

@skip:
MOV EAX,$00

@end:
POP ESI
POP EBX
MOV DWORD PTR[EDI+$34],EAX
MOV EDI, [EBP-$14]
JMP DWORD PTR[ItemFilterEnd]
end;
end;


i got a problem on B which is an array of DWORDs who will store all HexValues from form, but when i add 1 or 2 or 3 values i didn't get my array fo DWORDs i got a unique varible o.o!! which changes it value everything i add a value to that array and also those values are not HexValues o.o!!

here is my code for adding values, i really believe there's 2 problems:

1.- the way i add values
2.- the way to pass array of DWORDs to inline ASM

Code:

procedure TForm1.AddItemClick(Sender: TObject);

var
    ItemIDInt:Integer;
    checkString:String;
    ItemIDHex:String;
    Continua:Integer;
    i:Integer;


begin
if (AddItem.Checked=TRUE) then
begin
repeat
/// hacer esto 1 vez por do ... while
checkString:=InputBox('Set value of item you want to add','Adding an item to your list,e.g: 4000115','');
if(Length(checkString) = 7) then
begin
if (checkString<>'') then
begin
ItemIDInt:=StrToInt(checkString);
ItemIDHex:='$'+IntToHex(ItemIDInt,7);
FilterCounter:=FilterCounter+1;
setLength(A,FilterCounter);
setLength(B,FilterCounter);
A[FilterCounter-1]:=ItemIDInt;
B[FilterCounter-1]:=DWORD(ItemIDHex);
Continua:=MessageBox(0,'If you cancel this, Item Filter will be activated with items you put before','¿Would you like to add another value to your list?',MB_YESNO);
if (Continua = 7) then begin
Repetir:=FALSE end;
if(Continua= 6)then begin //
Repetir:=TRUE end
end // ---> if empty value
else
MessageBox(0, 'Cannot Input a Empty value idiot!!!', 'Failed!', MB_OK or MB_ICONERROR);
end
else
MessageBox(0, 'The length of ItemID must be 7 digits, if not fill it with zeros(0)', 'Failed!', MB_OK or MB_ICONERROR);
until Repetir=FALSE;
////// EJECUTAR EL HACK ///
if (Repetir=FALSE) then
begin
if (checkString<>'') then
begin
MessageBox(0,'Now you finished to add your items,you can on/off Item Filter with on/off button','Dinamic Item Filter v1.0',MB_OK);
////// activando el hack ////
for i:=Low(A) to High(A) do
ListaFiltrados.Lines.Add(IntToStr(A[i]));
end
else
ShowMessage('No Hay Valores que activar!!!!!!!! idiot dont try to trick me im smart!');
end;////
//////////////////////////////
end;
end;


anyone can help me please!! :'(

here a few SS if you didn't understand


by my own form





CE editing by AA script

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming All times are GMT - 6 Hours
Page 1 of 1

 
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
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites