Top > Product Version << Back

(Cover art supplied by ISFDB)


Profiles of Our Products



Our products are all related to reverse engineering and are developed assuming that each user has some elementary knowledges about the specification of CPU, of assembler and of C compiler, and so on. But even if you are a beginner without such a knowledge, by touching our products and by growing familiar with them, you can get some elmentary knowledges in youself about reverse engineering. For your information, we will explain about our products, especially about references.



1. Disassembler is the elementary step.

Disassembler is an indispensable and an almighty tool as much as it is said that reverse engineering begins with disassembler and ends at disassembler. An executable file or ROM being a target of reverse engineering corresponds, one to one, to codes disassembled, and so, if it was completely disassembled, the technical problem had been almostly resolved.

At the elementary step, it is helpful to see Pentium Processor:Architecture and Programming (Intel Inc.), or to see a list of CPU assembler instructions included in TASM or MASM. (About all CPU instructions supported in our products, see <list of all CPU instructions>!)

Disassembler is used by many users all over the world, for example, as simple disassembling in a debugger, and so on.

2. Decompiler for C is the advanced step.

A higher language such as C is for beginners from a viewpoint of programming. But in reverse engineering all processes are reversed, and hence, decompiling for C consists of so difficult processes as much as that cannot be compared with disassembling. Decompiling for C begins from the assumption that it achieved to be completely disassembled. That is, after already having been resolved technically, it is decompiling for C to add both the meaning and the structure of C as a higher language. Data structure that consists of the meaning of C has not one-to-one but one-to-multiple correspondence between the executable file and the decompiled C source. Our decompiler for C is developed assuming that a user already grows familiar with disassembling. Our decompiler for C works without our disassembler, but likewisely a user needs to grow familiar with disassembling by u command in CBR, etc.

In <Block Diagram of AGNSS & DCC>, XSIM, simulator, executes the disassembling work essentially and CSM, C simulator, executes the decompiling for C essentially. If disassembling in XSIM is imperfect, then decompiling for C in CSM becomes imperfect. Reversely, here you can make disassembling more perfect in feedback.

At the advanced step, there is only one reference, the unique specification for C;
    Kernighan, B.W., and Ritchie, D.M.,
    "The C programming language,"
    Bell Telephone Laboratories, Inc., Prentice-Hall,
    1st and 2nd editon, 1978/1988,


<Block Diagram of AGNSS & DCC>

<Disassembler:AGNSS>
XSIM (Simulator) ---
---------
-----------------------
--->DASM (Source Generator)
|
|--------
-----------------------
--->BROW (Browser)
|
<DeCompiler for C:DCC> |
|--------
--- CSM (C Simulator) --
--->CGN (C Source Generator)
|----------
--->CBR (C Browser)
----------
---------
----------------------
--->CGN2(C Source Generator 2)



Bilyzkid Co.,Ltd.
Higashi-Izumi 1-34-19-102
Komae-Shi, Tokyo 201-0014, JAPAN
Phone:81-3-5497-1962