disassembly

Generate PDB from .NET DLL file?

試著忘記壹切 提交于 2019-12-03 03:09:50
问题 I need something that can generate a PDB from a DLL file (C# .NET code), is there any free program to do that? 回答1: You need the source code in order to generate a PDB. 回答2: Even you have no sources and code obfuscated, you can create pdb by recompile with ildasm and ilasm: decompile assembly by ildasm : ildasm /out=assembly_name.il assembly_name.dll complile with ilasm : ilasm assembly_name.il /dll /pdb 回答3: Actually you can do it also with dotPeek from 1.2 version onward. Right click the

Compilers: Understanding assembly code generated from small programs

╄→гoц情女王★ 提交于 2019-12-03 00:41:13
I'm self-studying how compilers works. I'm learning by reading the disassembly of GCC generated code from small 64-bit Linux programs. I wrote this C program: #include <stdio.h> int main() { for(int i=0;i<10;i++){ int k=0; } } After using objdump I get: 00000000004004d6 <main>: 4004d6: 55 push rbp 4004d7: 48 89 e5 mov rbp,rsp 4004da: c7 45 f8 00 00 00 00 mov DWORD PTR [rbp-0x8],0x0 4004e1: eb 0b jmp 4004ee <main+0x18> 4004e3: c7 45 fc 00 00 00 00 mov DWORD PTR [rbp-0x4],0x0 4004ea: 83 45 f8 01 add DWORD PTR [rbp-0x8],0x1 4004ee: 83 7d f8 09 cmp DWORD PTR [rbp-0x8],0x9 4004f2: 7e ef jle 4004e3

Disassembling file that contain big data or is compressed [closed]

牧云@^-^@ 提交于 2019-12-02 19:14:54
问题 This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center. Closed 6 years ago . this is fourth day I am trying to figure out how to break down an exe. Still having no luck, file is giving debugger error right after it is runned. I am

Need help understanding E8 asm call instruction x86

旧巷老猫 提交于 2019-12-02 18:23:13
I need a helping hand in order to understand the following assembly instruction. It seems to me that I am calling a address at someUnknownValue += 20994A? E8 32F6FFFF - call std::_Init_locks::operator=+20994A Whatever you're using to obtain the disassembly is trying to be helpful, by giving the target of the call as an offset from some symbol that it knows about -- but given that the offset is so large, it's probably confused. The actual target of the call can be calculated as follows: E8 is a call with a relative offset. In a 32-bit code segment, the offset is specified as a signed 32-bit

Generate PDB from .NET DLL file?

ε祈祈猫儿з 提交于 2019-12-02 16:38:53
I need something that can generate a PDB from a DLL file (C# .NET code), is there any free program to do that? You need the source code in order to generate a PDB. Even you have no sources and code obfuscated, you can create pdb by recompile with ildasm and ilasm: decompile assembly by ildasm : ildasm /out=assembly_name.il assembly_name.dll complile with ilasm : ilasm assembly_name.il /dll /pdb Stelio Actually you can do it also with dotPeek from 1.2 version onward. Right click the assembly in Assembly Explorer, and select "Generate Pdb". It also has the option to generate files for referenced

What is your favorite disassembler tool in Mac OS X? [closed]

谁说我不能喝 提交于 2019-12-02 13:55:48
I am using the otool , nm and Fraise text editor to disassemble the Mach-o binaries. My workflow at this point is pretty straightforward: 1. List the existed symbols. nm -g 2. Get the disasm code. otool -vt 3. Copy and paste this output to a text file. 4. Read and comment the codes in the text editor :) I am looking for the tools that simplify the working with disasm code on Mac OS X . Peter Murphy You might want to try Hopper Disassemble r, osxdbg , Machoview , otx (otool GUI) and Affinic Debugger GUI . I als know of http://www.hopperapp.com/ , but never used it. (cannot be compared to Ida

Disassembling file that contain big data or is compressed [closed]

半城伤御伤魂 提交于 2019-12-02 10:41:46
this is fourth day I am trying to figure out how to break down an exe. Still having no luck, file is giving debugger error right after it is runned. I am using OllyDBG, it seems that file is either compressed or contains big ammount of data. I think it is just for debugging protection, however I can not get it working. I am trying to learn assembly and this is my "new level" achievment of getting better in testing applications. All I want to change is one text to other, inside the file exe. So this is one variable change. I would be satisfied even with simple number change inside it. Just want

Can assembled ASM code result in more than a single possible way (except for offset values)?

↘锁芯ラ 提交于 2019-12-02 02:02:52
I don't know x86 ASM very well, but I'm rather comfortable with SHARP-z80, and I know by experience that each instruction (mnemonic) has a corresponding byte/word value, and by looking at the hex dump of the assembled binary file I can "read back" the same code I wrote using mnemonics. In another SO question , somebody claimed that there are some situations where ASM instructions are not translated to their corresponding binary value, but instead are rearranged in a different way by the assembler . I'm looking especially for cases where disassembling the binary would result in a different ASM

How can I reassemble java bytecode generated by javap? [duplicate]

天大地大妈咪最大 提交于 2019-12-02 01:08:26
问题 This question already has answers here : Is there a java classfile / bytecode editor to edit instructions? [closed] (4 answers) Closed 6 years ago . I want to be able to edit bytecode and recompile into executable class files. I have no idea how to do this. I have tried decompiling with javap -c and -v, edit something, and change it back to my Class file, but I get an error "Error: Could not find or load main class Test.class". I would also like to generate java source from the bytecode. Any

Python: analyze a list comprehension with dis

回眸只為那壹抹淺笑 提交于 2019-12-01 20:30:58
问题 Recently, I had a discussion on SO (see it for the context) about the two following pieces of code: res = [d.get(next((k for k in d if k in s), None), s) for s in lst] And: res = [next((v for k,v in d.items() if k in s), s) for s in lst] Both iterate through strings s in a list lst and look for s in a dict d . If s is found, then the associated value is returned, else s is returned. I'm pretty sure the second piece of code is faster than the first, because (for each s ) there is no lookup in