Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Syringe + ExceptChecker2 - Public beta release!
#1
Update
The download links have been removed, because Syringe and the ExceptChecker need some critical fixes.

Right now it all won't work for most people, because it depends on the Visual C++ runtimes, which not everybody has.
I have my full attention on getting this fixed.



Syringe v0.1
I'm very proud to announce that a first release version of Syringe is done.

What the hell is "Syringe"?
I never announced it under this name, but it fits well. Syringe can "inject" DLL files into executable files without the need of editing that executable.

For the targeted executable, a Syringe control file (.SYR) is required, which holds some required information.
If such a control file is run, Syringe will check the executable's folder for DLL files that have a corresponding DLL injection information file (DLL.INJ) with them.
Those files contain information about where to set breakpoints in the target application and what function in the DLL is to call when a breakpoint is hit.

Syringe has been tested successfully under Windows XP Professional (x86) and Windows Vista Ultimate (x64).
It should work on any Windows from Windows 2000 Professional on.
I would appreciate every input I can get on this topic!

Download Syringe v0.1

For testing, place Syringe.exe in your YR directory.
I will release it as a standalone version with Setup etc at another time.

Syringe control file for YR 1.001
Here is the Syringe control file that will work for Yuri's Revenge 1.001, either TFD or non-TFD version.

Download the Syringe control file for YR 1.001

Place this file in your Yuri's Revenge directory.
To run it, either set Syringe as your default application to open SYR files, or simply drag it "into" Syringe.exe.

Nothing will happen, because the YR launcher (ra2md.exe) is not running.
This issue will be fixed with any DLL I release for the game.

ExceptChecker 2
The new ExceptChecker comes as the first released DLL file for Yuri's Revenge!

What this DLL does is replace the Internal Error window by one that tells you why the game crashed, if that information could be retrieved.
It already detects a number of Internal Error reasons listed on the ModEnc.

Download ExceptChecker 2.00

To use it, simply put the DLL and the DLL.INJ (both are required!) in your YR directory and run the game using Syringe.
If everything works, you should see the text ExceptChecker active. on the YR loading screen.

Try and remove some weapon's warhead and see what this baby can do!

Summary
Here's a quick summarized step-by-step guide to get things running:
  1. Download Syringe v0.1 and place Syringe.exe in your YR directory.
  2. Download the Syringe control file for YR 1.001 and place it in your YR directory.
  3. Download ExceptChecker 2.00 and place the files in your YR directory.
  4. Drag and drop gamemd.syr into Syringe.exe.
  5. Hoorah!

If you want to run the game with command line arguments (e.g. "-win"), you'll have to create a BAT file with the following content:
Code:
Syringe "gamemd.syr" -win

Final Words
Alright, now go and try this!
I hope everything works out and if it does, I hope my DLL system can convince you of its greatness. Wink

If not, let me know! Be sure to give me OS and other information in that case.
[Image: jsfml.png]
Reply
#2
I tried dragging and dropping gamemd.syr onto syringe.exe but got the message "Syringe cannot be run just like that. Please run a Syringe control file!"

I then tried running
syringe.exe "gamemd.syr"
from command line and that didn't give any messages at all.

I then double-clicked ra2md.exe to launch the game. There was no "except checker" message and the Internal Error message was the same as ever.

OS: Windows XP Professional (Service Pack 2)
Ever wondered what the hell is going on?
Believe me friend you're not the only one.
--Lysdexia

Check out Launch Base for RA2/YR - http://marshall.strategy-x.com
Also home to the Purple Alert mod, 1.002 UMP, and the YR Playlist Manager.
Reply
#3
Running ra2md.exe won't do anything at all, that's planned like that. Syringe replaces the launcher.
Dragging and dropping doesn't work on XP as I've found out, because it uses a different way to pass the file name as a command line argument than Vista.

These two problems aren't problems.

However, that it doesn't do anything when run correctly (syringe.exe "gamemd.syr") IS a problem I've been trying to solve all day.
My problem is that I cannot recreate it. For me it works on both Vista (Ultimate 64bit) and XP (Pro SP2, 32bit).

After a lot of testing with DCoder it looks like LoadLibrary fails for you, but I have no idea in hell why. Unhappy
[Image: jsfml.png]
Reply
#4
Possibly some additional component I'm missing or wrong version?
Anything I can do to assist, please let me know.
Ever wondered what the hell is going on?
Believe me friend you're not the only one.
--Lysdexia

Check out Launch Base for RA2/YR - http://marshall.strategy-x.com
Also home to the Purple Alert mod, 1.002 UMP, and the YR Playlist Manager.
Reply
#5
You could help me by installing the updates I attached. Some new versions of everything (should work with NPatch too).

Try running it using
Code:
syringe.exe "gamemd.syr"
like you did before when you installed the updates.

It probably will not work, but you will get a MessageBox displayed with a number probably, as well as a syringe.log file.
It might help me if you posted the number displayed and the log file!

Thanks. Not worthy


Attached Files
.rar   Less than 1 minute ago">syringe_updates.rar (Size: 117.63 KB / Downloads: 543)
[Image: jsfml.png]
Reply
#6
number was 127

logfile attached


Attached Files
.log   Less than 1 minute ago">syringe.log (Size: 2.36 KB / Downloads: 484)
Ever wondered what the hell is going on?
Believe me friend you're not the only one.
--Lysdexia

Check out Launch Base for RA2/YR - http://marshall.strategy-x.com
Also home to the Purple Alert mod, 1.002 UMP, and the YR Playlist Manager.
Reply
#7
I'm very sorry, in the file I attached there was an intensional mistake built in I used for testing. >.<

Please use this INJ file and try again.
Interesting result nonetheless, speaks against my theories. Wtf (disbelieving)

EDIT:
For IcySon it works, he had 127 before too.
A question: Do you have Visual Studio 2008?


Attached Files
.rar   Less than 1 minute ago">ExceptChecker2.01.dll.inj.rar (Size: 322 bytes / Downloads: 500)
[Image: jsfml.png]
Reply
#8
Mine is: 14001 =/
Can't get it to work
Reply
#9
PD, I got 14001 as well. No Visual Studio, just mingw, Borland C++ Builder, IDA, etc. IDA wasn't running.


Attached Files
.log   Less than 1 minute ago">syringe.log (Size: 2.37 KB / Downloads: 467)
Reply
#10
This time I got "Reporting in! Also writing some info into a log file."
The game launched, I got the "except checker loading" message.

When an IE occurred the game appeared to freeze, then I realised that clicking left/right mouse button changed the cursor. Alt-tabbed back to Windows and there was a message box titled "Except Checker" "No error description could be found" (this was for deploying a secondary mind-control weapon)
Clicking OK closed YR.

So all in all, looking good!

I have a partial install of Visual Studio 6.0

No number was reported. Log file is attached.


Attached Files
.log   Less than 1 minute ago">syringe.log (Size: 24.86 KB / Downloads: 482)
Ever wondered what the hell is going on?
Believe me friend you're not the only one.
--Lysdexia

Check out Launch Base for RA2/YR - http://marshall.strategy-x.com
Also home to the Purple Alert mod, 1.002 UMP, and the YR Playlist Manager.
Reply
#11
Alright!
IcySon's theory is most likely right.

For every one who has Visual Studio (and therefore the Visual C++ runtimes), it works.
I recall having problems running a Release build of Syringe some time back, however that solved itself somehow. I'll try sending DCoder a Debug build, if that works for him, I'll have to look out for compiler flags that make it dependant on the Visual C++ runtimes (or something like that).

AprilWar and DCoder, thanks a lot for testing!

Marshall, thanks, too, of course. Smile
So the message box appears in the background rather than on the front? I'll see what I can do about that.
The "Reporting in" stuff is just there for testing reasons and will be removed, so that the game will run normally.

Alright, let's get this working, thanks everyone. Big Grin
[Image: jsfml.png]
Reply
#12
Alright, here's some info on 14001 (which FormatMessage failed to display for some reason):
Code:
14001:

ERROR_SXS_CANT_GEN_ACTCTX

This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.

Since it's the DLL that can't be run, it's probably not Syringe having problems, but the DLL itself, so I'll have to try fixing that.
[Image: jsfml.png]
Reply
#13
For me everything works fine, but UltraMon crashes when starting Syringe - which is a little bit annoying!
[Image: osen2o7mpmm4jg1fs0.jpg]
Reply
#14
Works like a charm... You rock Pd! Not worthy
Reply
#15
for me nothing happens, help......
Reply




Users browsing this thread: 1 Guest(s)