Example #1
0
static void clean_call_print_regvalues(){

	uint regvalue;
	dr_mcontext_t mc = { sizeof(mc), DR_MC_ALL };
	void * drcontext = dr_get_current_drcontext();

	dr_get_mcontext(drcontext, &mc);
	dr_printf("---------\n");
	regvalue = reg_get_value(DR_REG_XAX, &mc);
	dr_printf("xax - %x\n", regvalue);
	regvalue = reg_get_value(DR_REG_XBX, &mc);
	dr_printf("xbx - %x\n", regvalue);
	regvalue = reg_get_value(DR_REG_XCX, &mc);
	dr_printf("xcx - %x\n", regvalue);
	regvalue = reg_get_value(DR_REG_XDX, &mc);
	dr_printf("xdx - %x\n", regvalue);

}
/**
 * Retrieves the content of a string registry entry 
 *
 * @param const char *reg_path - Path of key
 * @param const char *keyname  - Name of the subkey
 * @param const char *string   - Buufer to hold string from the registry
 * @param unsigned long length - Size of string buffer provided
 *
 * @return bool - states if string get happened OK
 */
bool reg_get_sz(const char *reg_path, const char *keyname, char *string, unsigned long length)
{
	string[0] = '\0';
	return reg_get_value(
		reg_path,
		keyname, 
		REG_SZ, 
		(void *) string, 
		&length);
}
Example #3
0
File: lich.c Project: mtmiron/lich
static void reg32_setup()
{
	char *tmp;

   if (tmp = reg_get_value(HKEY_LOCAL_MACHINE, "System\\CurrentControlSet\\Services\\Tcpip\\Parameters\\DataBasePath")) {
      rb_gv_set("$hosts_dir", rb_str_new2(tmp));
      free(tmp);
   }
   else if (tmp = reg_get_value(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\DataBasePath")) {
      rb_gv_set("$hosts_dir", rb_str_new2(tmp));
      free(tmp);
   }
   if (tmp = reg_get_value(HKEY_LOCAL_MACHINE, "Software\\Simutronics\\SGE32\\Directory")) {
      rb_hash_aset(rb_gv_get("$LICHCONFIG"), rb_str_new2("SGE Directory"), rb_str_new2(tmp));
      free(tmp);
   }
   if (tmp = reg_get_value(HKEY_LOCAL_MACHINE, "Software\\Simutronics\\Launcher\\Directory")) {
      rb_hash_aset(rb_gv_get("$LICHCONFIG"), rb_str_new2("Launcher Directory"), rb_str_new2(tmp));
      free(tmp);
   }
   if (tmp = reg_get_value(HKEY_LOCAL_MACHINE, "Software\\Simutronics\\WIZ32\\Directory")) {
      rb_hash_aset(rb_gv_get("$LICHCONFIG"), rb_str_new2("Wizard Directory"), rb_str_new2(tmp));
      free(tmp);
 	}
	if (tmp = reg_get_value(HKEY_LOCAL_MACHINE, "Software\\Classes\\Simutronics.Autolaunch\\Shell\\Open\\command\\")) {
		rb_hash_aset(rb_gv_get("$LICHCONFIG"), rb_str_new2("Launcher Shell Command"), rb_str_new2(tmp));
		free(tmp);
	}
	if (tmp = getenv("windir")) {
		rb_hash_aset(rb_gv_get("$LICHCONFIG"), rb_str_new2("Windows Directory"), rb_str_new2(tmp));
		rb_hash_aset(rb_gv_get("$LICHCONFIG"), rb_str_new2("windir"), rb_str_new2(tmp));
	}
}
Example #4
0
void check_opnd(opnd_t opnd, void *pc, int read, void *drcontext,
		dr_mcontext_t *mctx, void *prev_pc)
{
  if (opnd_is_memory_reference(opnd) && opnd_is_base_disp(opnd))
    add_hit(pc, opnd_size_in_bytes(opnd_get_size(opnd)),
	    opnd_get_disp(opnd) + (void *)reg_get_value(opnd_get_base(opnd),
						       mctx),
	    read, drcontext, prev_pc);
  else if (opnd_is_memory_reference(opnd) && opnd_get_addr(opnd))
    add_hit(pc, opnd_size_in_bytes(opnd_get_size(opnd)), opnd_get_addr(opnd),
	    read, drcontext, prev_pc);
  // for now no other kind of memory reference was noticed to access heap data
  else if (opnd_is_memory_reference(opnd))
    dr_printf("need to implem other memory ref\n");
}
Example #5
0
File: ace.cpp Project: KrossX/ACE
void load_settings()
{
	values.main3d = reg_get_value(L"Main3D");
	values.anti_alias = reg_get_value(L"AntiAlias");
	values.anti_alias_samples = reg_get_value(L"AntiAliasSamples");
	values.mlf = reg_get_value(L"MLF");
	values.aaf = reg_get_value(L"AAF");

	values.aniso_degree = reg_get_value(L"AnisoDegree");
	values.texture_lod = reg_get_value(L"TextureLod");
	values.tfq = reg_get_value(L"TFQ");

	values.vsync_control = reg_get_value(L"VSyncControl");
	values.tessellation = reg_get_value(L"Tessellation");
	values.tessellation_option = reg_get_value(L"Tessellation_OPTION");

	values.surface_format_replacements = reg_get_value(L"SurfaceFormatReplacements");
	values.triple_buffering = reg_get_value(L"EnableTripleBuffering");
}
/**
 * Retrieves the value of a value registry entry
 *
 * @param const char *reg_path - Path of key
 * @param const char *keyname  - Name of the subkey
 * @param DWORD *value		   - Value to be retrieved into the registry
 *
 * @return bool - states if value get happened OK
 */
bool reg_get_dword(const char *reg_path, const char *keyname, DWORD *value)
{
	unsigned long size = sizeof(DWORD);
	return reg_get_value(reg_path, keyname, REG_DWORD, value, &size);
}