|
[求助]W32Dasm反编译后,产生的一些困惑
你当然改错了,你应该将“0F85A1000000”改成“E9A200000090”才对。 |
|
[已解决]keymake内存注册机问题
看了,那个“偏移”的"+0"去掉就行了。 |
|
[求助]如何才能给vb6的text控件加个背景图片?
在模块文件里添加 Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal ncrColor As Long) As Long Function WndProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If uMsg = WM_CTLCOLOREDIT Then SetBkMode wParam, TRANSPARENT SetTextColor wParam, &HFF WndProc = hBlackBrush '替换Text的背景刷子换成我们定义的图像背景刷子。 Exit Function End If WndProc = CallWindowProc(lpOldProc, hwnd, uMsg, wParam, lParam) End Function |
|
[已解决]keymake内存注册机问题
这次是对了,不过为什么不行只看这里的信息就不太清楚了。 |
|
[已解决]keymake内存注册机问题
晕,我说去掉“宽字符串”的那个“√”你并没有去掉,而且还加上另外一个没用的“地址指针” |
|
[已解决]keymake内存注册机问题
你那个“内存模式->寄存器”那个选项也必须选上,并选择“EAX”。还有要去掉那个“宽字符串选项” |
|
[求助]如何才能给vb6的text控件加个背景图片?
当然的,因为修改字体和背景的消息都给拦了。你可以再加一个SetTextColor函数修改字体颜色。 call SetTextColor(wParam,&H0000ff); // 字体设置为红色。你要修改颜色只须修改&H******的值就行了。 |
|
[求助]W32Dasm反编译后,产生的一些困惑
0079BBAF E880220000 call 0079DE34 0079BBB4 8806 mov [esi], al ;保存注册标志,这里应该为1 0079BBB6 803E00 cmp byte ptr [esi], $00 ; 如果为零,则判断狗狗注册,否则则是注册码注册 0079BBB9 0F85A1000000 jnz 0079BC60 ; 这里修改为jmp就是注册码注册成功了。 |
|
[已解决]keymake内存注册机问题
中断地址:004C8694 第一字节:E8 指令长度:5 中断次数:1 注册码保存模式: eax 4.6 keymaker内存注册机 Q:什么是某个软件的中段地址,指令长度,第一字节,这些数据怎么得到,这些数据在内存注册机中怎么应用? A: 青色代表着注册码的保存模式 绿色的是中断地址,中断地址一般选择注册码保存模式的下一句,或下几句地址,但必须保证程序中断到这个地址时注册码保存的值没有被任何东西修改或改变。如下面的例子,中断地址可以选在00401205和00401207,但不能选在0040120C这个地址,因为00401207这个Call过后会修改eax的值。 红色的是中断的第一个字节 红色加上蓝色的字节就是指令长度,如下面的例子选的中断地址是00401207,这个地址上有5个字节,所以指令长度是5 00401205 50 PUSH EAX ;eax中保存着真注册码 00401206 52 PUSH EDX ; edx中保存着假注册码 00401207 E8 68 FF FF FF CALL 00401174 ; 比较真假注册码 0040120C 85 C0 TEST EAX,EAX ; 测试注册码真假结果 0040120E 75 42 JNZ SHORT 00401252 ; 假则跳向错误,真则不跳 |
|
[求助]如何在console中exe添加windos.h
如果你是使用VC++IDE中编写Console控制台程序,你可以直接在源文件里添加#include <Windows.h>Windows.h头文件。然后就可以直接调用MessageBox函数了。 #include <stdio.h> #include <windows.h> int main() { MessageBox(0,"Test MessageBoxA Function", "Test Function", MB_OK); return 0; } 如果你是脱离VC++IDE中编写Console控件台程序,除了在源文件里添加#include <windows.h>之外,还必须在Link链接选项里包含User32.lib库才行。或者在源文件里添加一句预编译指令添加User32.lib库。如例子: #include <windows.h> #pragma comment(lib,"User32.lib") int main() { MessageBox(0,"Test MessageBoxA Function", "Test Function", MB_OK); return 0; } |
|
[求助]为什么不出现窗口?
呵,没事便好,写代码这样的小问题有时的确不好找。 |
|
[求助]为什么不出现窗口?
WndProc PROC hWin:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD INVOKE DefWindowProc,hWnd,uMsg,wParam,lParam |
|
[求助]请问PNG文件定义到资源文件中的问题
我的试验代码是用BI_PNG的,不过,VC6没有BI_JPG和BI_PNG常数定义,在网上找了一下,这两个参数的定义值是#define BI_JPG 4L和#define BI_PNG 5L。 //曾经这样测试过,不过,没成功。 #define BI_JPG 4L #define BI_PNG 5L // 创建BMP内存DC l_hWndDC = GetDC(hWnd); l_hMemDC = CreateCompatibleDC(hWndDC); l_hBitmap = CreateCompatibleBitmap(l_hWndDC, 128, 128); // png图像长宽都是128 SelectObject(l_hMemDC, l_hBitmap); //初始化BitmapInfo结构 l_stBI.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); l_stBI.bmiHeader.biWidth = 128; // Png长宽 l_stBI.bmiHeader.biHeight = 128; l_stBI.bmiHeader.biPlanes = 1; l_stBI.bmiHeader.biBitCount = 0; l_stBI.bmiHeader.biCompression = BI_PNG; l_stBI.bmiHeader.biSizeImage = 0x292e; // PNG文件字节大小 // g_pvPngDataBuff指向*.png二进制数据 if (SetDIBitsToDevice(l_hMemDC,0,0,128,128,0,0,0,128,g_pvPngDataBuff,&l_stBI,DIB_RGB_COLORS)) { MessageBox(0,"成功转化PNG图像","成功!",MB_OK); }else { // 到这里总是返回0 MessageBox(0,"转化失败!",NULL,MB_OK); } |
|
[求助]请问PNG文件定义到资源文件中的问题
以前看过MSDN里的声明SetDIBitsToDevice和StretchDIBits函数可以转化PNG和JPG图像,一直没有试验过,今天按MSDN的代码竟然试了几次都没有成功。呵呵,不知哪里有问题。 JPEG and PNG Extensions for Specific Bitmap Functions and Structures On certain versions of Microsoft® Windows®, the StretchDIBits and SetDIBitsToDevice functions allow JPEG and PNG images to be passed as the source image to printer devices. This extension is not intended as a means to supply general JPEG and PNG decompression to applications, but rather to allow applications to send JPEG- and PNG-compressed images directly to printers having hardware support for JPEG and PNG images. The BITMAPINFOHEADER, BITMAPV4HEADER and BITMAPV5HEADER structures are extended to allow specification of biCompression values indicating that the bitmap data is a JPEG or PNG image. These compression values are only valid for SetDIBitsToDevice and StretchDIBits when the hdc parameter specifies a printer device. To support metafile spooling of the printer, the application should not rely on the return value to determine whether the device supports the JPEG or PNG file. The application must issue QUERYESCSUPPORT with the corresponding escape before calling SetDIBitsToDevice and StretchDIBits. If the validation escape fails, the application must then fall back on its own JPEG or PNG support to decompress the image into a bitmap. Testing a Printer for JPEG or PNG Support The SetDIBitsToDevice function uses color data from a DIB to set the pixels in the specified rectangle on the device that is associated with the destination device context. Windows 98/Me, Windows 2000/XP: SetDIBitsToDevice is extended to allow a JPEG or PNG image to be passed as the source image. For example: // // pvJpgImage points to a buffer containing the JPEG image // nJpgImageSize is the size of the buffer // ulJpgWidth is the width of the JPEG image // ulJpgHeight is the height of the JPEG image // // // Check if CHECKJPEGFORMAT is supported (device has JPEG support) // and use it to verify that device can handle the JPEG image. // ul = CHECKJPEGFORMAT; if ( // Check if CHECKJPEGFORMAT exists: (ExtEscape(hdc, QUERYESCSUPPORT, sizeof(ul), &ul, 0, 0) > 0) && // Check if CHECKJPEGFORMAT executed without error: (ExtEscape(hdc, CHECKJPEGFORMAT, pvJpgImage, nJpgImageSize, sizeof(ul), &ul) > 0) && // Check status code returned by CHECKJPEGFORMAT: (ul == 1) ) { // // Initialize the BITMAPINFO. // memset(&bmi, 0, sizeof(bmi)); bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bmi.bmiHeader.biWidth = ulJpgWidth; bmi.bmiHeader.biHeight = -ulJpgHeight; // top-down image bmi.bmiHeader.biPlanes = 1; bmi.bmiHeader.biBitCount = 0; bmi.bmiHeader.biCompression = BI_JPEG; bmi.bmiHeader.biSizeImage = nJpgImageSize; // // Do the SetDIBitsToDevice. // iRet = SetDIBitsToDevice(hdc, ulDstX, ulDstY, ulDstWidth, ulDstHeight, 0, 0, 0, ulJpgHeight, pvJpgImage, &bmi, DIB_RGB_COLORS); if (iRet == GDI_ERROR) return FALSE; } else { // // Decompress image into a DIB and call SetDIBitsToDevice // with the DIB instead. // } |
|
[求助]请问PNG文件定义到资源文件中的问题
可以使用RCDATA将*.png图片加入资源。 格式: ResNameOrId RCDATA *.png 加入资源后,只须使用FindResource/LoadResource/LockResource函数获取*.png资源。 用SetDIBitsToDevice或StretchDIBits函数将*.png设置到设备环境中。 |
|
[求助]32汇编高级控件,怎么用啊?
系统没有提供有通用的画图控件。只有自己写或找第三方编写好的控件(不过貌似我没有看见过第三方有汇编写的图画控件)。 |
|
[讨论]upx -d????
如果是UPX的壳,使用UPXShellEx进行脱壳和加壳更方便,直接UI界面。 点击下载:UPX ShellEx v1.10 UPX ShellEx v1.10 :UPX 的外壳程序,与 Windows 外壳的无缝链接,使得所有的操作简单到极点,它也许是您迄今为止见过得最好用的 UPX 外壳程序。 dREAMtHEATER http://dreamtheater.reg365.com/ |
|
[求助]求教各位-->登录器的生成器的原理
这个方法是最常用的,至于其它的方法只看个人的用法了,如还可以将登录器程序转成二进制流直接包含入程序的数组里进行生成操作等其他方法。 |
|
[求助]求教各位-->登录器的生成器的原理
一般的做法是写一个登录器程序,在这个登录器加入读取尾部附加参数数据的能力并加壳。然后再写一个配置器软件,将登录器程序以资源形式打包到配置器软件中,最后,配置器软件只须在用户配置好参数之后将登录器释放到磁盘,并将获取到的相应的参数以一定的格式添加入登录器的尾部作为exe的尾部附加数据供登录器读取配置好的参数进行操作,这就是登录器生成器的原理。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值