![]() |
ASM coding, do you use a special program, or can you use C for asm-coding instead
If you code in ASM, do you use a program for it?
Is there any development tool regarding ASM (a real development tool, not some stupid editor recognicing ASM-syntax), eg. If you program in C++ you might have Visual studio C++ And how do you debug your coding errors in ASM?, isnt it hard to make correct codes in ASM, if you make semantic errors, it gotta be hard to trace the problem. I have seen some keygen source code in ASM, but it doesn't look easy to edit. Is it possible to just program in C, and insert the asm code as a func of __asm() link for info about this func here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccelng/htm/msmod_35.asp I belive ppl code keygen in ASM to repeat the assemble-code they analysed from the program key-routine to make a valid key. But is it possible to do this if I just stick to plain C/C++ programming using the mentiened func above? - Existens of develment tool for ASM-coding? - Possible to just use __asm func and stick with coding in C? |
check this:
http://board.win32asmcommunity.net/forumdisplay.php?forumid=24 anyway i only use ultraedit+masm8.2+reseditors for asm coding |
asm coding tools
this is what I use for asm coding:
- UltraEdit (with Masm32 syntax highlight text database loaded) - Masm32 (latest version is 8.2) - Resource Builder 2.0 (or you can use VC++ editor) if you are begginer look at Iczelion's tuts (included in Masm32 dist) where to find this? ...Google :D |
Would learning Win32 ASM Programming helps in the RE process? Just wondering.
|
Quote:
How you can repair a Car if you only know to drive it? ;) |
Quote:
|
Actually, repairing a car you do not know how to drive is not a very good analogy. One can repair a machine if one knows how the machine "works." Which is not necessarily the same as how to "steer" it down the road.
However with reverse engineering, one does NOT need to know how to actually write programs in ASM to learn how to reverse programs written in higher level languages. It certainly doesn't hurt to have such knowledge, but it is certainly NOT required. What is required is that you understand the process and procedure structure and especially the opcodes in ASM. In other words, you need to know what the heck the code is actually doing in order to be able to understand what is happening when you step through the code. Consider it in this manner. Most debuggers only show you a view of the program displayed in ASM. If you do not understand the movement of data into and our of registers, or the use of pointers, or the use of addresses+offsets, you are NOT going to understand what you are looking at in the windows of the debugger. So one needs to be able to recognize the code process to figure out where a change in the code might be required. This is different than knowing how to actually write an entire program in ASM. Regards, |
I guess knowing/recognising assembly syntax and how it works is quite important in RE. Otherwise, you probably will be hunting to find possible breakpoints in the deadlisting blindly. Can be quite painful, though experience do play a part in the process too, no doubt about it.
I just printed out some tutorials by Iczelion. Eager to learn more about MASM and Win32 Programming, since I came from a Unix/Linux background. |
For ASM you can use:
Start>run>'debug.exe' That's for raw ASM |
if you want more than just a syntax highlighter, use masm + some resource editor + RadASM (h++p://radasm.visualassembler.com/) (think vb + asm).
|
Quote:
|
It is probably more importent to fully understand the ASM-codes (algorithm) than to be able to write in ASM when it comes to RE. (Both are importent ofcause)
I have Editplus and Ultraedit with syntax highlightings, Masm, HLA and some resource editors. I didnt knew you used resource-editing when making programs in ASM. I believe you can setup ultraedit to compile your codes in options. I have read the first 3 pages of ASM-coding tutorials by Iczelion. Its really good. Thx for the replies, I think I'll got what I wanted. I better first improve my ASM-knowledge before coding in it :) I will put ASM-coding aside until later.... |
If you are only doing fragments, inlining with _asm is the easiest. For anything larger, a dedicated ASM is probably desired.
I recomend looking into RadASM or Asm Studio if you are going to write anything complex and are new to ASM. Coupled with the latest MASM and tutorials and online help, these seem to offer the equiv functionality of a "Visual Studio for ASM". For patching, though, you can just use Olly and save the EXE. You can even use labels, so for anything less than 30 lines, it can be quite fast. No need to link, no need for a hex editor, or anything. |
Quote:
|
And after reading Iczelion tuts, learn how to create device drivers,
and then you will have absolute control of your machine because you will learn the power of ring zero programming. I use MASM and KMD Kit to create my progs. Device driver programming in MASM: hxxp://www.freewebs.com/four-f/ Good luck :D |
| All times are GMT +8. The time now is 04:47. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX