ZenHAX

Free Game Research Forum - Official QuickBMS support - Twitter @zenhax
It is currently Mon Jan 23, 2017 4:21 am

All times are UTC




Post new topic  Reply to topic  [ 207 posts ]  Go to page Previous 17 8 9 10 11
Author Message
PostPosted: Fri Nov 25, 2016 9:09 pm 
User avatar

Joined: Sat Jun 06, 2015 6:50 pm
Posts: 19
Ah, now this is much better. After I've merged my previous script with ASM function - 120 MB file processed in 9 seconds!

About my second question - here is an example.
Code:
set memory_file binary "\xEB\x06\x90\x90\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x58\x83\xC0\xF7\xC7\x00\x78\x56\x34\x12\xC3"

calldll memory_file 0 stdcall ""

exit


Asm code source:

Code:
jmp testproc

align 4
  my_static_variable dd 0
align 4

proc testproc
; this block calculates virtual address of variable
  call @f
@@:
  pop eax
  add eax, (my_static_variable - @b)

  mov dword [eax], 0x12345678
 
  ret
endp


Function causes "access violation" exception.
Image

It is happens because the memory page which contains my code doesn't have a permission to be written.
Image


Top
   
PostPosted: Fri Nov 25, 2016 9:25 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5386
For using static and const variables you have to compile the code as dll.


Top
   
PostPosted: Tue Nov 29, 2016 7:03 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 728
aluigi, you might want to add this line on sign_ext.c or at least the next version of quickbms...
Code:
   {  4, "AWAD", "awd" },

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Top
   
PostPosted: Tue Nov 29, 2016 8:22 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5386
As far as I know AWAD is not a file format.
I know only the AWAD archives.


Top
   
PostPosted: Tue Nov 29, 2016 8:41 pm 
User avatar

Joined: Tue Feb 02, 2016 2:35 am
Posts: 728
^ Well, the AWAD archives were stored as an .awd container last time I checked the filesystem(the disk in which they were stored, not the filesystem of the archives themselves) of the PS2/PC version of Tomb Raider Angel of Darkness.

_________________
Expect my username to be everywhere, whether you're using the internet or not.


Top
   
PostPosted: Tue Dec 20, 2016 9:27 pm 

Joined: Tue Dec 20, 2016 8:18 pm
Posts: 1
aluigi wrote:
Eh JIT would be cool but a core rewriting of quickbms is not possible, it takes a huge amount of time and effort for both writing and testing. Really impossible at the moment.

And how about bytecode approach? Would be great to have such function to compile script into binary file and then feed it to quickbms. Maybe it won't be blazingly fast but still can give some speed boost.


Top
   
PostPosted: Wed Dec 21, 2016 6:54 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5386
bytecode would provide absolutely no boost.

To be honest there will be no big core improvements or rewrites in the tool, currently it's stable and works perfectly.

People have problems with the performances of quickbms only when they try to use it not for its original purposes like 3d models conversions, that's NOT the job of quickbms which is an extractor and possible reimporter, for any other usage people have to use a real programming language.

In case of decryption functions that require the reading of every byte from a file and so a similar "for" cycle would be slow in quickbms I suggest to create a dll or dumped function to use with CallDLL.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 207 posts ]  Go to page Previous 17 8 9 10 11

All times are UTC


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 post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited