ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Tue Mar 28, 2017 2:23 am

All times are UTC




Post new topic  Reply to topic  [ 215 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: 5700
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: 805
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: 5700
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: 805
^ 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: 13
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: 5700
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
   
PostPosted: Mon Jan 23, 2017 9:58 am 

Joined: Tue Dec 20, 2016 8:18 pm
Posts: 13
How about converting readme into chm help file? It is pretty big already and not so convenient to use anymore. I think chm would be much better than basic txt which estimated size of 188 kilobytes already. Lol my first computer had 4-times less RAM than this.

Also I think, quickbms deserves to have its own IDE, because all those bat files such a pain in the ass to create each time, especially when you reversing many different file formats. Once I had more than 20 different scripts in one directory and each of them needed its own bat, also some of them where made for batch processing, some for testing and some for combining few scripts into one workflow, real pain it was...


Top
   
PostPosted: Mon Jan 23, 2017 2:23 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
chm no, but html would be perfect.
Maybe for the next version I can create a parser to convert the txt in html and uploading the latter on the website, leaving the txt in the package (better to have both).
I will think about it.

Honestly I don't know that thing of the bat files.
quickbms is made to work easily with multiple selection of input files so I don't know why people create them, I'm not part of the modding community.

For the file format analysis you need just the console, less (the unix/cygwin tool), a hex editor and the bms language for Notepad++.
That's all you need to rule the formats :)


Top
   
PostPosted: Tue Jan 24, 2017 4:12 am 

Joined: Tue Dec 20, 2016 8:18 pm
Posts: 13
aluigi wrote:
For the file format analysis you need just the console, less (the unix/cygwin tool), a hex editor and the bms language for Notepad++.
That's all you need to rule the formats :)

Actually it's more complicated than this when you need co crack every file format used by the game. I did it few times already so I can tell you that it is not enough to have only those tools which you mentioned.


Top
   
PostPosted: Tue Jan 24, 2017 7:19 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
Feel free to share your experience.

The only other essential tool I missed from the list is calcc


Top
   
PostPosted: Wed Jan 25, 2017 6:53 am 

Joined: Tue Dec 20, 2016 8:18 pm
Posts: 13
You also need:
Memory editing tool (ArtMoney or CheatEngine), it helps a lot to figure out the most puzzling data.
Raw image viewer and some 2D editor with palette support. Raw image viewer also can help to identify types of data.
Some 3D viewing software.
Raw audio stream player.
And last. You need to write some helper scripts for data collecting, visualizing or converting it into human readable form.

Without all this you will end up in a big frustration with little result. The hardest part is to crack level format. Try to do it with only hex editor, it will be very unproductive job.


Top
   
PostPosted: Wed Jan 25, 2017 8:45 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
I guess we are referring to two different things.

I'm referring to using quickbms for extracting files from archives, which is the job of quickbms and for which you need a very minimal set of analysis tools like those I listed (debugging excluded).

Instead from your post I understand that you want a complete suite for modding, so quickbms would be just one of the tools (I hope you don't use it for converting formats).
I still don't understand what type of IDE you suggested and what it should contain.
If you mean something like integrating all these formats viewer in quickbms... well definitely no. Not the job and purpose of the tool.


Top
   
PostPosted: Wed Jan 25, 2017 12:24 pm 

Joined: Tue Dec 20, 2016 8:18 pm
Posts: 13
By IDE I mean usual meaning of this word. Just its own editor but with ability to launch scripts. And it should allow to set launch parameters, target file and output destination with only few clicks.


Top
   
PostPosted: Wed Jan 25, 2017 12:55 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 5700
That's something that can be made by third parties.
Just like it happens with compilers where the IDE (for example Code::Blocks) is separate from the compiler itself (for example gcc).

Currently this is the only tentative of IDE of which I'm aware:
http://forum.xentax.com/viewtopic.php?f=29&t=6797
Unfortunately the downsides of that project are:
  • it's no longer supported
  • the "quickbms" string in the name apparently caused some confusion to various users that downloaded it instead of the official quickbms
  • it embedded an old copy of quickbms (0.6) and tons of people complained on the forums about the scripts "not working with quickbms" because they were using that IDE

Personally I don't need an IDE so I have no desire and time available to work on it, but I agree 100% with you that a good IDE would be useful to many users now that apparently quickbms is used a lot.

If you or someone else has desire to try to develop an IDE, it's welcome.

What I can offer from my side is the support for a better integration and communication between a similar project and quickbms.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 215 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