Wednesday, October 9, 2019

Analyze Henrik Ibsen's(1879) and Susan Glaspell's(1916) treatment of Essay

Analyze Henrik Ibsen's(1879) and Susan Glaspell's(1916) treatment of relationships and roles in the time period plays were written - Essay Example When the play "A Doll's House" was performed for the first time in Copenhagen in 1879, it revoked severe criticism from the society as it was against the society's values and attacked men's dominance over women (Templeton 142). Similarly, the play "Trifles" by Susan Glaspell was written, at the time when, like other educated women at this time, Glaspell "grew restless with the numerous restrictions on women and became inspired by the avant-garde social, political, and cultural movements happening in the United States and Europe" (McMichael, et al. 1108). At the time when "A Doll's House" was written by Henrick Ibsen, the role of women was limited to bringing up children, supporting their husbands and keeping their house clean and comfortable. Society disliked women who wanted to step out for their authority and freedom. Politics, decision making and work was left for men and they had authority over women because women had little role in business, politics or social activities. In this setup; freedom, liberty and equality of women were regarded as a bad thing which the society frowned upon. Ibsen's portrayal of the society emphasizes how middle-class life is limiting, brutal, and unforgiving. He cleverly exposed these hypocritical norms and faults of society and suggested the outcomes of this suppression of womenfolk which compelled Nora to secede from the society's values and decided to leave her husband and children just to live a life of her own: "There is another task I must undertake first. I must try and educate myself--you are not the man to help me in that. I must do that for myself. And that is why I am going to leave you now (Act III). This clearly indicates the relationship between husband and wife. In this play, the relationship and role of characters are characterized by the desire of dominance and authority. In the first act, we see Torvald trying to dominate over Nora by dictating her not to be extravagant and spendthrift. Then we come across ill fate of Nora when her husband is nearly on death bed and needs to be taken to Italy for treatment. Nora's compulsion is exploited by Nils Krogstad who extracts a bond from her, which later in the play, he uses for threatening her and ultimately ruins her whole life. The role of Nils Krogstad demonstrates hypostatical values of society and a lust for power with mala fide intention. His relationship with Nora exposes faults of society and the law which have nothing to do with humanistic aspect of Nora's sufferings and to save her husband's life. The best presentation of the relationships and roles is given by Henrick in the last act of "A Doll's House" when we find Nora in dejected situation with Torvald. Nora tells her husband that h er husband and father were alike in that both of them used her to amuse and play with her and never thought of herself in context of her own imaginations and desires. In "Trifles" we find women struggling for their identification being unduly treated by their husbands. Minnie is sick of her husband and comes up to the point to strangle him just because he had strangled the Canary. This story begins with Martha leaving her home and accompanying Mrs. Peters to the Wright farm. There they find Minnie strangled her husband. The sympathetic women tried to discover the reason

Tuesday, October 8, 2019

Patient Care And Influence On My Career Essay Example | Topics and Well Written Essays - 750 words

Patient Care And Influence On My Career - Essay Example I used to work under the directions of Registered nurses and physicians in delivering patient care in the hospital. I made a huge contribution in bathing patients and assisting patients during their physical therapy sessions. I also provided basic bedside care services such as taking the vital patient disease signs such as blood pressure levels, pulse rate and body temperature. My patient care in assisting the patients relieve pain and discomfort through applying new dressings, applying ice packs and providing alcohol rubs enabled me to acknowledge the valuable work that nurses do in delivering high quality patient care. I appreciate the dignity of human life and need to handle all patients with respect and that is why I participated in feeding the patients, recording the fluid intakes, and assisting patients with their personal hygiene (Chang 12). I believe that my approach to patient care was holistic since carried out an ongoing physical, social and emotional assessment of the patients in the hospital and fostered the independence of the patient in making the decisions concerning the preferred treatment method. Accordingly, I participated in the development and implementing of patient care plans through collection of laboratory samples and performance of simple laboratory tests. Another aspect of patient care that aroused by interest in joining nursing school is the care of babies and the need to educate the mothers and families on hygienic and healthy baby care habits. In this regard, I participated in disseminating information on hygienic baby care procedures and monitoring of any illness signs on the young babies (Harrion 104). I believe that I will contribute immensely to the nursing profession after completion of my education. I am confident that I will gain practical skills that are capable of meeting the needs of the health care system. I will be in a position to understand the economic, political and social forces that have shaped the nursing profession. Accordingly, the demand for nursing care services is currently increasing thus I will be able to contribute towards delivering a patient-centered care. I am sure the nursing knowledge, skills and attitudes will enable me improve the patient outcomes and ultimately lead to a higher satisfaction level among the patients. I will provide physical patient care, make sure all patients complete the treatment prescribed by the physicians and document the patient’s response to the particular treatment. I will provide patients the prescribed medication according to the existing legislation and assist in the rehabilitation of patients. In addition, I will assist in post-operative care procedures such as nutritional management and dressing of the wounds (Chang 14). Accordingly, I will be capable of providing direct patient care such as administerin g prescribed medication, carrying out basic diagnosis, and providing emotional support to patients. The course will enable me adequately demonstrate knowledge of nursing techniques and principles through constantly monitoring the patients’ medical conditions and updating the medical records. I will be in a position to supervise junior nurses such as LPNs and midwifery students in order to foster the quality of health care. In this regard, I will adhere to ethical and professional expectations of the nursing profession through respecting patient autonomy, maintain cordial working relationships with my colleagues and providing the highest attainable quality of nursing care. I will remain committed to continuing nursing education through attending nursing workshops and participating in nursing associations in order to contribute in new nursing knowledge generation

Monday, October 7, 2019

HEALTH LAW AND ETHICS Essay Example | Topics and Well Written Essays - 250 words - 16

HEALTH LAW AND ETHICS - Essay Example Still, should value and regard fair guidance and advice, which in turn creates a favourable environment for employees. Thirdly, love and kindness are paramount as it creates a corporate culture through extending love and compassion that eventually promotes ethical decision-making. Facilitating ethical behaviour with attitudes and values requires one to have alignment among behaviour, attitudes, and values. Lastly, it is important to make decisions based on justice and fair consideration of facts. An administrator can encourage accountability and social responsibility in health care organizations by doing the following. First, administrators should be facilitators in health care organizations to ensure that employees carry out their duties as ought to do. Secondly, they should handle daily personnel problems and patient complaints to promote a favourable environment. To promote social responsibility, administrators should deal with individuals one on one to detect any undesirable behaviour that may deteriorate rules and regulations of a health care organization. Thirdly, it expected that administrators should relinquish critical decision to physicians. As a result, this encourages accountability, as one understands his or her duties and responsibilities. Following this, developing the above mentioned skills create a platform towards making effective decisions and delegating managerial tasks

Sunday, October 6, 2019

Role and Participation of Women in the Mexican Revolution Essay

Role and Participation of Women in the Mexican Revolution - Essay Example The Mexican revolution is characterised by the effective participation of women. Before the Mexican revolution, the condition of women was equal to that of servants because they were isolated and controlled by men. The main characteristic of women life was concentrated around the family, marriage and religious controls. They were never considered to be capable of participating in any political or social matters. However, this situation has changed after the revolution. Thus, it transpires that the Mexican Revolution has transformed the position of women in the country and helped in empowering them as take an active part in political as well as social lives. The Mexican revolution (1910-1920) has played a vital role in the transformation of women’s role in the traditional Mexican society. Women’s participation in the revolution had changed the traditional concepts about them. They had actively participated in several phases in the revolution, which ultimately redefined t heir role in the traditional family. They started to come out of their home and travel to distant places. They also supported the revolution by taking care of the injured soldiers. Thus, they came out of the four walls of their homes and actively took part in the revolution. This made it possible for the first time to make women an active part of social activity. It was an unmatched experience in the lives of a large section of female population. During the revolution, some women even worked as spies, or worked for printing manifestos. Some of them went to the extent of manufacturing or running guns, while others remained directly involved in the revolution. Such an open participation in the revolution revealed that women were in no terms inferior than men. â€Å"As with any mass movement, a few individual women rose through the ranks to positions of command. Zapatista Colonel Rosa Bobadilla and journalist and activist Juana Gutierrez de Mendoza, who participated in drafting Zapata ’s Ayala Plan, are cases in point† (Monk par. 14). The spirit of the revolution received an extra boost with the entrance of the women into it. Many women writers got encouraged due to the revolution and supported it through their writings. Elena Poniatowska is one such writer. She noted in her book ‘Massacre in Mexico’ that â€Å"Women were responsible for much of the movement’s fighting spirit. I remember lots of the girl comrades.............from the med school at UNAM, and so on† (Poniatowska 91). Two famous Feminist Congresses were conducted during the revolution period. The role of women revolutionist thus remains significant in Mexican history. Their contribution to the Mexican revolution is highlighted in the works of many writers. Cassola’s photographs â€Å"reveal the Mexican people in late nineteenth and ..........His collections also include the only photographs of the woman soldaderas† (Martinez 148). The participati on of women in the revolution paved way to the future developments of the women community as a whole in the country. â€Å"Referring to the iconographic symbolic role of women, Sian ..........†women often appear to weigh more than their full weight in revolutionary circumstances† (Linhard 58). The participation of women in the revolution had given opportunity for them to face the society and thereby think for their own development. It was after the Mexican revol

Saturday, October 5, 2019

Warren E. Buffet 2005 Essay Example | Topics and Well Written Essays - 4750 words

Warren E. Buffet 2005 - Essay Example All along Buffett created his own rules in the game of investments in the stocks and has achieved a fair degree of success. This paper critically examines the investment philosophies and decisions of Warren Buffett while detailing the performance and investments of Berkshire Hathaway, the flagship company of Buffett including the second largest acquisition of Buffett of Pacific Corporation, a regulated energy producing company in the United States. Profession Benjamin Graham of Columbia University was the mentor of Warren Buffett, under whom he was trained in the art of investment in securities. Graham developed a method of identifying those shares whose prices are less than their intrinsic value and focused on other elements such as cash, net working capital, and physical assets. Buffett further modified this approach to include the focus on valuable franchises that do not go into the normal valuation of shares by the market. By the year 2005, on the basis of the letters written by Warren Buffett as chairperson to the shareholders of Berkshire Hathaway, the investment philosophy of Buffett has been expounded detailing the following important elements: The foremost p(1) Economic Realities Versus Accounting Realities The foremost philosophy is to recognize and consider the economic realities at business level rather than the accounting realities, as the accounting reality is considered to be backward looking and mostly governed by the Generally Accepted Accounting Principles (GAAP) .The rational behind adopting the economic reality at business level is that, it takes into account the value of intangible assets like patents, goodwill, trademarks and any special skills of managers, while the accounting reality does not consider the value of these assets. (2) Cost of Lost Opportunities 'Cost of lost opportunity' is another important phenomenon advocated by Buffett to be considered in any investment decision. For Buffett, the comparison of a proposed investment, against the returns from alternative opportunities available in the market is an important benchmark consideration for investments. (3) Value Creation The next philosophy advises that the investment should consider the intrinsic value of the shares as the present value of future expected performance. This aspect is not being considered for investment decisions in the other methods. According to Buffett intrinsic value is the only logical measure to decide on the attractiveness and worth of any business investment decisions. (4) Gain in Intrinsic Value Versus Accounting Profit Buffett strongly followed the principle that any investment should be capable of increasing the average annual rate of gain in intrinsic value of the business on performance-share basis, rather than, the increase in the accounting profits. Buffett advocated that the gain in intrinsic value should be considered as analogous to the economic gains made by the business which is a true measure of financial performance. (5) Risks and Discounted Cash Flows The traditional method of determining the discount rates like Capital Asset Pricing Model (CAPM) would add a risk premium to the long term risk free rate of

Friday, October 4, 2019

Barclays Bank Essay Example for Free

Barclays Bank Essay Barclays is a major global financial services provider engaged in retail banking, credit cards, corporate banking, investment banking, wealth management and investment management services with an extensive international presence in Europe, the Americas, Africa and Asia. With over 300 years of history and expertise in banking, Barclays operates in over 50 countries and employs nearly 147,000 people. Barclays moves, lends, invests, protects money for more than 48 million customers and clients worldwide. (Barclays 2009) Barclays currently owns more stock (3.9%) than any other stockholder in the largest company on the planet, Exxon Mobil. The fundamental principal to Barclay’s philosophy is to include the interests of all of their shareholders from customers, employees, shareholders and the wider community in route to providing a valued and prosperous circumference of satisfied stakeholders. (thebanker.com, 2009) A high priority is placed on dealing with three lines of operations. Firstly, the banking division that provides up front service and customer attention to United Kingdom retail and business banking customers. The UK retail banking side courts some for 14 million accounts, servicing around 566,000 customers, while the business side lends service to primarily middle to larger sized businesses of around 180,000 customers. A second major focus for Barclays is Private Clients. Barclays stands today as the largest retail stockbroker in the United Kingdom, with clients mainly in the UK and the continental Europe. The gist of the client makeup is high net worth and clients of corporate billing. Third is the International Retail and Commercial Banking sector of Barclay’s business. Barclays has some 800 international branches placed throughout Europe, Africa and the Middle East, which provide a large array of services including current accounts, savings, mortgages and loans. (thebanker .com 2009) Others smaller areas of focus for Barclays are Barclays Capital, Barclaycard, Barclay Global Investors and Woolwich. It is within these areas that Barclay is placing a larger focus towards growing throughout the international markets. Barclays Capital is a global investment bank which provides advice and solutions to the financial and risk management needs of corporate, institutional and government clients.Barclaycard has some 11.2 million UK customers with 2.9 million cards issued internationally. This happens to have been the UKs first credit card and also the leader in card services provided over the internet 800,000 customers using the online account services. Barclaycard operates internationally throughout Europe, the United States and Africa and has recently made efforts to expand even more into the United States with the acquisition of the US credit card, Juniper Financial Corporation in December 2004. Barclays Global Investors is a world leader in providing investment management products and services and is also a global leading asset manager. In 1971 Barclays Global Investors created the first index strategy and followed this in 1978 with the first quantitative active strategy. Barclays Global Investors holds some 68 million British pounds in Exchange Traded Funds with over 100 funds in ten international markets for individual and institutional investors. Lastly, Woolwich is a mortgage business that was acquired by Barclays in 2000. It has been transformed into a division that deals largely with home financing and lends its branding to Barclays mortgages. Barclays has placed a great deal of interest in international growth beginning as far back as 1925 with the merger that began the formation of Barclays International Operations of three banks: the Colonial Bank, the Anglo Egyptian Bank and the National Bank of South Africa. This pushed Barclays into Africa, the Middle East and the West Indies. By the 1980s Barclays became the first bank to file with the Securities and Exchange Commission in the U.S. and by 1986 was the first British bank to be listed on the Tokyo and New York Stock Exchanges. Barclays Capital formed around the same time establishing an investment banking operation that today manages larger corporations and institutional businesses. In the mid-1990s Barclays formed Barclays Global Investors through the purchase of Wells Fargo Nikko Investment Advisers which was combined with Barclays BZW Investment Management. Barclays has also kept pace with innovation with concepts such as online customized servicing through Barclay s Private Bank and Premiere Banking. These steps have kept Barclays competitive in the banking industry and guided them towards a promising path in international growth. (thebanker.com) Foremost to continually compete internationally, Barclays must strive to perform customer service at an utmost level of excellence. This will promote Barclays worldwide as a business that can be relied upon time after time for small individual accounts as well as huge corporate accounts. To accomplish this, Barclays must identify their customer groups and the needs associated with each particular group and develop products and services that will be of great value to their customers. The practices that have worked in the past must be reconfigured to work for years to come and keep Barclays updated with the high changing IT world. This will call for new investments into new levels of technology that can help offer higher levels of service to its customers. Along with the apparent increase in speed that IT will allow Barclay to accomplish routine tasks, technology will also reduce risk of errors and fraud. (www.thebanker.com) this leads straight into a second integral point of interest for Barclays. The need to place major investments into the most modern and efficient IT systems available that enables top of the line business transactions to transpire unhinged. IT will allow up to date information to be at the fingertips of Barclay’s managers, giving managers a huge advantage when it comes to making decisions and in pin pointing groups of customers that can have a high added value to Barclays. The fine-tuning of IT will also eliminate weaknesses within Barclays practices, preventing failures that effect customers and thus reducing excessive and unnecessary costs.(thebanker.com)

Thursday, October 3, 2019

Assemblers And Disassembler Softwares Computer Science Essay

Assemblers And Disassembler Softwares Computer Science Essay A disassembler is a computer program that translates machine language into assembly language the inverse operation to that of an assembler . A disassembler differs from a decompiler which targets a high-level language rather than an assembly language. The output of a disassembler is often formatted for human-readability rather than suitability for input to an assembler, making it principally a reverse-engineering tool. Assembly language source code generally permits the use of constants and programmer comments . These are usually removed from the assembled machine code by the assembler . A disassembler operating on the machine code would produce disassembly lacking these constants and comments. The disassembled output becomes more difficult for a human to interpret than the original annotated source code. Some disassemblers make use of the symbolic debugging information present in object files such as ELF. The Interactive Disassemblerallow the human user to make up mnemonic symbols for values or regions of code in an interactive session: human insight applied to the disassembly process often parallels human creativity in the code writing process. Disassembly is not an exact science: On CISC platforms with variable-width instructions, or in the presence of self-modifying code, it is possible for a single program to have two or more reasonable disassemblies. Determining which instructions would actually be encountered during a run of the program reduces to the proven-unsolvable halting problem. Examples of disassemblers Any interactive debugger will include some way of viewing the disassembly of the program being debugged. Often, the same disassembly tool will be packaged as a standalone disassembler distributed along with the debugger. For example, objdump, part of GNU Binutils, is related to the interactive debugger gdb . The some ofexample of dissembler are IDA ILDASM is a tool contained in the .NET Framework SDK. It can be used to disassemble PE files containing Common Intermediate Language code. OllyDbg is a 32-bit assembler level analysing debugger PVDasm is a Free, Interactive, Multi-CPU disassembler. SIMON a test/ debugger/ animator with integrated dis-assembler for Assembler, COBOL and PL/1 Texe is a Free, 32bit disassembler and windows PE file analyzer. unPIC is a disassembler for PIC microcontrollers Interactive Disassembler Interactive Disassembler The Interactive Disassembler, more commonly known as simply IDA, is a disassembler used for reverse engineering. It supports a variety of executable formats for different processors and operating systems. It also can be used as a debugger for Windows PE, Mac OS XMach-O, and LinuxELF executables. A decompiler plugin for programs compiled with a C/C++compiler is available at extra cost. The latest full version of Ida Pro is commercial.IDA performs much automatic code analysis, using cross-references between code sections knowledge of parameters of API calls, and other information. However the nature of disassembly precludes total accuracy, and a great deal of human intervention is necessarily required. IDA has interactive functionality to aid in improving the disassembly. A typical IDA user will begin with an automatically generated disassembly listing and then convert sections from code to data and viceversa. Scripting IDC scripts make it possible to extend the operation of the disassembler. Some helpful scripts are provided, which can serve as the basis for user written scripts. Most frequently scripts are used for extra modification of the generated code. For example, external symbol tables can be loaded thereby using the function names of the original source code. There are websites devoted to IDA scripts and offer assistance for frequently arising problems. Users have created plugins that allow other common scripting languages to be used instead of, or in addition to, IDC. IdaRUB supports Ruby and IDAPython adds support for Python Supported systems/processors/compilers Operating systems x86WindowsGUI x86 Windows console x86 Linux console x86 Mac OS X ARM Windows CE Executable file formats PE (Windows) ELF (Linux, most *BSD) Mach-O (Mac OS X) Netware .exe OS/2 .exe Geos .exe Dos/Watcom LE executable (without embedded dos extender) raw binary, such as a ROM image Processors Intel 8086 family ARM, including thumb code Motorola 68xxx/h8 ZilogZ80 MOS Technology 6502 Intel i860 DEC Alpha Analog Devices ADSP218x Angstrem KR1878 Atmel AVR series DEC series PDP11 Fujitsu F2MC16L/F2MC16LX Fujitsu FR 32-bit Family Hitachi SH3/SH3B/SH4/SH4B Hitachi H8: h8300/h8300a/h8s300/h8500 Intel 196 series: 80196/80196NP Intel 51 series: 8051/80251b/80251s/80930b/80930s Intel i960 series Intel Itanium (ia64) series Java virtual machine MIPS: mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l Microchip PIC: PIC12Cxx/PIC16Cxx/PIC18Cxx MSIL Mitsubishi 7700 Family: m7700/m7750 Mitsubishi m32/m32rx Mitsubishi m740 Mitsubishi m7900 Motorola DSP 5600x Family: dsp561xx/dsp5663xx/dsp566xx/dsp56k Motorola ColdFire Motorola HCS12 NEC 78K0/78K0S PA-RISC PowerPC SGS-Thomson ST20/ST20c4/ST7 SPARC Family Samsung SAM8 Siemens C166 series TMS320Cxxx series Compiler/libraries (for automatic library function recognition)[3] Borland C++ 5.x for DOS/Windows Borland C++ 3.1 Borland C Builder v4 for DOS/Windows GNU C++ for Cygwin Microsoft C Microsoft QuickC Microsoft Visual C++ Watcom C++ (16/32 bit) for DOS/OS2 ARM C v1.2 GNU C++ for Unix/common SIMON (Batch Interactive test/debug) SIMON (Batch interactive test/debug) was a proprietary test/debugging toolkit for interactively testing Batch programs designed to run on IBMs System 360/370/390 architecture. It operated in two modes, one of which was full instruction set simulator mode and provided Instruction step, conditional Program Breakpoint (Pause) and storage alteration features for Assembler, COBOL and PL/1 programs. High level language (HLL) users were also able to see and modify variables directly at a breakpoint by their symbolic names and set conditional breakpoints by data content. Many of the features were also available in partial monitor mode which relied on deliberately interrupting the program at pre-defined points or when a program check occurred.In this mode, processing was not significantly different from normal processing speed without monitoring. It additionally provided features to prevent application program errors such as Program Check, Wild branch , and Program loop. It was possible to correct many errors and interactively alter the control flow of the executing application program. This permitted more errors to be detected for each compilation which, at the time, were often scheduled batch jobs with printed output, often requiring several hours turnaround before the next test run. Operating Systems Simon could be executed on IBMMVS, MVS/XA, ESA or DOS/VSE operating systems and required IBM 3270 terminals for interaction with the application program. LIDA lida is basically a disassembler and code analysis tool. It uses the bastards libdisasm for single opcode It allows interactive control over the generated deadlisting via commands and builtin tools. features It trace execution flow of binary It work with symbolic names: interactive naming of functions, labels, commenting of code. It scan for known anti-debugging, anti-disassembling techniques It scan for user defined code sequences It integrated patcher It also integrated cryptoanalyzer Many disassemblers out there use the output of objdump à ¢Ãƒ ¢Ã¢â‚¬Å¡Ã‚ ¬ lida that tries a more serious approach. The several limitations of objdump are broken by using libdisasm and by tracing the execution flow of the program. Further by having the control over the disassembly more features can be included. Everybody who has already worked on some deadlisting will immediate feel a need to work interactive with the code and be able to change it. Therefore lida will have an integrated patcher resolves symbolic names, provides the ability to comment the code, serves efficient browsing methods. The more exotic features of lida should be on the analysis side. The code can be scanned for custom sequences known antidebugging techniques known encryption algorithms also you will be able to directly work with the programs data and for example pass it to several customizable en-/decryption routines. This of course only makes limited sense as it is not a debugger. Tough often I really missed this functionality. Limitations of objdump based disassemblers Usual programs one would like to disassemble are either coded directly in assembly, or use some tricks to avoid beeing disassembled. I will here give a short overview of the most objdump features objdump relies on section headers It is an ELF executable that contains correct section headers. Tough for the OS-loader to run an ELF binary, section headers are not necessary at all. The important thing to get a process loaded into memory are the program headers . So the first common anti disassembling trick is to either drop or manipulate the ELF section headers By doing so, objdump refuses to perform the disassembly: [emailprotected]> file tiny-crackme tiny-crackme: ELF 32-bit LSB executable, Intel 80386, version 1, statically linked, corrupted section header size [emailprotected]> objdump -D tiny-crackme objdump: tiny-crackme: File format not recognized The binary I took as example to verify is yanistos tiny-crackme objdump does not trace the execution flow I By not tracing the execution flow objdump can easily be fooled to just disassemble a few lines and stop there. This means it does not recognize any functions, does not see the code which is stored in data sections. objdump does not trace the execution flow Additionally another common trick is to insert garbage opcodes and overjump them to disalign the disassembly from the execution flow. Example: When an instruction jumps into the middle of the next instruction, objdump does not disassemble from this exact location. It will continue with the next instruction and consequently dissasemble garbage from here on. As a result you will mainly see totally usesless instructions in the whole disassembly. . Implementation Details lida uses libdasm of the bastard for single opcode decoding. It does not use the whole environment including the typhoon database. The main program is coded in perl/TK which uses a C backend for the most timeconsuming parts (disassembly, analysis, scanning for strings). Generally lida is designed to be as fast as possible (the disassembly) by trying not to waste all your RAM 🙂 lida is designed to be also efficient in usability. Therefore all important functions are accessible via single keystrokes, or short commands. This means no clicking around is necessary, you can enter your tasks directly into the commandline. The disassembling engine The disassembling is done in currently 4 (or 6) passes, default is all 6: 1st pass is the main control flow disassembly Here the disassembly is started from the executables entrypoint, and recursively disassembles the binary by following each branch, and stepping into each sub- routine. This leads in also disassembling code blocks in data sections, if existent :), so the disassembly is not limited to a .text section. Also, if indirect jumps/calls are used, the final destination is looked up in the binaries data of course 2nd pass for glibc binaries: A heuristic scan scans for the main() function and starts pass1 there (so also re- cursive disassembling) 3rd pass all other code sections This pass repeats pass1 for all found executable sections, and starts at section start. If the binary does not contain section headers, the disassembly starts at the first loaded executable address. 4th pass functions This pass scans for typical function prologues and starts pass1 at each found address. This is for discovering code regions which are not explicitly called, and where their entrypoints are evaluated at runtime. 5th pass disassembling caves All passes build up a map of the binary. If until now there are code regions which were not yet disassembled, they can be now. 6th pass remainders If pass 5 was executed, and there are still caves, they are displayed as DB xx, Definitely for pass 4 and 5 there are enhancements to come, as well as for the recursive disassembly function itself. Also to mention whenever a jump into the middle of a previous instruction is beeing found, currently those addresses are beeing marked. To follow is a representation of instructions within instructions (compare 3.1), as of course by intelligent placing of opcodes both instructions can be valid and used during the execution flow. Signature Scanning Basically it is done by a signature scanning. I quote it because it is not a simple pattern matching. For understanding that, one needs a little understanding of typical hash-encryption algorythms. Lets take for example a MD5 hash. How can we find the code that does an MD5 hash? On a very high level generating a hash is usually done in 3 steps: the init function, the update function and the finalize function. The init function usually sets up an array of some numeric values, which are then modified in a loop using the input data (plain data) during the algorythm, until the hash is calculated. The finalize function creates the representation in a common format (easily spoken; it pads the digest and is appending the size). Hoewever, it does not matter to know actually how the algorythm works to find it 🙂 Due to the common fact, that the initialization functions use fixed numeric initialization values, which are the same in every implementation, as they are part of the algorythm these are the values we are searching for. For MD5 those are: 0x67452301 0xefcdab89 0x98badcfe 0x10325476 So to find an MD5 implementation, it is necessary to scan for those dword values, of course they can appear in any order (strange enough nearly always they are used in the listed order above). Now as those dwords can exist also in just any binary by accident (oltough seldom) some smarter scanning is done: the values need to appear in a limited size of a code block. The values can be in any order, and also some fuzzyness has been added to scan for a little bit altered init values. Heuristic Scanning Heuristic scanning is not yet implemented. It is intended to find custom crypto code. Basically it is beeing looked for a sequence of suspicious opcode sequences, which look like an encryption routine. OllyDbg is an x86debugger that emphasizes binary code analysis, which is useful when source code is not available. It traces registers, recognizes procedures, API calls, switches, tables, constants and strings, as well as locates routines from object files and libraries. According to the programs help file, version 1.10 is the final 1.x release. Version 2.0 is in development and is being written from the ground up. The software is free of cost, but the shareware license requires users to register with the author. The current version of OllyDbg cannot disassemble binaries compiled for 64-bit processors.