I hope you can come up with some ideas ~
Check whether there is any shell... Microsoft Visual C ++ 6.0, indicating no shell ~
Let's enter an account and password for trial run ~ The error message "incorrect registration name or registration code!" is displayed !"
Okay. Let's load it with OD ~~ Search for asii, find the error message, and double-click it to go to the code ~
00401d00/0f85 df1_00 jnz ultradic.00401de500401d06. | 68 01100000 push 100100401d0b. | 68 f4704300 push ultradic.004370f4; A
, because the parameter needs to be seen before createfont is called, to determine which call corresponds to the song name, use "BC" to clear the breakpoint and set the breakpoint in the last return statement of the kernel, then press "F5" until Winamp starts running and closes it."Load" again, press "F5", this time it stops on the Return Statement in the kernel, and then press "F10" to return to the code area where Winamp is located, and look up, you can see the following code:
"Copyright Notice: respect for the original, reproduced please retain the source: blog.csdn.net/shallnet, the article only for learning Exchange, do not use for commercial purposes"the CMPS directive is used to compare string values, and the CMPS directive has three formats: CMPSB, CMPSW, CMPSL. The implied source operand and target operand locations are stored in the ESI and EDI registers, and each time the cmps instruction is executed, the ESI and
).
So the different compilers of different platforms have to be treated differently. The above is the last insufficient supplement.
Here's a look at the array:
test.c Example:
Copy Code code as follows:
void Hello1 ()
{
int a[3]={1,2,3};
int b=a[1];
}
void Hello2 ()
{
int a[3]={1,2,3};
int b=* (a+1);
}
void Hello3 ()
{
int a[3]={1,2,3};
int B=1[a]; Is that right?
}
If you look carefully, the difference between the three functions is that of the
and an internal counter of the repeated (REP) prefix command and LOOP command.(6) edx is always used to place the remainder produced by integer division.(7) esi/edi are called "source/destination index register" (source/destination index), because in many string operation commands, DS: ESI refers to the source string, While ES: EDI points to the target string.On a 32-bit platform, ESP is reduced by 4 bytes
CPU switches from user mode to privileged mode, then jump to the kernel code to execute the exception handling program.In the "B INT" command, the value 0x80 is a parameter. In exception handling, the parameter determines how to handle the problem. In the Linux kernel, an int 0x80 exception is called a system call.The values of C eax and EBX registers are two parameters passed to the system call. The value of eax is the system call number, 1 indicates _ exit call, and EBX indicates the paramete
same as that of the function I wrote (you can also say that the exponent in the function I wrote is: change the = 1/gamma statement to exponent: = gamma, which is the same as the setgamma method of GDI + ):
Procedure imagesetgamma (VAR data: timagedata; GAMMA: single); var I: integer; exponent: Double; gammatab: array [0 .. 255] of byte; begin exponent: = 1/gamma; // This sentence is changed to exponent: = gamma;, which has the same effect as the setgamma parameter of GDI + for I: = 0 to 255 do
The code from chapter 7 of Intel assembly language programming (fifth edition) uses the AAA (ASCII adjust after addition) command to adjust the results after the ASCII addition. The source code is as follows:
Title ASCII addition (ascii_add.asm)
; Perform ASCII arithmetic on strings having
; An implied fixed decimal point
Include irvine32.inc
Decimal_offset = 5; offset from right of string
. Data
Decimal_one Byte "100123456789765"; 1001234567.89765
Decimal_two Byte "900402076502015"; 900402
I remember writing a HOOK API article (C/C ++ HOOK API (in-depth analysis of the principle-loadlibrarya). The main principle of this article is to construct a code byte, modify the first 16 bytes of the loadlibrarya function, and then jump to the custom function. When you call a normal function, unhook it again. In this way, when you call a function again, the unhook and hook operations appear too frequent. Moreover, the hook and unhook were designed as thiscall at the time. Therefore, maintaini
{2002.8.5 kingron}
{Source: Source string}
{Sub: Sub string}
{Return: Count}
{Ex: strsubcount ('abccdcd', 'bc') = 2}
Function strsubcount (const source, Sub: string): integer;
VaR
Buf: string;
I: integer;
Len: integer;
Begin
Result: = 0;
Buf: = source;
I: = pos (sub, Buf );
Len: = length (sub );
While I Begin
INC (result );
Delete (BUF, 1, I + len-1 );
I: = pos (sub, Buf );
End;
End; {strsubcount}
{The following function returns the position after the specified position of substr in S}{Example:
KiInterruptTemplate .. That's it... The KiInterruptTemplate code is in ntoskrnl/ke/i386/Traps. s ....
. Func KiInterruptTemplate_ KiInterruptTemplate:
/* Enter interrupt trap */INT_PROLOG kit_a, kit_t, DoPushFakeErrorCode
_ KiInterruptTemplate2ndDispatch:/* Dummy code, will be replaced by the address of the KINTERRUPT */Mov edi, 0
_ KiInterruptTemplateObject:/* The jump instruction address will be replaced with the actual address of the function to b
corresponding to the main function is as follows
123456789101112131415161718192021222324252627282930313233343536
7: int main()8: {00401020 push ebp // ebp初始为0018FF84h压栈,压栈后esp = 0018FF48h - 4 = 0018FF44h00401021 mov ebp,esp // ebp保存栈顶0,ebp=esp=0018FF44h00401023 sub esp,48h // esp -= 48h开辟了一段栈空间,留待后面保存局部变量,此时esp=0018FF44h-48h=0018FEFCh00401026 push ebx 00401027 push esi00401028 push edi // ebx、esi和
program, and no other auxiliary components. To control the register of passed parameters, you can extract the generic gadgets in the program initialization function.Enter Objdump–d./vul to observe the _libc_csu_init () function.There are two accessories available:Accessories 14005f0: 4c 89 ea mov %R13,%RDX 4005f3: 4c 89 f6 mov %R14,%RSI 4005f6: 44 89 ff mov %R15d,%EDI 4005f9: 41 ff 14 dc
Windows XP, Windows Server 2003 experiments, you can perform experiments on diskless workstation of 3COM VLD and 3COM DABS, and terminal experiments of Windows 2000/Server 2003 and Citrix MetaFrame 1.8/XP.
V. Enterprise Users
Many enterprises, for historical reasons or other reasons, each department has a server, or several important departments have servers. These servers have a single function and fewer applications, but these applications are different. They cannot coexist on one server. P
Two redhetEnterprise-R4-U4 systems rac1 and rac2 are installed on the Virtual Machine VMwareGSXServer, And the oracle10gRAC ring is built on the Virtual Machine VMwareGSXServer.
Two redhet Enterprise-R4-U4 systems rac1 and rac2 are installed on the Virtual Machine VMware GSX Server, and the oracle10g RAC ring is built on this basis.
I. Overview of software and hardware Environments
Two redhet Enterprise-R4-U4 systems rac1 and rac2 are installed on
Hardware configuration
IBM R50 5GC
China
1.5 GB
,
1G
Memory,
40 GB
Hard Disk
Software Configuration
Windows XP Pro SP1,VMware GSX Server
2.5.1
,RHEL3,Oracle
10g
For Linux
Install
VMware
This step is not mentioned.,What I installed isVMware GSX Server,No testsVMware Workstation,Therefore, the steps in this article cannot be implemented.
In
VMwar
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.