2013年6月30日

Delphi中API函数动态调用

摘要: procedure TForm1.btn1Click(Sender: TObject);type myMessagebox = function(hWnd:LongWord; lpText, lpCaption: string ; uType: LongWord): Integer; stdcall;var j_h:LongWord; j_x:Pointer; j_mb:myMessagebox;begin j_h := LoadLibrary('user32.dll'); if j_h 0 then begin @j_mb:=GetProcAddre... 阅读全文

posted @ 2013-06-30 12:12 shellcode 阅读(400) 评论(0) 推荐(0)

2013年6月28日

Delphi取SCSi硬盘接口特征字问题

摘要: 硬盘接口有2种.所以昨天把SCSi接口的硬盘特征字取了下,本来在易语言都写好了,在delphi里面取出来为0,折腾了4个多小时,发现Delphi里要提权郁闷 易语言里不用提权都可以,提权有个简单的API,源码如下:function myRtlAdjustPrivilege( hwnd1: Integer; hwnd2: Integer; hwnd3: Integer; var hwnd4: Integer):Integer;stdcall; external 'ntdll.dll' name 'RtlAdjustPrivilege';function Movde 阅读全文

posted @ 2013-06-28 11:27 shellcode 阅读(252) 评论(0) 推荐(0)

2013年6月27日

Delphi取硬盘特征字

摘要: 这2天没更新什么Delphi的博客,原因是F41的笔记本换成用Z500的笔记本上写程序 但是Z500的机器有个问题 F1到F12只有按住FN功能才是F1-F12,所以很不好调试,没办法,自己写了一个改键工具,需要的时候把F1-F9换成1-9. 现在的Delphi的方向是,把自己的常用和有用的函数封装成Delphi一个单元,以后方便调用.这2天封装了一个函数,易语言的取硬盘特征字,关键API是DeviceIoControl CreateFileA CloseHandle部分关键代码如下if j_stOutBuffer.bIDEDeviceMap>0 then begin ... 阅读全文

posted @ 2013-06-27 12:01 shellcode 阅读(1354) 评论(0) 推荐(0)

2013年6月25日

Delphi学习中一点心得

摘要: 最近编写一些硬件获取代码,在编写过程中的一些感悟(1)if for 等每个流程后面都要加begainend;好区别代码作用域 让编译器识别(2)asm汇编要用pushadpopad保护有几率会碰到汇编后改变已得到的变量的值保护后不会发生此问题 阅读全文

posted @ 2013-06-25 09:32 shellcode 阅读(187) 评论(0) 推荐(0)

2013年6月21日

Delphi主窗口里按纽开启另一个窗口(做注册的童鞋可以看看)

摘要: Delphi里的源代码文件为:dpr 为工程文件dfm 为窗体文件pas 为单元文件res 资源文件cfg 配置文件 *可删除dof 为项目选项文件(一般没用)*可删除ddp 文件就是Delphi Diagram Portfolio简写,是用来保存Code Editor中的Diagram信息的 (编译后产生)*可删除duc 文件,编译后的单元文件(编译后产生)*可删除-------------------------------下面是正题了1.首先先打开delphi 新建2个窗口2.project->view source 打开源代码begin Application.Initializ 阅读全文

posted @ 2013-06-21 14:32 shellcode 阅读(688) 评论(0) 推荐(0)

2013年6月20日

Delphi常用函数

摘要: Abort 函数 引起放弃的意外处理 Abs 函数 绝对值函数 AddExitProc 函数 将一过程添加到运行时库的结束过程表中 Addr 函数 返回指定对象的地址 AdjustLineBreaks 函数 将给定字符串的行分隔符调整为CR/LF序列 Align 属性 使控件位于窗口某部分 Alignment 属性 控件标签的文字位置 AllocMem 函数 在堆栈上分配给定大小的块 AllowGrayed 属性 允许一个灰度选择 AnsiCompareStr 函数 比较字符串(区分大小写) AnsiCompareText 函数 比较字符串(不区分大小写) AnsiLowerCase 函数 将 阅读全文

posted @ 2013-06-20 22:33 shellcode 阅读(274) 评论(0) 推荐(0)

2013年6月19日

Delphi的函数及过程且参数返回数据

摘要: function myset(x:Integer;out y:Integer):Integer;stdcall; // 函数begin y:=x+1; Result:=0;end;procedure myset1(x:Integer;out y:Integer);stdcall; //过程begin y:=x+1;end;procedure TForm1.FormCreate(Sender: TObject); var y:Integer;begin myset(1,y); ShowMessage(IntToStr(y))... 阅读全文

posted @ 2013-06-19 22:57 shellcode 阅读(282) 评论(0) 推荐(0)

将4个Byte合成1个Integer (此标题是在万一的博客上看到的 有另一种解法 涉及到内联汇编)

摘要: 将4个Byte合成1个Integer (此标题是在万一的博客上看到的 有另一种解法 涉及到内联汇编算是本博的第一个内联汇编的代码 学习Delphi 就是看到他能内联汇编 很爽procedure TForm1.btn1Click(Sender: TObject);var bs:array of Byte; i:LongWord;begin SetLength(bs, 4); bs[0] := $CC; bs[1] := $DD; bs[2] := $EE; bs[3] := $FF; asm mov eax,bs[0] mov eax,[eax] ... 阅读全文

posted @ 2013-06-19 21:38 shellcode 阅读(304) 评论(0) 推荐(0)

阶段一总结

摘要: 目录1.数据类型2.申明API3.流程4.组件的使用下一步研究方向(1.源码调试方法的整理 2.代码风格的优化(全局变量 局部变量的命令规则) 3.Delphi DLL的写法 4.自用函数的封装5.其他组件的用法(学习Delphi就是学习Delphi组件的用法)) ********************数据类型********************整型integer 有符号整型 长度4字节 -2147483648-2147483647(鄙视很多编译器 什么句柄型 布尔型什么的 按照罗云彬的说法 汇编只有整型句柄就是一个整型数 BOOL型就是一字节的1或者0 把简单的问题搞复杂而已)Car. 阅读全文

posted @ 2013-06-19 14:01 shellcode 阅读(204) 评论(0) 推荐(0)

Delphi程序流程(3)(while)(自己构建结构数组写进程管理器 包含动态结构数组的添加)

摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,TLHelp32, ComCtrls;type TForm1 = class(TForm) btn1: TButton; lv1: TListView; procedure btn1Click(Sender: TObject); private { Private declarations } public { P... 阅读全文

posted @ 2013-06-19 12:18 shellcode 阅读(217) 评论(0) 推荐(0)

导航