3 New Notifications

New Badge Earned
Get 1K upvotes on your post
Life choices of my cat
Earned 210

Drag Images here or Browse from your computer.

Trending Posts
Sorted by Newest First
n
nfstherun.1 08.10.19 06:07 pm

Is it possible to run DirectX 10? (Assassin's Creed: Rogue)

Has anyone run on Directx 10? I have such error with the module nvwgf2umx.dll
59 Comments
Sort by:
D
Dimchik94 08.10.19

nfstherun.1
a driver update.

t
tesla707 08.10.19

Dimchik94
and th it it will update? The game is DirectX11 only

n
nfstherun.1 08.10.19

The latest driver is, in system requirements is written that 10 is also compatible

t
tesla707 08.10.19

don't know what there is in the requirements, but import only d3d11.dll function D3D11CreateDevice
though there can be a level of hardware support D3D_FEATURE_LEVEL_10_0 (haven't checked) then it should start

C
Crysis_Net_2 08.10.19

tesla707
only DirectX11
No, little system from Steam:

OS: Windows 7 SP1 or Windows 8/8.1 (64bit versions only)
Processor: Intel Core2Quad Q6600 @ 2.4 GHz or AMD Athlon II X4 620 @ 2.6 GHzH
Memory: 2 GB RAM
Graphics: nVidia GeForce GTS450 or AMD Radeon HD5670 (1024MB VRAM) or Intel HD4600
DirectX: Version 10
Hard Drive: 12 GB available space
Sound Card: DirectX Compatible Sound Card with latest driver

n
nfstherun.1 08.10.19

ezumagumu
Someone repak?

t
tesla707 08.10.19

Crysis_Net_2
then see what is written
Additional Notes: Supported Video Cards at time of release: NVIDIA GeForce GTS 450 or better, GeForce 500, 600, 700, 900 series / AMD Radeon HD 5670 or better, Radeon HD 6000, 7000, R7, R9 series / Intel HD4600, HD5200
any graphics card which has DirectX 10 the ceiling.

ezumagumu
well then as I said - in initialization function D3D11CreateDevice there is a listing of hardware-level support
D3D_FEATURE_LEVEL featureLevels[]
{
D3D_FEATURE_LEVEL_9_1, // DirectX 9
D3D_FEATURE_LEVEL_9_2, // DirectX 9b
D3D_FEATURE_LEVEL_9_3, // DirectX 9c
D3D_FEATURE_LEVEL_10_0, // DirectX 10
D3D_FEATURE_LEVEL_10_1, // DirectX 10.1
D3D_FEATURE_LEVEL_11_0, // DirectX 11
D3D_FEATURE_LEVEL_11_1 // DirectX 11.1
};

nfstherun.1
Yes, even John DOE, what would that change?

does anyone vkurivaet what I'm saying? Or all depends on the Repack, tablets and other shit

S
Sasha20052 08.10.19

Didn't quite get!!! I have ran BF rules! on direct 10! it's kind of like the same moved! but not rushing!

s
salinan 08.10.19

I read somewhere that some envideo to 400ой series do not support 11DX. and so asasin crashes when the game starts. I have the GTX260 and when I start the game. rocked a bunch of Repack. and always oodna and the same error. to litsuhi not yet reached

t
tesla707 08.10.19

salinan
for whom is written above
import only d3d11.dll function D3D11CreateDevice

s
salinan 08.10.19

can you describe how to do it? I just oak oak in this case

t
tesla707 08.10.19

to do what? How to learn something. Well, any Manager import/export/resources PE file help - PEiD, StudPE, LordPE, OllyDBG, in the end, IDA.
right now, will upload some screenshots from IDA and fingers will try to explain what you need to do to run the game on dx10 cards.

s
salinan 08.10.19

well, thank you tremendous. many useful

t
tesla707 08.10.19

so, open the disassembler IDA our ass.EXE (I would prefer to use OllyDBG. but alas, the 64 bit version of the debugger is still in the development stage), wait a bit (until the end is not necessary, a complete download will be long) and go to the tab Imports. There are looking for a library responsible for the graphics in General (in our case it is d3d11.dll - this library initialisere the graphics card), you can see that it imports one function D3D11CreateDevice (paint it will not, who is interested in reading MSDN)
screen
click on it with the mouse and IDA automatically throws us into the import section
screen
feature of IDA is that she is able to determine the address that is referenced by this function (i.e., the address step back). Double click on the function D3D11CreateDevice and already find ourselves in a section of code
screen
where we have a small program with an unconditional jump (jmp Assembly command is short for JUMP). Ie, the processor executing code sequentially, reaching this Jampa go into the import section and call from the library d3d11.dll the initialization function of the video card D3D11CreateDevice one argument which is the level of hardware support D3D_FEATURE_LEVEL that accepts multiple values which I have described.
clicking on the transition we get to the section of code
screen
which identifies the challenge (the assembler command call) that a small program with jmp. This is the first point from which to start this whole Saga with the initialization of the graphics card.

now there are 2 options for further developments:
- embed your code directly into the executable (to change the library d3d10.dll and function to D3D10CreateDevice), but not the fact that the game will work (maybe there's a function that depends on d3d11.dll which is physically not present in d3d10.dll need further analysis), or look D3D_FEATURE_LEVEL (to change D3D_FEATURE_LEVEL_11_0 on D3D_FEATURE_LEVEL_10_0), but it's like a needle in a haystack, because the name argument cannot be read, and it's just one of the millions of values.
or second, to write a hook for D3D11CreateDevice with the right parameter D3D_FEATURE_LEVEL and injecting in the preloaded code in the small program with a jmp with only one difference - this jump will go to the import section not in d3d11.dll and our downloaded in the game library.

in General I'm kind of in the cracking got already)) this is normally the introduction to the import table (IAT) make crackers, for example, the implementation of the crack of this game from the codex:
they put in the IAT library binkw64.dll a certain section of code .NewIT
screen
looking at it in hex editor you can see that it's just a challenge to their own library codex.dll
screen
which has three functions (I did not analyze in detail, but there's just the emulator uplay_r1_loader64.dll)
screen
ie executable when you call binkw64.dll the table import this library goes to the library codex.dll which in turn makes you think the game that launched the original boot loader uplay.
in other words, they made the first version (implemented your code directly into the executable).

D
Dimchik94 08.10.19

tesla707
EEEM. and what are we to make?

t
tesla707 08.10.19

Dimchik94
well, firstly, to the fact that I too lazy to do it)) if someone understand something go ahead, there will be questions will help. If you have the time free, I'll try. The implementation code in executable file (the cracking) I never did, so the issue for me is new and will take time to put together (the theory I understand how and what should be, and should climb back in to the undocumented WinAPI functions).
and secondly, the person is asked to explain what you need to do to run on dx10, I explained.

t
tesla707 08.10.19

by the way, notice the 4 screen on these lines
mov [rsp+68h+var_18], 0B000h
mov [rsp+68h+var_14], 0A100h
mov [rsp+68h+var_10], 0A000h

there's nothing special there - operand of the mov (move, English MOVE), moves the value that appears after the comma in 64 bit registers. I just did not pay attention (the time is already later than it was), but 0A000h, 0B000h and 0A100h - emae, it's the values themselves D3D_FEATURE_LEVEL (0A000h 0xA000 and is the same recording of the same value - the first with the prefix h is used in the assembler (and disit IDA), and the second with the abbreviation 0x is used in serznyh languages)
typedef enum D3D_FEATURE_LEVEL
{
D3D_FEATURE_LEVEL_9_1 = 0x9100,
D3D_FEATURE_LEVEL_9_2 = 0x9200,
D3D_FEATURE_LEVEL_9_3 = 0x9300,
D3D_FEATURE_LEVEL_10_0 = 0xA000,
D3D_FEATURE_LEVEL_10_1 = 0xA100,
D3D_FEATURE_LEVEL_11_0 = 0xB000,
D3D_FEATURE_LEVEL_11_1 = 0xB100,
D3D_FEATURE_LEVEL_11_2 = 0xB200,
D3D_FEATURE_LEVEL_12_0 = 0xC000
} D3D_FEATURE_LEVEL;

this is interesting. That is, the function D3D11CreateDevice and this enum as follows
D3D_FEATURE_LEVEL featureLevels[] =
{
D3D_FEATURE_LEVEL_10_0,
D3D_FEATURE_LEVEL_10_1,
D3D_FEATURE_LEVEL_11_0
};

D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, D3D11_CREATE_DEVICE_BGRA_SUPPORT, ARRAYSIZE(featureLevels), 1, D3D11_SDK_VERSION, &device, nullptr, &context);

in short, something does not use the values 0xA000 and 0xA100, and as if locked at 0xB000.

t
tesla707 08.10.19

try
DirectX 10 http://rghost.ru/7pm6BW7kB
DirectX 10.1 http://rghost.ru/7sQf9Xfnq
the game must submit an signs and start to fall out with a driver error. A little later, try another hack.

D
Dimchik94 08.10.19

tesla707
dude, this looks like except you does not understand anything so I hope for you(

D
Dimchik94 08.10.19

tesla707
checked. still crashes in exactly the same discontinued operation of the program