|
|
|
|
|
|
|
[求助]怎样用8086汇编语言显示‘刘’字?
横线里的内容保存成文本文件,改名成CaiLiu.bat 运行CaiLiu.bat,会在C盘生成1.com,可以用IDA等工具分析。 ------------------------------------ Goto CaiLiu e100 EB 1E 00 00 00 00 00 00 5C 48 5A 4B 31 36 00 6E e110 6F 74 20 66 6F 75 6E 64 21 07 0D 0A 24 00 00 00 e120 0E 1F B4 0F CD 10 B4 00 A3 C0 00 B8 12 00 CD 10 e130 B4 0B BB 01 01 CD 10 BB 00 00 CD 10 E8 79 00 BE e140 FF 01 BF 10 00 B9 02 00 51 8A 1C B9 08 00 51 D0 e150 E3 72 04 B0 00 EB 02 B0 01 89 E9 B4 0C CD 10 45 e160 59 E2 EB 46 59 E2 E1 4F 90 74 06 42 83 ED 10 EB e170 D4 B4 00 CD 16 3C 0D 75 09 A1 C0 00 CD 10 B4 4C e180 CD 21 A0 58 01 FE C0 3C FF 74 EE A2 58 01 88 C3 e190 B1 04 D2 E8 0C 30 3C 39 76 02 04 07 B4 0E CD 10 e1A0 88 D8 24 0F 0C 30 3C 39 76 02 04 07 B4 0E CD 10 e1B0 EB 8A 00 00 00 00 00 00 B4 03 CD 10 B3 08 88 D0 e1C0 F6 E3 89 C5 88 F0 B3 10 F6 E3 89 C2 C3 00 00 00 e1D0 00 00 02 40 02 40 02 40 02 40 02 40 02 40 02 40 e1E0 02 40 02 40 02 40 02 40 02 40 02 40 02 40 00 00 e1F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 e200 00 FD 08 09 08 09 10 09 20 79 40 41 04 47 FE 41 e210 40 79 40 09 20 09 20 09 10 09 4E 51 84 21 00 10 e220 00 10 20 10 40 10 84 FD FE 11 04 31 04 39 04 55 e230 04 51 FC 91 04 11 04 11 04 11 04 11 FC 11 04 00 e240 20 00 F0 0F 00 08 00 08 00 08 10 0F F8 08 40 08 e250 40 08 44 FF FE 00 00 04 40 0C 30 10 18 20 08 1A e260 5B 31 66 66 2D 32 35 65 20 69 73 20 6C 62 62 2E e270 64 6F 74 2E 5D 00 21 C7 00 00 00 00 00 00 00 00 r cx 270 n c:\1.com w q :CaiLiu Debug <CaiLiu.bat ------------------------------------ |
|
[求助]怎样用8086汇编语言显示‘刘’字?
试试这个,文件内容保存在c:\1.com Goto CaiLiu e100 EB 1E 00 00 00 00 00 00 5C 48 5A 4B 31 36 00 6E e110 6F 74 20 66 6F 75 6E 64 21 07 0D 0A 24 00 00 00 e120 0E 1F B4 0F CD 10 B4 00 A3 C0 00 B8 12 00 CD 10 e130 B4 0B BB 01 01 CD 10 BB 00 00 CD 10 E8 79 00 BE e140 FF 01 BF 10 00 B9 02 00 51 8A 1C B9 08 00 51 D0 e150 E3 72 04 B0 00 EB 02 B0 01 89 E9 B4 0C CD 10 45 e160 59 E2 EB 46 59 E2 E1 4F 90 74 06 42 83 ED 10 EB e170 D4 B4 00 CD 16 3C 0D 75 09 A1 C0 00 CD 10 B4 4C e180 CD 21 A0 58 01 FE C0 3C FF 74 EE A2 58 01 88 C3 e190 B1 04 D2 E8 0C 30 3C 39 76 02 04 07 B4 0E CD 10 e1A0 88 D8 24 0F 0C 30 3C 39 76 02 04 07 B4 0E CD 10 e1B0 EB 8A 00 00 00 00 00 00 B4 03 CD 10 B3 08 88 D0 e1C0 F6 E3 89 C5 88 F0 B3 10 F6 E3 89 C2 C3 00 00 00 e1D0 00 00 02 40 02 40 02 40 02 40 02 40 02 40 02 40 e1E0 02 40 02 40 02 40 02 40 02 40 02 40 02 40 00 00 e1F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 e200 00 FD 08 09 08 09 10 09 20 79 40 41 04 47 FE 41 e210 40 79 40 09 20 09 20 09 10 09 4E 51 84 21 00 10 e220 00 10 20 10 40 10 84 FD FE 11 04 31 04 39 04 55 e230 04 51 FC 91 04 11 04 11 04 11 04 11 FC 11 04 00 e240 20 00 F0 0F 00 08 00 08 00 08 10 0F F8 08 40 08 e250 40 08 44 FF FE 00 00 04 40 0C 30 10 18 20 08 1A e260 5B 31 66 66 2D 32 35 65 20 69 73 20 6C 62 62 2E e270 64 6F 74 2E 5D 00 21 C7 00 00 00 00 00 00 00 00 r cx 270 n c:\1.com w q :CaiLiu Debug <CaiLiu.bat |
|
[原创]DUnitID 0.17.2388
谢谢,不错的工具。 |
|
|
|
[求助]菜鸟的一个令人郁闷至极的Inline Hook的问题。
这是我机器上MessageBoxA的前部分代码。 77E13259 55 push ebp 77E1325A 8B EC mov ebp,esp 77E1325C 51 push ecx 77E1325D 83 3D 58 3B E4 77 00 cmp dword ptr ds:[77E43B58h],0 |
|
[求助]菜鸟的一个令人郁闷至极的Inline Hook的问题。
MessageBoxA要复制11字节的代码才完整。我改了改,在VC6下能通过。 #include <windows.h> #include <stdio.h> _declspec(naked) int ExecOrig(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType) { __asm { nop nop nop nop nop nop nop nop nop nop nop nop nop } } int HookFunc( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType) { DWORD OrigESP; int bRet; __asm { mov OrigESP,esp } printf("In MyMsgBox,the params:\n%s\n%s\n",lpText,lpCaption); bRet = ExecOrig(hWnd,lpText,lpCaption,uType); printf("\nIn MyMsgBox,the return Value:\n%d\n",bRet); __asm { mov esp,OrigESP } return bRet; } int main() { int nRet; int i = 0; BYTE jmp[5]; BYTE Old[5]; BYTE JmptoOrig[5]; DWORD dwOld; jmp[0] = 0xE9; *((DWORD *)(jmp + 1)) = (DWORD) ((DWORD)HookFunc - (DWORD)MessageBoxA - 5); memcpy( Old,MessageBoxA,5); JmptoOrig[0] = 0xE9; *((DWORD *)(JmptoOrig + 1)) = (DWORD)MessageBoxA - (DWORD)ExecOrig - 5; ::VirtualProtectEx(::GetCurrentProcess(), ExecOrig, 10, PAGE_READWRITE, &dwOld); memcpy( ExecOrig,Old,5 ); memcpy( (void *)((DWORD)ExecOrig + 5),JmptoOrig,5 ); ::VirtualProtectEx(::GetCurrentProcess(), ExecOrig, 10, dwOld, &dwOld); ::VirtualProtectEx(::GetCurrentProcess(), MessageBoxA, 5, PAGE_READWRITE, &dwOld); memcpy( MessageBoxA,jmp,5); ::VirtualProtectEx(::GetCurrentProcess(), MessageBoxA, 5, dwOld, &dwOld); nRet = ::MessageBox(0,"Test","Test",0); printf("\nIn Main,the return:\n%d",nRet); return 0; } |
|
|
|
[原创]混了这么长时间,发布一个查看OCX接口地址的小工具
谢谢,先收藏一下 |
|
|
|
[原创]+开源.时间修改小工具PlusPLus
你把窗口和对话框用错了,窗口的处理和对话框的处理是不一样的。对话框中是不需要调用DefWindowProc(hWnd, uMessage, wParam, lParam);的,否则什么奇怪地事情都会发生。 BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch ( uMsg ) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: switch( LOWORD(wParam) ) { case IDCANCEL: case IDOK: EndDialog( hwndDlg, 0 ); return TRUE; } } return FALSE; } |
|
|
|
|
|
做了一个工具,钩住API函数HookDeviceIoControl
不好意思,我登陆了一下,现在应该可以了! |
|
[求助]关于explorer出错系统托盘的问题
const UINT WM_TASKBARCREATED = ::RegisterWindowMessage(_T("TaskbarCreated")); explorer重新启动的话会发WM_TASKBARCREATED,消息的,在这里面重新加图标就可以了,详细的可以在GOOGLE中搜索TaskbarCreated |
|
做了一个工具,钩住API函数HookDeviceIoControl
最初由 tnttools 发布 呵呵,这些我都不会呀,不过先收下了。以后慢慢研究 |
|
[原创]混了这么长时间,发布一个查看OCX接口地址的小工具
好东西,支持一下 |
|
做了一个工具,钩住API函数HookDeviceIoControl
最初由 foxabu 发布 呵呵,我和foxabu有同样的想法,不过如果API代码的开头复杂点的话,可能要处理一下。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值