whene I extract a win32 application file.exe with (ressourcextract) I got .bin + .bmp and .txt files.
after some changes in one .bin file how to get my .exe application again , what must i do ? compile or assembly and how ?
thanks in advance
possible dupe of: Replacing Bitmap Resource in exe
You can undoubtedly find a tool to do so, but since this is a programming forum, these are the main APIs you would use:
BeginUpdateResource, UpdateResource, and EndUpdateResource.
Sample
For additional reference/information, here is the spec for the PE file format:
http://msdn.microsoft.com/en-us/library/windows/hardware/gg463119.aspx
Related
I just recently tried to extract a .zip file that contains a android-studio project from my usb key. I moved the .zip file on my desktop and then used the 'extract-all' from windows. During the extract, I get this message:
Now If I would change the name of the class, it would probably give me errors when I build gradle. Is there a way to simply override this error message ? Is this a windows issue or is it an android-studio problem (naming files too long)?
So far, I've tried extracting each file but it didn't work. I've also tried it on other computers and its the same result... Any ideas on how to proceed ?
Try using 7zip link, this will likely solve your problem!
My client provide me a dll file without any lib file for the project, so I create a lib file from this link.
Now after successfully generating a lib file I follow the answer of this link
Now after following these two links, I simply build my code in which I have not define any thing till now.My code build successfully, but when I build my code after calling a function from my lib file I got this:-
error C3861: 'upgStop': identifier not found
where upgStop is the function that I call.
It seems something went wrong while linking the lib file. So, guys please tell the exact solution of this problem.
'Identifier not found' is a compiler error (not linker error) which implies the header file which specifies upgStop() hasn't been #included in the file from which the function is being called.
Do you have a header file which contains the declaration/prototype of ugpStop()?
Once this is resolved, you may have linker errors isntead - as you either need to link against the dll/lib, or load it dynamically using "LoadLibrary()" (and then find functions within the loaded library by their string name.
I know that in firefox I can see the default xslt if I type in chrome://global/content/xml/XMLPrettyPrint.xsl BUT where is it in my computer? The actual file?
Where is it for IE10?
TIA
I think Mozilla uses a .jar file to pack such components but uses the file suffix .ja so that you don't find the stuff so easily :). So the file C:/Program Files (x86)/Mozilla Firefox/omni.ja is a jar package and in there you have the directory /chrome/toolkit/content/global/xml/ with the file. Of course the path C:/Program Files (x86)/Mozilla Firefox/omni.ja can be different depending on OS and your Firefox installation.
When i run my program in MPLAB. ( Project wizard -> PIC16F877A -> Hi Tech Ansi C Compiler -> RUN )
Error [141] C:\Users\WhyWhy\Desktop\test.c; 1.22 can't open include file "16F877A.h": No such file or directory
Where can i find the header file for the 16F877A?
Chip-specific header files should not be explicitly included in HITECH-C, the documentation clearly states that. Instead, you include the compiler header, which will take care of including the chip-specific file for you:
#include <htc.h>
All you need for this to work is to configure correct chip in the project settings. The 16F877A.h file exists in the compiler directory, but including it directly will throw a warning.
C:\Program Files\HI-TECH Software\PICC\9.70\include
In my case , I have installed HITech Compiler In C:\ Program Files.
You have to know, where have you installed the files of the compiler.
This file is from the compiler, so in your case the Hi Tech you can find here:
C:\Program Files\HI‐TECH Software\PICC\\include\
Before you have found the file you have to add in the Header Files folder in the Project window on MPLAB.
And in your code you have to include it
#include <16F877A.h>
I use Cmake to generate VS project, based on some dll file by
if(WIN32)
MESSAGE(WINDOWS)
LINK_LIBRARIES(${***_Test_SOURCE_DIR}/../../Build/Win32/Release/***.dll)
else(WIN32)
MESSAGE(POSIX)
LINK_LIBRARIES(${***_Test_SOURCE_DIR}/../../Build/POSIX/lib***.so)
endif(WIN32)
But when I open the generated project, build and it throw out
\***.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x2B0
Is anyone has ideas?
If do not use CMake, how to add external dll(not reference to some project) file in VS project. Is there any strict steps I can follow?
Thanks
On Windows, you need to link against .lib and not against a .dll, that's stupid, but Microsoft uses the same .lib extension for static and dynamic libraries. There should be ***.lib somewhere in ${***_Test_SOURCE_DIR}/../../Build/Win32/Release/.
LINK_LIBRARIES(${***_Test_SOURCE_DIR}/../../Build/Win32/Release/***.lib)
If it is not the case, you can follow this article to build a .lib from a .dll: How To Create 32-bit Import Libraries Without .OBJs or Source. Briefly (taken from Adrian Henke’s Blog), within a VS command prompt:
dumpbin /exports C:\yourpath\yourlib.dll
This will print quite a bit of text to the console. However we are only interested in the functions:
ordinal hint RVA name
1 0 00017770 jcopy_block_row
2 1 00017710 jcopy_sample_rows
3 2 000176C0 jdiv_round_up
4 3 000156D0 jinit_1pass_quantizer
5 4 00016D90 jinit_2pass_quantizer
6 5 00005750 jinit_c_coef_controller
...etc
Now copy all those function names (only the names!) and paste them into a new textfile. Name the nextfile yourlib.def and put the line “EXPORTS” at its top. My yourlib.def file looks like this:
EXPORTS
jcopy_block_row
jcopy_sample_rows
jdiv_round_up
jinit_1pass_quantizer
jinit_2pass_quantizer
jinit_c_coef_controller
...
Now from that definition file, we can finally create the .lib file. We use the “lib” tool for this, so run this command in your Visual Studio Command Prompt:
lib /def:C:\mypath\mylib.def /OUT:C:\mypath\mylib.lib