dword

CrackMe160 学习笔记 之 049

我的梦境 提交于 2020-02-19 23:13:45
前言 这个题目虽然简单,做起来给人一种眼前一亮的感觉。 Mac终端上0和O挺像的,我一开始还输错了没发现。 思路 首先找到判断的位置。 再一步一步往前分析。 可以看到失败跳转有7处。 分析 00401127 > /6A 00 push 0 ; /lParam = 0 00401129 . |6A 00 push 0 ; |wParam = 0 0040112B . |6A 0E push 0E ; |Message = WM_GETTEXTLENGTH 0040112D . |6A 03 push 3 ; |ControlID = 3 0040112F . |FF75 08 push dword ptr [ebp+8] ; |hWnd 00401132 . |E8 41020000 call <jmp.&USER32.SendDlgItemMessageA>; \SendDlgItemMessageA 00401137 . |A3 AF214000 mov dword ptr [4021AF], eax ; 返回长度到0x4021AF 0040113C . |83F8 00 cmp eax, 0 ; 长度和0比较 0040113F . |0F84 D5000000 je 0040121A 00401145 . |83F8 08 cmp eax, 8 ; 长度和8比较

WinCE平台下BMP转JPG代码备份2

风格不统一 提交于 2020-02-17 14:31:16
1 /********************************************************************************************************* 2 ** Function name: epcCamGetRgbFrame 3 ** Descriptions: 本函数用于获取RGB通道的图像的数据缓存区地址 4 ** input parameters: prAddInfo 存放获取的地址,注意访问该地址的图像数据时候使用SetKMode(TRUE) 5 ** output parameters: 无 6 ** Returned value: TRUE:成功;FALSE:失败 7 *********************************************************************************************************/ 8 9 10 11 12 13 EpcsCam::EpcsCam(void)14 {15 hDLL=LoadLibrary(CString("\\FlashDisk2\\epcCameraLib.dll"));//加载动态链接库MyDll.dll文件;16 17 18 19 }20 21 EpcsCam::~EpcsCam

WinCE平台下BMP转JPG代码备份3

安稳与你 提交于 2020-02-17 14:30:15
1 //带参数的保存位图函数 2 BOOL FileOperate::bmpSaveImage(PTSTR pstrFileName, BITMAPFILEHEADER *pbmfh) 3 { 4 BOOL bSuccess ; 5 DWORD dwBytesWritten ; 6 HANDLE hFile; 7 8 hFile = CreateFile ( pstrFileName, GENERIC_WRITE, 0, NULL, 9 CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL) ; 10 11 if (hFile == INVALID_HANDLE_VALUE) { 12 return FALSE ; 13 } 14 15 bSuccess = WriteFile (hFile, pbmfh, pbmfh->bfSize, &dwBytesWritten, NULL); 16 17 CloseHandle (hFile) ; 18 19 if (!bSuccess || (dwBytesWritten != pbmfh->bfSize)) { 20 DeleteFile (pstrFileName) ; 21 return FALSE ; 22 } 23 return TRUE ; 24 } 25 26 //**************

CrackMe160 学习笔记 之 045

主宰稳场 提交于 2020-02-17 11:46:18
前言 这是个简单的题。不过我不知道他怎么把字符串藏起来的。 思路 定位到点击事件分析。 分析 以后这种简单的题目都不写注册机了。 00421DE4 |. BB 37000000 mov ebx, 37 ; ebx初始化0x37 00421DE9 |. 8D55 F8 lea edx, dword ptr [ebp-8] 00421DEC |. 8B86 B0010000 mov eax, dword ptr [esi+1B0] 00421DF2 |. E8 89FAFEFF call 00411880 ; 获取serial地址保存到ebp-8中 00421DF7 |. 8D55 FC lea edx, dword ptr [ebp-4] 00421DFA |. 8B86 AC010000 mov eax, dword ptr [esi+1AC] 00421E00 |. E8 7BFAFEFF call 00411880 ; 获取key地址保存到ebp-4中 00421E05 |. 8B45 FC mov eax, dword ptr [ebp-4] 00421E08 |. E8 5715FEFF call 00403364 ; 获取name长度 00421E0D |. 83F8 04 cmp eax, 4 00421E10 |. 7D 0C jge short 00421E1E ;

PE 扩大节

大城市里の小女人 提交于 2020-02-17 00:33:17
适用条件:有的时候空白区不够需要进行扩大节 以对最后一个节扩大0x1000为例子: 为什么要扩大最后一个节呢?如果扩大最后的一个节之前的话,那么相对于当前扩大的节后面也会相应的变化,节表中每个节数据的信息都要相对应的纠正,相对比较繁琐! typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; //8个字节名字.自己可以起.编译器也可以给定.不重要. union { DWORD PhysicalAddress; DWORD VirtualSize; //节数据没有对齐后的大小.也就是没有对齐.节数据有多大. } Misc; DWORD VirtualAddress;          //加载到内存中的第一个字节的地址.也就是虚拟地址.节在内存中哪里开始.内存中的VA + ImageBase 才是真正的节开始位置 DWORD SizeOfRawData;           //修改这个属性的值,即可扩大节.并且在PE文件中添加相应的0数据进行填充. DWORD PointerToRawData;         //在文件中的偏移.是文件对齐成员倍数. DWORD PointerToRelocations; //一下都是调试相关. DWORD PointerToLinenumbers; /

《逆向工程核心原理》学习笔记4 PE文件学习——PE头总结

限于喜欢 提交于 2020-02-16 14:38:39
《逆向工程核心原理》学习笔记4 PE文件学习——PE头总结 1.DOS头 typedef struct _IMAGE_DOS_HEADER //DOS头 { WORD e_magic; //DOS signature :4D5A ("MZ",是确定的值, 被称为DOS签名,如果值被改变,程序无法运行) WORD e_cblp; WORD e_cp; WORD e_crlc; WORD e_cparhdr; WORD e_minalloc; WORD e_maxalloc; WORD e_ss; WORD e_sp; WORD e_csum; WORD e_ip; WORD e_cs;NT WORD e_lfarlc; WORD e_ovno; WORD e_res[4]; WORD e_oemid; WORD e_oeminfo; WORD e_res2[10]; WORD e_lfanew; //NT头的偏移,offset to NT header,修改后程序 无法正常运行 } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER; 2.DOS存根 由代码和数据混合而成,在DOS环境下运行,可以用debug.exe运行(window10下用DOSBOX+debug)。 3.NT头 typedef struct _IMAGE_NT_HEADERS //NT头 {

CrackMe001

删除回忆录丶 提交于 2020-02-16 03:26:25
https://www.52pojie.cn/thread-709699-1-1.html 将上面链接中的 160个CrackMe的打包文件 下载下来之后, 打开该 chm , 选择第一个 Acid burn , 下载保存到本地, 然后解压, 运行其中的 exe 程序 0x00 查壳 壳是啥? 为啥要查壳脱壳? 不懂, 先跳过! 程序是使用 delphi 编写的 无壳 0x01 分析程序 首先了解下这个软件运行时的情况,记录下有哪几个需要破解的位置。 程序运行时会弹出一个 NAG窗口 , 标题是 hello you have to kill me ,这个窗口是要去除的 NAG窗口 : 软件未注册或软件的试用版经常会弹出一些提示窗口要求注册,这些窗口被称为 nag窗口 然后点击 确定 后进入程序的主窗口 进去后发现有两个按钮, 根据按钮上的字符串判断应该是需要输入序列号和名称的位置。 首先看下左边那个按钮,点击进去看下情况,发现有两个输入框,分别是输入用户名和序列号,然后点击 Check it Baby ,程序会进行校验,校验失败会弹出下面窗口,提醒你 Try Again!! 可以发现上面这个位置是一个需要破解的点。 然后点击 I give up 按钮返回到程序的主界面,看下右边那个按钮的情况。 点击进去后发现有一个输入框,提醒你输入序列号,然后点击 Check it Baby

EBP寻址

别等时光非礼了梦想. 提交于 2020-02-14 14:42:53
前言:比起ESP寻址的方式,EBP需要去理解下其中的含义,所以记录下! 个人理解: 1、EBP和ESP之间的关系 起初-1 相隔 ----> 在没进CALL之前,会先将调用CALL的参数先压入堆栈,堆栈中EBP寄存器中的地址是在ESP寄存器中的地址之下, 自己理解为相隔 中间-2 相等 ----> 进入CALL之后,EBP寄存器会先把保存的地址先压入堆栈中保存,然后再保存ESP寄存器中的地址,这里就可以理解为ESP不变,将EBP进行提升栈顶的操作 中间-3 相隔 ----> 因为调用了CALL,那么就会进行一系列的运算,那么肯定需要堆栈中的空间,那么ESP地址就会上升 中间-4 相等 ----> 当调用完了之后,当前EBP寄存器保存的就是之前的ESP的地址,现在就会返回给ESP寄存器,堆栈需要保持平衡 末尾-5 相隔 ----> 堆栈到现在还没有完全保持平衡,还需要把EBP的地址返回给EBP寄存器,然后出了CALL之后,还需要指令进行外/内平衡的操作保持真正的堆栈平衡! 汇编体现: 00401000 > 6A 01 push 0x1 ; 压入堆栈0x1 00401002 6A 02 push 0x2 ; 压入堆栈0x2 00401004 E8 3C000000 call CRACKME.00401045 ; 调用call 00401045 00401009 83C4 08 add

管家婆普及版提示您的账套中存在3个以上仓库或3个以上的操作员,不能使用本软件。如果您需要管理3个以上仓库,请升级管家婆辉煌系列软件!

元气小坏坏 提交于 2020-02-11 01:38:28
009C151F . FF51 64 call dword ptr ds:[ecx+0x64] 009C1522 . 8D85 10FDFFFF lea eax,dword ptr ss:[ebp-0x2F0] 009C1528 . E8 3B59A5FF call GraspSin.00416E68 009C152D . 8BF8 mov edi,eax 009C152F . 8BC3 mov eax,ebx 009C1531 . E8 DA14B2FF call GraspSin.004E2A10 009C1536 . 8BC3 mov eax,ebx 009C1538 . E8 4731A4FF call GraspSin.00404684 009C153D . 83FE 03 cmp esi,0x3 009C1540 . 7F 05 jg XGraspSin.009C1547 009C1542 . 83FF 03 cmp edi,0x3 009C1545 . 7E 33 jle XGraspSin.009C157A 009C1547 > 6A 10 push 0x10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL 009C1549 . 68 181E9C00 push GraspSin.009C1E18 ; |错误 009C154E .

永久修改cmd字体、大小、编码

浪子不回头ぞ 提交于 2020-02-11 00:56:14
场景及要求: (win10 1903 专业版) 1、FontSize:修改字体大小为cmd里的17号字(但是感觉比平常的17号字小好多) 2、FaceName:修改字体为Courier New,也可以是Consolas(两个都好看) 3、CodePage:修改编码为utf-8(未修改之前,cmd中文正常显示,但是打开utf-8格式的文本乱码) 具体操作 新建reg后缀文件,双击运行即可,如 cmdexe.reg,文本内容如下: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe] "FontSize"=dword:00110000 "FaceName"="Courier New" "CodePage"=dword:fde9 来源: https://www.cnblogs.com/is-raining/p/12293560.html